Lines Matching defs:MSSAU

179                   MemorySSAUpdater &MSSAU, ScalarEvolution *SE,
183 MemorySSAUpdater &MSSAU, OptimizationRemarkEmitter *ORE);
198 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
202 const LoopSafetyInfo *SafetyInfo, MemorySSAUpdater &MSSAU);
205 MemorySSAUpdater &MSSAU);
209 MemorySSAUpdater &MSSAU, ScalarEvolution *SE);
443 MemorySSAUpdater MSSAU(MSSA);
467 TLI, TTI, L, MSSAU, &SafetyInfo, Flags, ORE)
469 MSSAU, &SafetyInfo, Flags, ORE);
473 MSSAU, SE, &SafetyInfo, Flags, ORE, LoopNestMode,
516 DT, AC, TLI, TTI, L, MSSAU, &SafetyInfo, ORE,
558 MemorySSAUpdater &MSSAU, ICFLoopSafetyInfo *SafetyInfo,
589 eraseInstruction(I, *SafetyInfo, MSSAU);
605 canSinkOrHoistInst(I, AA, DT, CurLoop, MSSAU, true, Flags, ORE)) {
606 if (sink(I, LI, DT, CurLoop, SafetyInfo, MSSAU, ORE)) {
610 eraseInstruction(I, *SafetyInfo, MSSAU);
618 MSSAU.getMemorySSA()->verifyMemorySSA();
625 MemorySSAUpdater &MSSAU,
637 MSSAU, SafetyInfo, Flags, ORE, CurLoop);
656 MemorySSAUpdater &MSSAU;
668 MemorySSAUpdater &MSSAU)
669 : LI(LI), DT(DT), CurLoop(CurLoop), MSSAU(MSSAU) {}
844 MSSAU.wireOldPredecessorsToNewImmediatePredecessor(
878 MemorySSAUpdater &MSSAU, ScalarEvolution *SE,
888 ControlFlowHoister CFH(LI, DT, CurLoop, MSSAU);
916 canSinkOrHoistInst(I, AA, DT, CurLoop, MSSAU, true, Flags, ORE) &&
921 MSSAU, SE, ORE);
946 eraseInstruction(I, *SafetyInfo, MSSAU);
949 SafetyInfo, MSSAU, SE, ORE);
968 MSSAU, SE, ORE);
982 MSSAU, SE, ORE);
991 if (hoistArithmetics(I, *CurLoop, *SafetyInfo, MSSAU, AC, DT)) {
1026 moveInstructionBefore(*I, HoistPoint->getIterator(), *SafetyInfo, MSSAU,
1034 MSSAU.getMemorySSA()->verifyMemorySSA();
1122 bool isReadOnly(const MemorySSAUpdater &MSSAU, const Loop *L) {
1124 if (MSSAU.getMemorySSA()->getBlockDefs(BB))
1131 const MemorySSAUpdater &MSSAU) {
1133 if (auto *Accs = MSSAU.getMemorySSA()->getBlockAccesses(BB)) {
1162 Loop *CurLoop, MemorySSAUpdater &MSSAU,
1170 MemorySSA *MSSA = MSSAU.getMemorySSA();
1258 if (isReadOnly(MSSAU, CurLoop))
1269 return isOnlyMemoryAccess(FI, CurLoop, MSSAU);
1279 if (isOnlyMemoryAccess(SI, CurLoop, MSSAU))
1429 const LoopSafetyInfo *SafetyInfo, MemorySSAUpdater &MSSAU) {
1466 if (MSSAU.getMemorySSA()->getMemoryAccess(&I)) {
1470 MemoryAccess *NewMemAcc = MSSAU.createMemoryAccessInBB(
1475 MSSAU.insertDef(MemDef, /*RenameUses=*/true);
1478 MSSAU.insertUse(MemUse, /*RenameUses=*/true);
1505 MemorySSAUpdater &MSSAU) {
1506 MSSAU.removeMemoryAccess(&I);
1513 MemorySSAUpdater &MSSAU,
1519 MSSAU.getMemorySSA()->getMemoryAccess(&I)))
1520 MSSAU.moveToPlace(OldMemAcc, Dest->getParent(),
1530 MemorySSAUpdater &MSSAU) {
1540 *I, *ExitBlock, *TPN, LI, SafetyInfo, MSSAU);
1565 MemorySSAUpdater *MSSAU) {
1616 ExitBB, PredBB, ".split.loop.exit", &DTU, LI, MSSAU, true);
1637 MemorySSAUpdater &MSSAU, OptimizationRemarkEmitter *ORE) {
1680 splitPredecessorsOfLoopExit(PN, DT, LI, CurLoop, SafetyInfo, &MSSAU);
1729 PN, &I, LI, SunkCopies, SafetyInfo, CurLoop, MSSAU);
1733 eraseInstruction(*PN, *SafetyInfo, MSSAU);
1744 MemorySSAUpdater &MSSAU, ScalarEvolution *SE,
1770 moveInstructionBefore(I, Dest->getFirstNonPHIIt(), *SafetyInfo, MSSAU, SE);
1774 MSSAU, SE);
1821 MemorySSAUpdater &MSSAU;
1854 MemorySSAUpdater &MSSAU, LoopInfo &li, DebugLoc dl,
1858 LoopInsertPts(LIP), MSSAInsertPts(MSSAIP), PredCache(PIC), MSSAU(MSSAU),
1902 NewMemAcc = MSSAU.createMemoryAccessInBB(
1906 MSSAU.createMemoryAccessAfter(NewSI, nullptr, MSSAInsertPoint);
1909 MSSAU.insertDef(cast<MemoryDef>(NewMemAcc), true);
1921 MSSAU.removeMemoryAccess(I);
1977 MemorySSAUpdater &MSSAU, ICFLoopSafetyInfo *SafetyInfo,
2242 MSSAInsertPts, PIC, MSSAU, *LI, DL, Alignment,
2261 MemoryAccess *PreheaderLoadMemoryAccess = MSSAU.createMemoryAccessInBB(
2264 MSSAU.insertUse(NewMemUse, /*RenameUses=*/true);
2271 MSSAU.getMemorySSA()->verifyMemorySSA();
2277 MSSAU.getMemorySSA()->verifyMemorySSA();
2280 eraseInstruction(*PreheaderLoad, *SafetyInfo, MSSAU);
2423 MemorySSAUpdater &MSSAU) {
2491 eraseInstruction(I, SafetyInfo, MSSAU);
2492 eraseInstruction(*cast<Instruction>(Cond1), SafetyInfo, MSSAU);
2493 eraseInstruction(*cast<Instruction>(Cond2), SafetyInfo, MSSAU);
2500 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
2543 eraseInstruction(*GEP, SafetyInfo, MSSAU);
2544 eraseInstruction(*Src, SafetyInfo, MSSAU);
2552 ICFLoopSafetyInfo &SafetyInfo, MemorySSAUpdater &MSSAU,
2598 eraseInstruction(cast<Instruction>(*VariantLHS), SafetyInfo, MSSAU);
2607 ICFLoopSafetyInfo &SafetyInfo, MemorySSAUpdater &MSSAU,
2676 eraseInstruction(cast<Instruction>(*VariantLHS), SafetyInfo, MSSAU);
2682 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
2702 if (hoistAdd(Pred, LHS, RHS, cast<ICmpInst>(I), L, SafetyInfo, MSSAU, AC, DT))
2705 if (hoistSub(Pred, LHS, RHS, cast<ICmpInst>(I), L, SafetyInfo, MSSAU, AC, DT))
2728 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
2810 eraseInstruction(*Ins, SafetyInfo, MSSAU);
2814 eraseInstruction(I, SafetyInfo, MSSAU);
2830 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
2879 eraseInstruction(*BO, SafetyInfo, MSSAU);
2884 eraseInstruction(*BO0, SafetyInfo, MSSAU);
2891 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
2896 if (hoistMinMax(I, L, SafetyInfo, MSSAU)) {
2903 if (hoistGEP(I, L, SafetyInfo, MSSAU, AC, DT)) {
2910 if (hoistAddSub(I, L, SafetyInfo, MSSAU, AC, DT)) {
2917 if (hoistMulAddAssociation(I, L, SafetyInfo, MSSAU, AC, DT)) {
2926 if (hoistBOAssociation(I, L, SafetyInfo, MSSAU, AC, DT)) {