diff options
| author | 2011-08-22 17:37:19 -0700 | |
|---|---|---|
| committer | 2011-08-23 16:21:20 -0700 | |
| commit | 3ea4ec5629613013ad9b0d7a69abdb94491ac46f (patch) | |
| tree | 43274b3154f0b2cf58fe1abbe21151652a6bf8fc /src/compiler/codegen/arm/ArmRallocUtil.cc | |
| parent | 5174fe6e4e931c423e910366ff22ce0838567940 (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.cc | 8 |
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; } } |