diff options
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; } } |