summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/ArmRallocUtil.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-08-22 17:37:19 -0700
committer buzbee <buzbee@google.com> 2011-08-23 16:21:20 -0700
commit3ea4ec5629613013ad9b0d7a69abdb94491ac46f (patch)
tree43274b3154f0b2cf58fe1abbe21151652a6bf8fc /src/compiler/codegen/arm/ArmRallocUtil.cc
parent5174fe6e4e931c423e910366ff22ce0838567940 (diff)
Misc fixes, new compiler unit tests
Fixed disassembly logging, miscellaneous codegen bugs and added a set of unit tests (most of which fail because array allocation isn't quite there yet in the codegen). Failing tests conditionally compiled out for now. Change-Id: I39c148f9a7686fac21c844a7a7f5ec86d4e0e1c5
Diffstat (limited to 'src/compiler/codegen/arm/ArmRallocUtil.cc')
-rw-r--r--src/compiler/codegen/arm/ArmRallocUtil.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/codegen/arm/ArmRallocUtil.cc b/src/compiler/codegen/arm/ArmRallocUtil.cc
index 0a0c9bc458..400fff6bb3 100644
--- a/src/compiler/codegen/arm/ArmRallocUtil.cc
+++ b/src/compiler/codegen/arm/ArmRallocUtil.cc
@@ -60,12 +60,16 @@ static void countRefs(CompilationUnit *cUnit, BasicBlock* bb,
sReg = DECODE_REG(
oatConvertSSARegToDalvik(cUnit, ssaRep->defs[0]));
counts[sReg].doubleStart = true;
+ }
+ if (attrs & DF_DA_WIDE) {
cUnit->regLocation[ssaRep->defs[0]].wide = true;
}
if ((attrs & (DF_UA_WIDE|DF_FP_A)) == (DF_UA_WIDE|DF_FP_A)) {
sReg = DECODE_REG(
oatConvertSSARegToDalvik(cUnit, ssaRep->uses[first]));
counts[sReg].doubleStart = true;
+ }
+ if (attrs & DF_UA_WIDE) {
cUnit->regLocation[ssaRep->uses[first]].wide = true;
first += 2;
}
@@ -73,6 +77,8 @@ static void countRefs(CompilationUnit *cUnit, BasicBlock* bb,
sReg = DECODE_REG(
oatConvertSSARegToDalvik(cUnit, ssaRep->uses[first]));
counts[sReg].doubleStart = true;
+ }
+ if (attrs & DF_UB_WIDE) {
cUnit->regLocation[ssaRep->uses[first]].wide = true;
first += 2;
}
@@ -80,6 +86,8 @@ static void countRefs(CompilationUnit *cUnit, BasicBlock* bb,
sReg = DECODE_REG(
oatConvertSSARegToDalvik(cUnit, ssaRep->uses[first]));
counts[sReg].doubleStart = true;
+ }
+ if (attrs & DF_UC_WIDE) {
cUnit->regLocation[ssaRep->uses[first]].wide = true;
}
}