OSDN Git Service

Changed dx register allocator to place more phis and reuse locals.
authorjeffhao <jeffhao@google.com>
Thu, 24 Feb 2011 01:45:51 +0000 (17:45 -0800)
committerjeffhao <jeffhao@google.com>
Thu, 24 Feb 2011 23:12:59 +0000 (15:12 -0800)
commit1acb3f560b45df68d5acdcb2759de1f78ef5da7c
tree350b416f0e28c1d79a06039e7fe9ccc012e0ff8f
parentb47ea10a90d7746dcd413f86a35a26b882f1263c
Changed dx register allocator to place more phis and reuse locals.

This change makes the register allocator try to place all phis earlier,
by using whichever register is most common among its sources and result.

In addition, the code tries much harder to reuse registers originally
reserved for locals if they are no longer live. This leads to fewer
registers in many methods.

Change-Id: I5f69320686184f784384f5cf3a1d9c97e44ec19d
dx/src/com/android/dx/ssa/back/FirstFitLocalCombiningAllocator.java
dx/tests/091-ssa-const-collector/expected.txt