Quick compiler code layout

Minor tweaks to the code layout for the Quick compiler.  Repair
damage caused by bitcode conversion & additionally add a new
optimization pass to move unlikely targets to the end of the code
(flipping branch conditons if necessary).  For now, this will only
be applied to target blocks which do an explicit throw and are
dominated by a block terminated by a conditional branch.  Later,
we might want to generalize this capability to enable profile
guidance.

Also, tweaked the basic block combine pass to include blocks
terminated by array access operations whose null check and
range checks have been eliminated.

With this CL, the run-time performance difference between
art-buzbee and art-Quick is in the noise.

Change-Id: Iaf9921220eb6cb33c2418c76e7a6b7b31472dace
5 files changed
tree: 2509d3e60465288ef7146e2203d7ae9a4c8bc3c3
  1. .gitignore
  2. Android.mk
  3. build/
  4. jdwpspy/
  5. src/
  6. test/
  7. tools/