Lines Matching defs:mir

922                                   const MIR *mir)
926 const DecodedInstruction *insn = &mir->dalvikInsn;
937 getSSAName(cUnit, mir->ssaRep->defs[0], operand0),
938 getSSAName(cUnit, mir->ssaRep->uses[0], operand1));
940 for (i = 1; i < mir->ssaRep->numUses; i++) {
942 getSSAName(cUnit, mir->ssaRep->uses[i], operand0));
962 getSSAName(cUnit, mir->ssaRep->uses[0], operand0));
967 getSSAName(cUnit, mir->ssaRep->uses[0], operand0),
968 getSSAName(cUnit, mir->ssaRep->uses[1], operand1));
982 mir->offset + delta);
988 getSSAName(cUnit, mir->ssaRep->uses[i], operand0));
992 if (mir->ssaRep->numDefs) {
994 for (udIdx = 0; udIdx < mir->ssaRep->numDefs; udIdx++) {
996 getSSAName(cUnit, mir->ssaRep->defs[udIdx], operand0));
1000 if (mir->ssaRep->numUses) {
1003 getSSAName(cUnit, mir->ssaRep->uses[0], operand0));
1004 for (udIdx = 1; udIdx < mir->ssaRep->numUses; udIdx++) {
1006 getSSAName(cUnit, mir->ssaRep->uses[udIdx], operand0));
1110 MIR *mir;
1122 for (mir = bb->firstMIRInsn; mir; mir = mir->next) {
1124 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode];
1125 DecodedInstruction *dInsn = &mir->dalvikInsn;
1185 static void dataFlowSSAFormat35C(CompilationUnit *cUnit, MIR *mir)
1187 DecodedInstruction *dInsn = &mir->dalvikInsn;
1191 mir->ssaRep->numUses = numUses;
1192 mir->ssaRep->uses = (int *)dvmCompilerNew(sizeof(int) * numUses, false);
1195 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->arg[i], i);
1200 static void dataFlowSSAFormat3RC(CompilationUnit *cUnit, MIR *mir)
1202 DecodedInstruction *dInsn = &mir->dalvikInsn;
1206 mir->ssaRep->numUses = numUses;
1207 mir->ssaRep->uses = (int *)dvmCompilerNew(sizeof(int) * numUses, false);
1210 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC+i, i);
1217 MIR *mir;
1221 for (mir = bb->firstMIRInsn; mir; mir = mir->next) {
1222 mir->ssaRep = (struct SSARepresentation *)
1226 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode];
1231 dataFlowSSAFormat35C(cUnit, mir);
1236 dataFlowSSAFormat3RC(cUnit, mir);
1259 mir->ssaRep->numUses = numUses;
1260 mir->ssaRep->uses = (int *)dvmCompilerNew(sizeof(int) * numUses,
1262 mir->ssaRep->fpUse = (bool *)dvmCompilerNew(sizeof(bool) * numUses,
1276 mir->ssaRep->numDefs = numDefs;
1277 mir->ssaRep->defs = (int *)dvmCompilerNew(sizeof(int) * numDefs,
1279 mir->ssaRep->fpDef = (bool *)dvmCompilerNew(sizeof(bool) * numDefs,
1283 DecodedInstruction *dInsn = &mir->dalvikInsn;
1288 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1289 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA, numUses++);
1291 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1292 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA, numUses++);
1293 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_A;
1294 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vA+1, numUses++);
1297 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1298 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB, numUses++);
1300 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1301 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB, numUses++);
1302 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_B;
1303 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vB+1, numUses++);
1306 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1307 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC, numUses++);
1309 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1310 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC, numUses++);
1311 mir->ssaRep->fpUse[numUses] = dfAttributes & DF_FP_C;
1312 handleSSAUse(cUnit, mir->ssaRep->uses, dInsn->vC+1, numUses++);
1316 mir->ssaRep->fpDef[0] = dfAttributes & DF_FP_A;
1317 handleSSADef(cUnit, mir->ssaRep->defs, dInsn->vA, 0);
1319 mir->ssaRep->fpDef[1] = dfAttributes & DF_FP_A;
1320 handleSSADef(cUnit, mir->ssaRep->defs, dInsn->vA+1, 1);
1348 MIR *mir;
1351 for (mir = bb->firstMIRInsn; mir; mir = mir->next) {
1353 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode];
1355 DecodedInstruction *dInsn = &mir->dalvikInsn;
1366 setConstant(cUnit, mir->ssaRep->defs[0], dInsn->vB);
1369 setConstant(cUnit, mir->ssaRep->defs[0],
1379 setConstant(cUnit, mir->ssaRep->defs[0], dInsn->vB);
1380 setConstant(cUnit, mir->ssaRep->defs[1], 0);
1383 setConstant(cUnit, mir->ssaRep->defs[0],
1385 setConstant(cUnit, mir->ssaRep->defs[1],
1389 setConstant(cUnit, mir->ssaRep->defs[0], 0);
1390 setConstant(cUnit, mir->ssaRep->defs[1],
1401 for (i = 0; i < mir->ssaRep->numUses; i++) {
1402 if (!dvmIsBitSet(isConstantV, mir->ssaRep->uses[i])) break;
1405 if (i == mir->ssaRep->numUses) {
1406 setConstant(cUnit, mir->ssaRep->defs[0],
1407 cUnit->constantValues[mir->ssaRep->uses[0]]);
1409 setConstant(cUnit, mir->ssaRep->defs[1],
1410 cUnit->constantValues[mir->ssaRep->uses[1]]);
1425 MIR *mir;
1438 for (mir = bb->firstMIRInsn; mir; mir = mir->next) {
1440 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode];
1454 if (phi->ssaRep->defs[0] == mir->ssaRep->uses[0] &&
1455 phi->ssaRep->uses[1] == mir->ssaRep->defs[0]) {
1459 switch (mir->dalvikInsn.opcode) {
1462 mir->ssaRep->uses[1])) {
1464 cUnit->constantValues[mir->ssaRep->uses[1]];
1470 mir->ssaRep->uses[1])) {
1472 -cUnit->constantValues[mir->ssaRep->uses[1]];
1477 deltaValue = mir->dalvikInsn.vC;
1484 dvmSetBit(isIndVarV, mir->ssaRep->uses[0]);
1489 ivInfo->ssaReg = mir->ssaRep->uses[0];
1490 ivInfo->basicSSAReg = mir->ssaRep->uses[0];
1503 for (mir = bb->firstMIRInsn; mir; mir = mir->next) {
1505 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode];
1510 if (dvmIsBitSet(isIndVarV, mir->ssaRep->defs[0])) continue;
1517 if (dvmIsBitSet(isIndVarV, mir->ssaRep->uses[0])) {
1519 mir->ssaRep->uses[0]);
1521 mir->ssaRep->defs[0]);
1526 switch (mir->dalvikInsn.opcode) {
1529 mir->ssaRep->uses[1])) {
1530 c = cUnit->constantValues[mir->ssaRep->uses[1]];
1536 mir->ssaRep->uses[1])) {
1537 c = -cUnit->constantValues[mir->ssaRep->uses[1]];
1542 c = mir->dalvikInsn.vC;
1551 cUnit->loopAnalysis->ssaBIV = mir->ssaRep->defs[0];
1557 dvmSetBit(isIndVarV, mir->ssaRep->defs[0]);
1565 if (ivInfoOld->ssaReg == mir->ssaRep->uses[0]) break;
1571 ivInfo->ssaReg = mir->ssaRep->defs[0];