Lines Matching refs:BaseInst
346 Instruction *BaseInst; member
786 DRS.BaseInst = nullptr; in findRootsBase()
789 if (!DRS.BaseInst) { in findRootsBase()
790 DRS.BaseInst = KV.second; in findRootsBase()
799 DRS.BaseInst = KV.second; in findRootsBase()
842 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(V.BaseInst)); in findRoots()
889 Exclude.insert(DRS.BaseInst); in collectUsedInstructions()
895 collectInLoopUserSet(DRS.BaseInst, Exclude, PossibleRedSet, VBase); in collectUsedInstructions()
929 Exclude.insert(DRS.BaseInst); in collectUsedInstructions()
958 if (DRS.BaseInst == I) in isBaseInst()
1067 Instruction *BaseInst = BaseIt->first; in validate() local
1072 if (isBaseInst(BaseInst)) { in validate()
1073 Visited.insert(BaseInst); in validate()
1085 if (!BaseInst->isSameOperationAs(RootInst)) { in validate()
1099 !BaseInst->isSameOperationAs(TryIt->first) && in validate()
1107 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst << in validate()
1144 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst << in validate()
1155 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst << in validate()
1165 if (FutureSideEffects && ((!isSimpleLoadStore(BaseInst) && in validate()
1166 !isSafeToSpeculativelyExecute(BaseInst)) || in validate()
1169 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst << in validate()
1185 bool InReduction = Reductions.isPairInSame(BaseInst, RootInst); in validate()
1187 if (!(InReduction && BaseInst->isAssociative())) { in validate()
1189 for (unsigned j = 0; j < BaseInst->getNumOperands(); ++j) { in validate()
1206 Op2 = DRS.BaseInst; in validate()
1212 if (BaseInst->getOperand(Swapped ? unsigned(!j) : j) != Op2) { in validate()
1218 if (!Swapped && BaseInst->isCommutative() && !SomeOpMatched && in validate()
1219 BaseInst->getOperand(!j) == Op2) { in validate()
1222 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst in validate()
1232 if ((!PossibleRedLastSet.count(BaseInst) && in validate()
1233 hasUsesOutsideLoop(BaseInst, L)) || in validate()
1236 DEBUG(dbgs() << "LRR: iteration root match failed at " << *BaseInst << in validate()
1241 Reductions.recordPair(BaseInst, RootInst, Iter); in validate()
1242 BaseMap.insert(std::make_pair(RootInst, BaseInst)); in validate()
1245 Visited.insert(BaseInst); in validate()
1282 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace()
1293 KV.first->replaceUsesOfWith(DRS.BaseInst, NewIV); in replace()