Home | History | Annotate | Download | only in Utils

Lines Matching refs:I1

538   unsigned i1 = 0, i2 = 0, e1 = V1->size(), e2 = V2->size();
539 while (i1 != e1 && i2 != e2) {
540 if ((*V1)[i1].Value == (*V2)[i2].Value)
542 if ((*V1)[i1].Value < (*V2)[i2].Value)
543 ++i1;
978 Instruction *I1, Instruction *I2) {
985 if (BB1V != BB2V && (BB1V==I1 || BB2V==I2)) {
1008 Instruction *I1 = BB1_Itr++, *I2 = BB2_Itr++;
1010 DbgInfoIntrinsic *DBI1 = dyn_cast<DbgInfoIntrinsic>(I1);
1013 while (isa<DbgInfoIntrinsic>(I1))
1014 I1 = BB1_Itr++;
1018 if (isa<PHINode>(I1) || !I1->isIdenticalToWhenDefined(I2) ||
1019 (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2)))
1028 if (isa<TerminatorInst>(I1))
1034 BIParent->getInstList().splice(BI, BB1->getInstList(), I1);
1036 I2->replaceAllUsesWith(I1);
1037 I1->intersectOptionalDataWith(I2);
1041 I1 = BB1_Itr++;
1044 DbgInfoIntrinsic *DBI1 = dyn_cast<DbgInfoIntrinsic>(I1);
1047 while (isa<DbgInfoIntrinsic>(I1))
1048 I1 = BB1_Itr++;
1052 } while (I1->isIdenticalToWhenDefined(I2));
1058 if (isa<InvokeInst>(I1) && !isSafeToHoistInvoke(BB1, BB2, I1, I2))
1078 Instruction *NT = I1->clone();
1081 I1->replaceAllUsesWith(NT);
1083 NT->takeName(I1);
1191 Instruction *I1 = &*RI1, *I2 = &*RI2;
1192 // I1 and I2 should have a single use in the same PHI node, and they
1195 if (isa<PHINode>(I1) || isa<PHINode>(I2) ||
1196 isa<TerminatorInst>(I1) || isa<TerminatorInst>(I2) ||
1197 isa<LandingPadInst>(I1) || isa<LandingPadInst>(I2) ||
1198 isa<AllocaInst>(I1) || isa<AllocaInst>(I2) ||
1199 I1->mayHaveSideEffects() || I2->mayHaveSideEffects() ||
1200 I1->mayReadOrWriteMemory() || I2->mayReadOrWriteMemory() ||
1201 !I1->hasOneUse() || !I2->hasOneUse() ||
1202 MapValueFromBB1ToBB2.find(I1) == MapValueFromBB1ToBB2.end() ||
1203 MapValueFromBB1ToBB2[I1].first != I2)
1207 ICmpInst *ICmp1 = dyn_cast<ICmpInst>(I1), *ICmp2 = dyn_cast<ICmpInst>(I2);
1217 if (!I1->isSameOperationAs(I2)) {
1228 for (unsigned I = 0, E = I1->getNumOperands(); I != E; ++I) {
1229 if (I1->getOperand(I) == I2->getOperand(I))
1235 I1->getOperand(I)) !=
1237 isa<Constant>(I1->getOperand(I)) ||
1244 DifferentOp1 = I1->getOperand(I);
1250 // remove (I1, I2) from MapValueFromBB1ToBB2.
1256 // I1 should use NewPN instead of DifferentOp1.
1257 I1->setOperand(Op1Idx, NewPN);
1262 PHINode *OldPN = MapValueFromBB1ToBB2[I1].second;
1263 MapValueFromBB1ToBB2.erase(I1);
1265 DEBUG(dbgs() << "SINK common instructions " << *I1 << "\n";);
1269 bool UpdateRE1 = (I1 == BB1->begin()), UpdateRE2 = (I2 == BB2->begin());
1271 BBEnd->getInstList().splice(FirstNonPhiInBBEnd, BB1->getInstList(), I1);
1273 OldPN->replaceAllUsesWith(I1);
1277 I2->replaceAllUsesWith(I1);
1278 I1->intersectOptionalDataWith(I2);
1285 FirstNonPhiInBBEnd = I1;
1301 /// br i1 %cmp, label %EndBB, label %ThenBB
1312 /// %add.add5 = select i1 %cmp, i32 %add, %add5
1370 /// br i1 %cmp, label %EndBB, label %ThenBB
1384 /// %cond = select i1 %cmp, 0, %sub
1737 // Don't fold i1 branches on PHIs which contain binary operators. These can
2158 // PBI: br i1 %x, BB, FalseDest
2159 // BI: br i1 %y, TrueDest, FalseDest
2174 // PBI: br i1 %x, TrueDest, BB
2175 // BI: br i1 %y, TrueDest, FalseDest
2596 /// ... = phi i1 [ true, %entry ], [ %tmp, %DEFAULT ], [ true, %entry ]