diff options
| author | Bill Buzbee <buzbee@google.com> | 2009-08-27 13:58:09 -0700 |
|---|---|---|
| committer | Bill Buzbee <buzbee@google.com> | 2009-08-28 10:21:47 -0700 |
| commit | a4a7f0708e75eefae8cf9fff3f9e15699f7881be (patch) | |
| tree | 3ed197140e5e5efc6203ca9555fed27683081d1f /vm/compiler/codegen/arm/LocalOptimizations.c | |
| parent | 06566d20700820a62c8793858e359ed643ab7b1e (diff) | |
Improved codegen for inline, continuing codegen restructuring
Added support for Thumb2 IT. Moved compare-long and floating point
comparisons inline. Temporarily disabled use of Thumb2 CBZ & CBNZ
because they were causing too many out-of-range assembly restarts.
Bug fix for LIR3 assert.
Diffstat (limited to 'vm/compiler/codegen/arm/LocalOptimizations.c')
| -rw-r--r-- | vm/compiler/codegen/arm/LocalOptimizations.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/LocalOptimizations.c b/vm/compiler/codegen/arm/LocalOptimizations.c index 5f24b4ca5..6f00b9e4c 100644 --- a/vm/compiler/codegen/arm/LocalOptimizations.c +++ b/vm/compiler/codegen/arm/LocalOptimizations.c @@ -139,6 +139,9 @@ static void applyLoadStoreElimination(CompilationUnit *cUnit, checkLIR->opCode == THUMB2_VLDRD || checkLIR->opCode == THUMB2_VSTRD; + /* Don't migrate into an IF region */ + stopHere |= checkLIR->opCode == THUMB2_IT; + if (!isPseudoOpCode(checkLIR->opCode)) { /* Store data is clobbered */ |
