/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 46 if (!MSSA->DT->isReachableFromEntry(BB)) in getPreviousDefRecursive() 47 return MSSA->getLiveOnEntryDef(); in getPreviousDefRecursive() 61 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive() 76 if (MSSA->DT->isReachableFromEntry(Pred)) { in getPreviousDefRecursive() 84 PhiOps.push_back(MSSA->getLiveOnEntryDef()); in getPreviousDefRecursive() 89 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); in getPreviousDefRecursive() 104 Phi = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive() 148 auto *Defs = MSSA->getWritableBlockDefs(MA->getBlock()); in getPreviousDefInBlock() 160 auto End = MSSA->getWritableBlockAccesses(MA->getBlock())->rend(); in getPreviousDefInBlock() 175 auto *Defs = MSSA in getPreviousDefFromEnd() 572 getNewDefiningAccessForClone(MemoryAccess * MA,const ValueToValueMapTy & VMap,PhiToDefMap & MPhiMap,bool CloneWasSimplified,MemorySSA * MSSA) getNewDefiningAccessForClone() argument [all...] |
H A D | MemorySSA.cpp | 98 const MemorySSA *MSSA; member in __anon72856b230111::MemorySSAAnnotatedWriter 101 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter() 105 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 111 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot() 119 MemorySSA *MSSA; member in __anon72856b230111::MemorySSAWalkerAnnotatedWriter 125 : MSSA(M), Walker(M->getWalker()), BAA(M->getAA()) {} in MemorySSAWalkerAnnotatedWriter() 129 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot() 135 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) { in emitInstructionAnnot() 140 if (MSSA->isLiveOnEntryDef(Clobber)) in emitInstructionAnnot() 398 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity() argument [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopInstSimplify.cpp | 74 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst() local 79 MSSA->verifyMemorySSA(); in simplifyLoopInst() 135 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst() 136 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst() 155 MSSA->verifyMemorySSA(); in simplifyLoopInst() 177 if (AR.MSSA) { in run() 178 MSSAU = MemorySSAUpdater(AR.MSSA); in run() 180 AR.MSSA->verifyMemorySSA(); in run() 188 if (AR.MSSA) in run()
|
H A D | LoopRotation.cpp | 76 if (AR.MSSA) in run() 77 MSSAU = MemorySSAUpdater(AR.MSSA); in run() 85 if (AR.MSSA && VerifyMemorySSA) in run() 86 AR.MSSA->verifyMemorySSA(); in run() 89 if (AR.MSSA) in run()
|
H A D | LoopSink.cpp | 284 MemorySSA &MSSA, in sinkLoopInvariantInstructions() argument 301 MemorySSAUpdater MSSAU(&MSSA); in sinkLoopInvariantInstructions() 302 SinkAndHoistLICMFlags LICMFlags(/*IsSink=*/true, L, MSSA); in sinkLoopInvariantInstructions() 355 MemorySSA &MSSA = FAM.getResult<MemorySSAAnalysis>(F).getMSSA(); in run() local 375 Changed |= sinkLoopInvariantInstructions(L, AA, LI, DT, BFI, MSSA, in run() 387 MSSA.verifyMemorySSA(); in run() 413 MemorySSA &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); runOnLoop() local
|
H A D | MemCpyOptimizer.cpp | 318 static bool writtenBetween(MemorySSA *MSSA, BatchAAResults &AA, in writtenBetween() argument 338 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in writtenBetween() 340 return !MSSA->dominates(Clobber, Start); in writtenBetween() 723 MSSA->getWalker()->getClobberingMemoryAccess(LI, BAA))) in processStoreOfLoad() 822 auto *StoreDef = cast<MemoryDef>(MSSA->getMemoryAccess(SI)); in processStore() 918 if (accessedBetween(BAA, DestLoc, MSSA->getMemoryAccess(C), in performCallSlotOptzn() 919 MSSA->getMemoryAccess(cpyStore), &SkippedLifetimeStart)) { in performCallSlotOptzn() 1111 MSSAU->moveBefore(MSSA->getMemoryAccess(SkippedLifetimeStart), in performCallSlotOptzn() 1112 MSSA->getMemoryAccess(C)); in performCallSlotOptzn() 1210 if (writtenBetween(MSSA, BAA, MCopyLoc, MSSA->getMemoryAccess(MDep), in processMemCpyMemCpyDependence() [all …]
|
H A D | LICM.cpp | 187 static bool pointerInvalidatedByLoop(MemorySSA *MSSA, MemoryUse *MU, 191 static bool pointerInvalidatedByBlock(BasicBlock &BB, MemorySSA &MSSA, 209 static void foreachMemoryAccess(MemorySSA *MSSA, Loop *L, 214 collectPromotionCandidates(MemorySSA *MSSA, AliasAnalysis *AA, Loop *L); 220 TargetTransformInfo *TTI, ScalarEvolution *SE, MemorySSA *MSSA, 257 MemorySSA *MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnLoop() local 269 SE ? &SE->getSE() : nullptr, MSSA, &ORE); in runOnLoop() 296 if (!AR.MSSA) in run() 308 &AR.SE, AR.MSSA, &ORE)) in run() 330 if (!AR.MSSA) in run() [all …]
|
H A D | LoopDeletion.cpp | 400 LoopInfo &LI, MemorySSA *MSSA, in breakBackedgeIfNotTaken() argument 418 breakLoopBackedge(L, DT, SE, LI, MSSA); in breakBackedgeIfNotTaken() 438 MemorySSA *MSSA, in deleteLoopIfDead() argument 478 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); in deleteLoopIfDead() 511 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); in deleteLoopIfDead() 528 auto Result = deleteLoopIfDead(&L, AR.DT, AR.SE, AR.LI, AR.MSSA, ORE); in run() 535 AR.MSSA, ORE)); in run() 544 if (AR.MSSA) in run()
|
H A D | GVNHoist.cpp | 247 MemoryDependenceResults *MD, MemorySSA *MSSA) in GVNHoist() argument 248 : DT(DT), PDT(PDT), AA(AA), MD(MD), MSSA(MSSA), in GVNHoist() 249 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) { in GVNHoist() 250 MSSA->ensureOptimizedUses(); in GVNHoist() 269 MemorySSA *MSSA; member in llvm::GVNHoist 588 const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB); in hasMemoryUse() 724 if (NewBB == DBB && !MSSA->isLiveOnEntryDef(D)) in safeToHoistLdSt() 741 assert(MSSA->locallyDominates(D, U)); in safeToHoistLdSt() 777 if (MemoryUseOrDef *UD = MSSA->getMemoryAccess(Insn)) in checkSafety() 982 MemoryAccess *OldMA = MSSA->getMemoryAccess(I); in rauw() [all …]
|
H A D | DeadStoreElimination.cpp | 823 MemorySSA &MSSA; member 869 DSEState(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, DominatorTree &DT, in DSEState() 872 : F(F), AA(AA), EI(DT, &LI), BatchAA(AA, &EI), MSSA(MSSA), DT(DT), in DSEState() 880 MemoryAccess *MA = MSSA.getMemoryAccess(&I); in DSEState() 1355 if (!MSSA.isLiveOnEntryDef(Current) && isa<MemoryUseOrDef>(Current)) in getDomMemoryDef() 1362 if (MSSA.isLiveOnEntryDef(Current)) { in getDomMemoryDef() 1422 return !MSSA.dominates(StartAccess, UseOrDef) && in getDomMemoryDef() 1700 MemorySSAUpdater Updater(&MSSA); in deleteDeadInstruction() 1714 MemoryAccess *MA = MSSA.getMemoryAccess(DeadInst); in deleteDeadInstruction() 1879 auto *MallocDef = dyn_cast_or_null<MemoryDef>(MSSA.getMemoryAccess(Malloc)); in tryFoldIntoCalloc() [all …]
|
H A D | LoopPassManager.cpp | 222 MemorySSA *MSSA = in run() local 240 MSSA}; in run() 314 if (LAR.MSSA && !PassPA.getChecker<MemorySSAAnalysis>().preserved()) in run() 327 if (LAR.MSSA && VerifyMemorySSA) in run() 328 LAR.MSSA->verifyMemorySSA(); in run()
|
H A D | EarlyCSE.cpp | 647 MemorySSA *MSSA; member in __anon2439b80b0411::EarlyCSE 734 AssumptionCache &AC, MemorySSA *MSSA) in EarlyCSE() argument 735 : TLI(TLI), TTI(TTI), DT(DT), AC(AC), SQ(DL, &TLI, &DT, &AC), MSSA(MSSA), in EarlyCSE() 736 MSSAUpdater(std::make_unique<MemorySSAUpdater>(MSSA)) {} in EarlyCSE() 1099 if (!MSSA) in removeMSSA() 1102 MSSA->verifyMemorySSA(); in removeMSSA() 1139 if (!MSSA) in isSameMemGeneration() 1149 auto *EarlierMA = MSSA->getMemoryAccess(EarlierInst); in isSameMemGeneration() 1152 auto *LaterMA = MSSA->getMemoryAccess(LaterInst); in isSameMemGeneration() 1162 LaterDef = MSSA->getWalker()->getClobberingMemoryAccess(LaterInst); in isSameMemGeneration() [all …]
|
H A D | LoopFlatten.cpp | 1002 if (AR.MSSA) { in run() 1003 MSSAU = MemorySSAUpdater(AR.MSSA); in run() 1005 AR.MSSA->verifyMemorySSA(); in run() 1026 if (AR.MSSA && VerifyMemorySSA) in run() 1027 AR.MSSA->verifyMemorySSA(); in run() 1030 if (AR.MSSA) in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | MoveAutoInit.cpp | 64 DominatorTree &DT, MemorySSA &MSSA) { in usersDominator() 66 MemoryUseOrDef &IMA = *MSSA.getMemoryAccess(I); in usersDominator() 67 BatchAAResults AA(MSSA.getAA()); in usersDominator() 106 static bool runMoveAutoInit(Function &F, DominatorTree &DT, MemorySSA &MSSA) { 124 BasicBlock *UsersDominator = usersDominator(ML.value(), &I, DT, MSSA); in runMoveAutoInit() 202 MemorySSAUpdater MSSAU(&MSSA); in runMoveAutoInit() 209 MSSAU.moveToPlace(MSSA.getMemoryAccess(Job.first), Job.first->getParent(), in runMoveAutoInit() 214 MSSA.verifyMemorySSA(); in runMoveAutoInit() 225 auto &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); in run() 226 if (!runMoveAutoInit(F, DT, MSSA)) in run() 65 usersDominator(const MemoryLocation & ML,Instruction * I,DominatorTree & DT,MemorySSA & MSSA) usersDominator() argument 107 runMoveAutoInit(Function & F,DominatorTree & DT,MemorySSA & MSSA) runMoveAutoInit() argument 222 auto &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); run() local [all...] |
H A D | LoopUnroll.cpp | 264 MemorySSA *MSSA = GetMSSA(); in getMatchingValue() local 265 if (!MSSA) in getMatchingValue() 267 auto *EarlierMA = MSSA->getMemoryAccess(LV.DefI); in getMatchingValue() 269 MSSA->getWalker()->getClobberingMemoryAccess(LI, BAA); in getMatchingValue() 270 if (!MSSA->dominates(LaterDef, EarlierMA)) in getMatchingValue() 365 std::unique_ptr<MemorySSA> MSSA = nullptr; in simplifyLoopAfterUnroll() local 367 loadCSE(L, *DT, *SE, *LI, BAA, [L, AA, DT, &MSSA]() -> MemorySSA * { in simplifyLoopAfterUnroll() 368 if (!MSSA) in simplifyLoopAfterUnroll() 369 MSSA.reset(new MemorySSA(*L, AA, DT)); in simplifyLoopAfterUnroll() 370 return &*MSSA; in simplifyLoopAfterUnroll()
|
H A D | LoopUtils.cpp | 484 LoopInfo *LI, MemorySSA *MSSA) { in deleteDeadLoop() argument 490 if (MSSA) in deleteDeadLoop() 491 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); in deleteDeadLoop() 570 if (MSSA) { in deleteDeadLoop() 574 MSSA->verifyMemorySSA(); in deleteDeadLoop() 594 if (MSSA) { in deleteDeadLoop() 601 MSSA->verifyMemorySSA(); in deleteDeadLoop() 688 if (MSSA && VerifyMemorySSA) in deleteDeadLoop() 689 MSSA->verifyMemorySSA(); in deleteDeadLoop() 725 LoopInfo &LI, MemorySSA *MSSA) { in breakLoopBackedge() argument [all …]
|
H A D | LoopSimplify.cpp | 802 MemorySSA *MSSA = nullptr; in runOnFunction() local 806 MSSA = &MSSAAnalysis->getMSSA(); in runOnFunction() 807 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); in runOnFunction() 836 auto *MSSA = &MSSAAnalysis->getMSSA(); in run() local 837 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUPromoteKernelArguments.cpp | 33 MemorySSA *MSSA; member in __anon4eb9f4ae0111::AMDGPUPromoteKernelArguments 52 bool run(Function &F, MemorySSA &MSSA, AliasAnalysis &AA); 79 !AMDGPU::isClobberedInFunction(LD, MSSA, AA)) in enqueueUsers() 153 bool AMDGPUPromoteKernelArguments::run(Function &F, MemorySSA &MSSA, in run() argument 163 this->MSSA = &MSSA; in run() 189 MemorySSA &MSSA = getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnFunction() local 191 return run(F, MSSA, AA); in runOnFunction() 210 MemorySSA &MSSA = AM.getResult<MemorySSAAnalysis>(F).getMSSA(); in run() local 212 if (AMDGPUPromoteKernelArguments().run(F, MSSA, AA)) { in run()
|
H A D | AMDGPUAnnotateUniformValues.cpp | 33 MemorySSA *MSSA; member in __anon408c60bb0111::AMDGPUAnnotateUniformValues 99 if (GlobalLoad && !AMDGPU::isClobberedInFunction(&I, MSSA, AA)) in visitLoadInst() 112 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnFunction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemorySSAUpdater.h | 56 MemorySSA *MSSA; 66 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater() argument 185 /// which will perform all the necessary MSSA updates. If these APIs are used, 220 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) 239 MemorySSA* getMemorySSA() const { return MSSA; }
|
H A D | MemorySSA.h | 938 Result(std::unique_ptr<MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {} 940 MemorySSA &getMSSA() { return *MSSA; } 942 std::unique_ptr<MemorySSA> MSSA; 993 MemorySSA &getMSSA() { return *MSSA; } 994 const MemorySSA &getMSSA() const { return *MSSA; } 1002 std::unique_ptr<MemorySSA> MSSA; 1047 MemoryAccess *MA = MSSA->getMemoryAccess(I); 1073 BatchAAResults BAA(MSSA->getAA()); 1078 BatchAAResults BAA(MSSA->getAA()); 1084 BatchAAResults BAA(MSSA->getAA()); [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | LoopUtils.h | 125 Loop &L, MemorySSA &MSSA); 127 SinkAndHoistLICMFlags(bool IsSink, Loop &L, MemorySSA &MSSA); 200 LoopInfo *LI, MemorySSA *MSSA = nullptr); 206 LoopInfo &LI, MemorySSA *MSSA); 576 const MemorySSA &MSSA,
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | InterleavedLoadCombinePass.cpp | 66 InterleavedLoadCombineImpl(Function &F, DominatorTree &DT, MemorySSA &MSSA, in InterleavedLoadCombineImpl() 69 : F(F), DT(DT), MSSA(MSSA), in InterleavedLoadCombineImpl() 84 MemorySSA &MSSA; member 1190 auto FMA = MSSA.getMemoryAccess(First); in combine() 1192 auto MADef = MSSA.getMemoryAccess(LI)->getDefiningAccess(); in combine() 1193 if (!MSSA.dominates(MADef, FMA)) in combine() 1226 auto MSSAU = MemorySSAUpdater(&MSSA); in combine() 1228 LI, nullptr, MSSA.getMemoryAccess(InsertionPoint))); in combine()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | MemCpyOptimizer.h | 49 MemorySSA *MSSA = nullptr; variable 60 MemorySSA *MSSA);
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/ |
H A D | AMDGPUMemoryUtils.cpp | 325 bool isClobberedInFunction(const LoadInst *Load, MemorySSA *MSSA, in isClobberedInFunction() argument 327 MemorySSAWalker *Walker = MSSA->getWalker(); in isClobberedInFunction() 347 if (MSSA->isLiveOnEntryDef(MA)) in isClobberedInFunction()
|