Lines Matching refs:BaseI
1085 if (auto *BaseI = dyn_cast<Instruction>(Base)) {
1086 NewInsts.insert(BaseI);
1087 Worklist.insert(BaseI);
1090 auto ReplaceBaseInstWith = [&](Value *BDV, Instruction *BaseI,
1093 for (User *U : BaseI->users())
1095 if (NewInsts.count(UI) && UI != BaseI)
1098 NewInsts.erase(BaseI);
1099 ReverseMap.erase(BaseI);
1100 BaseI->replaceAllUsesWith(Replacement);
1102 assert(States[BDV].isConflict() && States[BDV].getBase() == BaseI);
1104 BaseI->eraseFromParent();
1108 Instruction *BaseI = Worklist.pop_back_val();
1109 assert(NewInsts.count(BaseI));
1110 Value *Bdv = ReverseMap[BaseI];
1112 if (BaseI->isIdenticalTo(BdvI)) {
1113 DEBUG(dbgs() << "Identical Base: " << *BaseI << "\n");
1114 ReplaceBaseInstWith(Bdv, BaseI, Bdv);
1117 if (Value *V = SimplifyInstruction(BaseI, DL)) {
1118 DEBUG(dbgs() << "Base " << *BaseI << " simplified to " << *V << "\n");
1119 ReplaceBaseInstWith(Bdv, BaseI, V);