Home | History | Annotate | Download | only in compiler

Lines Matching refs:loopAnalysis

43     GrowableList *ivList = cUnit->loopAnalysis->ivList;
72 LoopAnalysis *loopAnalysis = cUnit->loopAnalysis;
75 for (i = 0; i < loopAnalysis->arrayAccessInfo->numUsed; i++) {
77 GET_ELEM_N(loopAnalysis->arrayAccessInfo,
86 ALOGE(" endReg %d", loopAnalysis->endConditionReg);
89 ALOGE(" opcode %d", loopAnalysis->loopBranchOpcode);
174 LoopAnalysis *loopAnalysis = cUnit->loopAnalysis;
176 if (loopAnalysis->numBasicIV != 1) return false;
177 for (i = 0; i < loopAnalysis->ivList->numUsed; i++) {
180 ivInfo = GET_ELEM_N(loopAnalysis->ivList, InductionVariableInfo*, i);
187 loopAnalysis->isCountUpLoop = ivInfo->inc > 0;
219 if (branch->ssaRep->uses[0] == loopAnalysis->ssaBIV) {
221 } else if (branch->ssaRep->uses[1] == loopAnalysis->ssaBIV) {
241 if (branch->ssaRep->uses[0] == loopAnalysis->ssaBIV) {
256 if (loopAnalysis->isCountUpLoop) {
268 loopAnalysis->endConditionReg = DECODE_REG(endDalvikReg);
277 loopAnalysis->endConditionReg = DECODE_REG(endDalvikReg);
290 loopAnalysis->loopBranchOpcode = opcode;
303 LoopAnalysis *loopAnalysis = cUnit->loopAnalysis;
306 for (i = 0; i < loopAnalysis->ivList->numUsed; i++) {
307 ivInfo = GET_ELEM_N(loopAnalysis->ivList, InductionVariableInfo*, i);
310 for (j = 0; j < loopAnalysis->arrayAccessInfo->numUsed; j++) {
312 GET_ELEM_N(loopAnalysis->arrayAccessInfo,
334 dvmInsertGrowableList(loopAnalysis->arrayAccessInfo,
416 if (dvmIsBitSet(cUnit->loopAnalysis->isIndVarV,
433 LoopAnalysis *loopAnalysis = cUnit->loopAnalysis;
439 for (i = 0; i < loopAnalysis->arrayAccessInfo->numUsed; i++) {
441 GET_ELEM_N(loopAnalysis->arrayAccessInfo,
449 rangeCheckMIR->dalvikInsn.opcode = (loopAnalysis->isCountUpLoop) ?
453 rangeCheckMIR->dalvikInsn.vC = loopAnalysis->endConditionReg;
456 rangeCheckMIR->dalvikInsn.arg[2] = loopAnalysis->loopBranchOpcode;
466 if (loopAnalysis->arrayAccessInfo->numUsed != 0) {
467 loopAnalysis->isCountUpLoop) {
474 if (loopAnalysis->loopBranchOpcode == OP_IF_LT ||
475 loopAnalysis->loopBranchOpcode == OP_IF_LE) {
478 boundCheckMIR->dalvikInsn.vA = loopAnalysis->endConditionReg;
486 if (loopAnalysis->loopBranchOpcode == OP_IF_LE) {
490 } else if (loopAnalysis->loopBranchOpcode == OP_IF_LTZ) {
498 } else if (loopAnalysis->loopBranchOpcode == OP_IF_LEZ) {
676 LoopAnalysis *loopAnalysis =
677 (LoopAnalysis *)dvmCompilerNew(sizeof(LoopAnalysis), true);
678 cUnit->loopAnalysis = loopAnalysis;
692 loopAnalysis->ivList =
694 dvmInitGrowableList(loopAnalysis->ivList, 4);
695 loopAnalysis->isIndVarV = dvmCompilerAllocBitVector(cUnit->numSSARegs, false);
706 loopAnalysis->arrayAccessInfo =
708 dvmInitGrowableList(loopAnalysis->arrayAccessInfo, 4);
709 loopAnalysis->bodyIsClean = doLoopBodyCodeMotion(cUnit);