Lines Matching refs:ssaRep
874 char *dvmCompilerGetSSAString(CompilationUnit *cUnit, SSARepresentation *ssaRep)
881 for (i = 0; i < ssaRep->numDefs; i++) {
882 int ssa2DalvikValue = dvmConvertSSARegToDalvik(cUnit, ssaRep->defs[i]);
885 ssaRep->defs[i], DECODE_REG(ssa2DalvikValue),
889 if (ssaRep->numDefs) {
893 for (i = 0; i < ssaRep->numUses; i++) {
894 int ssa2DalvikValue = dvmConvertSSARegToDalvik(cUnit, ssaRep->uses[i]);
898 ssaRep->uses[i], DECODE_REG(ssa2DalvikValue),
1016 mir->ssaRep->numUses = numUses;
1017 mir->ssaRep->uses = dvmCompilerNew(sizeof(int) * numUses, false);
1020 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->arg[i], i);
1031 mir->ssaRep->numUses = numUses;
1032 mir->ssaRep->uses = dvmCompilerNew(sizeof(int) * numUses, false);
1035 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC+i, i);
1049 mir->ssaRep = dvmCompilerNew(sizeof(SSARepresentation), true);
1085 mir->ssaRep->numUses = numUses;
1086 mir->ssaRep->uses = dvmCompilerNew(sizeof(int) * numUses, false);
1087 mir->ssaRep->fpUse = dvmCompilerNew(sizeof(bool) * numUses, false);
1100 mir->ssaRep->numDefs = numDefs;
1101 mir->ssaRep->defs = dvmCompilerNew(sizeof(int) * numDefs, false);
1102 mir->ssaRep->fpDef = dvmCompilerNew(sizeof(bool) * numDefs, false);
1110 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1111 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA, numUses++);
1113 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1114 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA, numUses++);
1115 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1116 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA+1, numUses++);
1119 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1120 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB, numUses++);
1122 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1123 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB, numUses++);
1124 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1125 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB+1, numUses++);
1128 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1129 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC, numUses++);
1131 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1132 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC, numUses++);
1133 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1134 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC+1, numUses++);
1138 mir->ssaRep->fpDef[0] = dfAttributes & DF_FP_A;
1139 handleSSADef(cUnit, mir->ssaRep->defs, dInsn->vA, 0);
1141 mir->ssaRep->fpDef[1] = dfAttributes & DF_FP_A;
1142 handleSSADef(cUnit, mir->ssaRep->defs, dInsn->vA+1, 1);
1184 setConstant(cUnit, mir->ssaRep->defs[0], dInsn->vB);
1187 setConstant(cUnit, mir->ssaRep->defs[0],
1197 setConstant(cUnit, mir->ssaRep->defs[0], dInsn->vB);
1198 setConstant(cUnit, mir->ssaRep->defs[1], 0);
1201 setConstant(cUnit, mir->ssaRep->defs[0],
1203 setConstant(cUnit, mir->ssaRep->defs[1],
1207 setConstant(cUnit, mir->ssaRep->defs[0], 0);
1208 setConstant(cUnit, mir->ssaRep->defs[1],
1219 for (i = 0; i < mir->ssaRep->numUses; i++) {
1220 if (!dvmIsBitSet(isConstantV, mir->ssaRep->uses[i])) break;
1223 if (i == mir->ssaRep->numUses) {
1224 setConstant(cUnit, mir->ssaRep->defs[0],
1225 cUnit->constantValues[mir->ssaRep->uses[0]]);
1227 setConstant(cUnit, mir->ssaRep->defs[1],
1228 ssaRep->uses[1]]);
1272 if (phi->ssaRep->defs[0] == mir->ssaRep->uses[0] &&
1273 phi->ssaRep->uses[1] == mir->ssaRep->defs[0]) {
1280 mir->ssaRep->uses[1])) {
1282 cUnit->constantValues[mir->ssaRep->uses[1]];
1288 mir->ssaRep->uses[1])) {
1290 -cUnit->constantValues[mir->ssaRep->uses[1]];
1302 dvmSetBit(isIndVarV, mir->ssaRep->uses[0]);
1307 ivInfo->ssaReg = mir->ssaRep->uses[0];
1308 ivInfo->basicSSAReg = mir->ssaRep->uses[0];
1328 if (dvmIsBitSet(isIndVarV, mir->ssaRep->defs[0])) continue;
1335 if (dvmIsBitSet(isIndVarV, mir->ssaRep->uses[0])) {
1337 mir->ssaRep->uses[0]);
1339 mir->ssaRep->defs[0]);
1347 mir->ssaRep->uses[1])) {
1348 c = cUnit->constantValues[mir->ssaRep->uses[1]];
1354 mir->ssaRep->uses[1])) {
1355 c = -cUnit->constantValues[mir->ssaRep->uses[1]];
1369 cUnit->loopAnalysis->ssaBIV = mir->ssaRep->defs[0];
1375 dvmSetBit(isIndVarV, mir->ssaRep->defs[0]);
1383 if (ivInfoOld->ssaReg == mir->ssaRep->uses[0]) break;
1389 ivInfo->ssaReg = mir->ssaRep->defs[0];