Lines Matching refs:MSSAU

177                   MemorySSAUpdater &MSSAU, ScalarEvolution *SE,
181 MemorySSAUpdater &MSSAU, OptimizationRemarkEmitter *ORE);
196 MemorySSAUpdater &MSSAU, AssumptionCache *AC,
200 const LoopSafetyInfo *SafetyInfo, MemorySSAUpdater &MSSAU);
203 MemorySSAUpdater &MSSAU);
207 MemorySSAUpdater &MSSAU, ScalarEvolution *SE);
441 MemorySSAUpdater MSSAU(MSSA); in runOnLoop() local
465 TLI, TTI, L, MSSAU, &SafetyInfo, Flags, ORE) in runOnLoop()
467 MSSAU, &SafetyInfo, Flags, ORE); in runOnLoop()
471 MSSAU, SE, &SafetyInfo, Flags, ORE, LoopNestMode, in runOnLoop()
514 DT, AC, TLI, TTI, L, MSSAU, &SafetyInfo, ORE, in runOnLoop()
556 MemorySSAUpdater &MSSAU, ICFLoopSafetyInfo *SafetyInfo, in sinkRegion() argument
588 eraseInstruction(I, *SafetyInfo, MSSAU); in sinkRegion()
604 canSinkOrHoistInst(I, AA, DT, CurLoop, MSSAU, true, Flags, ORE)) { in sinkRegion()
605 if (sink(I, LI, DT, CurLoop, SafetyInfo, MSSAU, ORE)) { in sinkRegion()
609 eraseInstruction(I, *SafetyInfo, MSSAU); in sinkRegion()
617 MSSAU.getMemorySSA()->verifyMemorySSA(); in sinkRegion()
624 MemorySSAUpdater &MSSAU, in sinkRegionForLoopNest() argument
636 MSSAU, SafetyInfo, Flags, ORE, CurLoop); in sinkRegionForLoopNest()
655 MemorySSAUpdater &MSSAU; member in __anon9998ac180511::ControlFlowHoister
667 MemorySSAUpdater &MSSAU) in ControlFlowHoister() argument
668 : LI(LI), DT(DT), CurLoop(CurLoop), MSSAU(MSSAU) {} in ControlFlowHoister()
843 MSSAU.wireOldPredecessorsToNewImmediatePredecessor( in getOrCreateHoistedBlock()
877 MemorySSAUpdater &MSSAU, ScalarEvolution *SE, in hoistRegion() argument
887 ControlFlowHoister CFH(LI, DT, CurLoop, MSSAU); in hoistRegion()
915 canSinkOrHoistInst(I, AA, DT, CurLoop, MSSAU, true, Flags, ORE) && in hoistRegion()
920 MSSAU, SE, ORE); in hoistRegion()
945 eraseInstruction(I, *SafetyInfo, MSSAU); in hoistRegion()
948 SafetyInfo, MSSAU, SE, ORE); in hoistRegion()
967 MSSAU, SE, ORE); in hoistRegion()
981 MSSAU, SE, ORE); in hoistRegion()
990 if (hoistArithmetics(I, *CurLoop, *SafetyInfo, MSSAU, AC, DT)) { in hoistRegion()
1025 moveInstructionBefore(*I, HoistPoint->getIterator(), *SafetyInfo, MSSAU, in hoistRegion()
1033 MSSAU.getMemorySSA()->verifyMemorySSA(); in hoistRegion()
1121 bool isReadOnly(const MemorySSAUpdater &MSSAU, const Loop *L) { in isReadOnly() argument
1123 if (MSSAU.getMemorySSA()->getBlockDefs(BB)) in isReadOnly()
1130 const MemorySSAUpdater &MSSAU) { in isOnlyMemoryAccess() argument
1132 if (auto *Accs = MSSAU.getMemorySSA()->getBlockAccesses(BB)) { in isOnlyMemoryAccess()
1161 Loop *CurLoop, MemorySSAUpdater &MSSAU, in canSinkOrHoistInst() argument
1169 MemorySSA *MSSA = MSSAU.getMemorySSA(); in canSinkOrHoistInst()
1257 if (isReadOnly(MSSAU, CurLoop)) in canSinkOrHoistInst()
1268 return isOnlyMemoryAccess(FI, CurLoop, MSSAU); in canSinkOrHoistInst()
1278 if (isOnlyMemoryAccess(SI, CurLoop, MSSAU)) in canSinkOrHoistInst()
1428 const LoopSafetyInfo *SafetyInfo, MemorySSAUpdater &MSSAU) { in cloneInstructionInExitBlock() argument
1465 if (MSSAU.getMemorySSA()->getMemoryAccess(&I)) { in cloneInstructionInExitBlock()
1467 MemoryAccess *NewMemAcc = MSSAU.createMemoryAccessInBB( in cloneInstructionInExitBlock()
1471 MSSAU.insertDef(MemDef, /*RenameUses=*/true); in cloneInstructionInExitBlock()
1474 MSSAU.insertUse(MemUse, /*RenameUses=*/true); in cloneInstructionInExitBlock()
1501 MemorySSAUpdater &MSSAU) { in eraseInstruction() argument
1502 MSSAU.removeMemoryAccess(&I); in eraseInstruction()
1509 MemorySSAUpdater &MSSAU, in moveInstructionBefore() argument
1515 MSSAU.getMemorySSA()->getMemoryAccess(&I))) in moveInstructionBefore()
1516 MSSAU.moveToPlace(OldMemAcc, Dest->getParent(), in moveInstructionBefore()
1526 MemorySSAUpdater &MSSAU) { in sinkThroughTriviallyReplaceablePHI() argument
1536 *I, *ExitBlock, *TPN, LI, SafetyInfo, MSSAU); in sinkThroughTriviallyReplaceablePHI()
1560 MemorySSAUpdater *MSSAU) { in splitPredecessorsOfLoopExit() argument
1610 ExitBB, PredBB, ".split.loop.exit", DT, LI, MSSAU, true); in splitPredecessorsOfLoopExit()
1631 MemorySSAUpdater &MSSAU, OptimizationRemarkEmitter *ORE) { in sink() argument
1674 splitPredecessorsOfLoopExit(PN, DT, LI, CurLoop, SafetyInfo, &MSSAU); in sink()
1723 PN, &I, LI, SunkCopies, SafetyInfo, CurLoop, MSSAU); in sink()
1727 eraseInstruction(*PN, *SafetyInfo, MSSAU); in sink()
1738 MemorySSAUpdater &MSSAU, ScalarEvolution *SE, in hoist() argument
1764 moveInstructionBefore(I, Dest->getFirstNonPHIIt(), *SafetyInfo, MSSAU, SE); in hoist()
1768 MSSAU, SE); in hoist()
1815 MemorySSAUpdater &MSSAU; member in __anon9998ac181111::LoopPromoter
1848 MemorySSAUpdater &MSSAU, LoopInfo &li, DebugLoc dl, in LoopPromoter() argument
1852 LoopInsertPts(LIP), MSSAInsertPts(MSSAIP), PredCache(PIC), MSSAU(MSSAU), in LoopPromoter()
1896 NewMemAcc = MSSAU.createMemoryAccessInBB( in insertStoresInLoopExitBlocks()
1900 MSSAU.createMemoryAccessAfter(NewSI, nullptr, MSSAInsertPoint); in insertStoresInLoopExitBlocks()
1903 MSSAU.insertDef(cast<MemoryDef>(NewMemAcc), true); in insertStoresInLoopExitBlocks()
1915 MSSAU.removeMemoryAccess(I); in instructionDeleted()
1971 MemorySSAUpdater &MSSAU, ICFLoopSafetyInfo *SafetyInfo, in promoteLoopAccessesToScalars() argument
2230 MSSAInsertPts, PIC, MSSAU, *LI, DL, Alignment, in promoteLoopAccessesToScalars()
2248 MemoryAccess *PreheaderLoadMemoryAccess = MSSAU.createMemoryAccessInBB( in promoteLoopAccessesToScalars()
2251 MSSAU.insertUse(NewMemUse, /*RenameUses=*/true); in promoteLoopAccessesToScalars()
2258 MSSAU.getMemorySSA()->verifyMemorySSA(); in promoteLoopAccessesToScalars()
2264 MSSAU.getMemorySSA()->verifyMemorySSA(); in promoteLoopAccessesToScalars()
2267 eraseInstruction(*PreheaderLoad, *SafetyInfo, MSSAU); in promoteLoopAccessesToScalars()
2410 MemorySSAUpdater &MSSAU) { in hoistMinMax() argument
2475 eraseInstruction(I, SafetyInfo, MSSAU); in hoistMinMax()
2476 eraseInstruction(*cast<Instruction>(Cond1), SafetyInfo, MSSAU); in hoistMinMax()
2477 eraseInstruction(*cast<Instruction>(Cond2), SafetyInfo, MSSAU); in hoistMinMax()
2484 MemorySSAUpdater &MSSAU, AssumptionCache *AC, in hoistGEP() argument
2527 eraseInstruction(*GEP, SafetyInfo, MSSAU); in hoistGEP()
2528 eraseInstruction(*Src, SafetyInfo, MSSAU); in hoistGEP()
2536 ICFLoopSafetyInfo &SafetyInfo, MemorySSAUpdater &MSSAU, in hoistAdd() argument
2574 eraseInstruction(cast<Instruction>(*VariantLHS), SafetyInfo, MSSAU); in hoistAdd()
2583 ICFLoopSafetyInfo &SafetyInfo, MemorySSAUpdater &MSSAU, in hoistSub() argument
2637 eraseInstruction(cast<Instruction>(*VariantLHS), SafetyInfo, MSSAU); in hoistSub()
2643 MemorySSAUpdater &MSSAU, AssumptionCache *AC, in hoistAddSub() argument
2667 if (hoistAdd(Pred, LHS, RHS, cast<ICmpInst>(I), L, SafetyInfo, MSSAU, AC, DT)) in hoistAddSub()
2670 if (hoistSub(Pred, LHS, RHS, cast<ICmpInst>(I), L, SafetyInfo, MSSAU, AC, DT)) in hoistAddSub()
2693 MemorySSAUpdater &MSSAU, AssumptionCache *AC, in hoistMulAddAssociation() argument
2774 eraseInstruction(*Ins, SafetyInfo, MSSAU); in hoistMulAddAssociation()
2778 eraseInstruction(I, SafetyInfo, MSSAU); in hoistMulAddAssociation()
2784 MemorySSAUpdater &MSSAU, AssumptionCache *AC, in hoistArithmetics() argument
2789 if (hoistMinMax(I, L, SafetyInfo, MSSAU)) { in hoistArithmetics()
2796 if (hoistGEP(I, L, SafetyInfo, MSSAU, AC, DT)) { in hoistArithmetics()
2803 if (hoistAddSub(I, L, SafetyInfo, MSSAU, AC, DT)) { in hoistArithmetics()
2810 if (hoistMulAddAssociation(I, L, SafetyInfo, MSSAU, AC, DT)) { in hoistArithmetics()