/openbsd/gnu/llvm/llvm/lib/Transforms/Scalar/ |
H A D | SimplifyCFGPass.cpp | 163 if (DTU && DTU->isBBPendingDeletion(&BB)) in tailMergeBlocksWithSimilarFunctionTerminators() 214 if (DTU) in tailMergeBlocksWithSimilarFunctionTerminators() 215 DTU->applyUpdates(Updates); in tailMergeBlocksWithSimilarFunctionTerminators() 223 DomTreeUpdater *DTU, in iterativelySimplifyCFG() argument 246 if (DTU) { in iterativelySimplifyCFG() 248 !DTU->isBBPendingDeletion(&BB) && in iterativelySimplifyCFG() 252 while (BBIt != F.end() && DTU->isBBPendingDeletion(&*BBIt)) in iterativelySimplifyCFG() 255 if (simplifyCFG(&BB, TTI, DTU, Options, LoopHeaders)) { in iterativelySimplifyCFG() 268 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in simplifyFunctionCFGImpl() local 283 if (!removeUnreachableBlocks(F, DT ? &DTU : nullptr)) in simplifyFunctionCFGImpl() [all …]
|
H A D | SCCP.cpp | 69 const TargetLibraryInfo *TLI, DomTreeUpdater &DTU) { in runSCCP() argument 114 /*PreserveLCSSA=*/false, &DTU); in runSCCP() 118 MadeChanges |= Solver.removeNonFeasibleEdges(&BB, DTU, NewUnreachableBB); in runSCCP() 122 DTU.deleteBB(DeadBB); in runSCCP() 131 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local 132 if (!runSCCP(F, DL, &TLI, DTU)) in run() 171 DomTreeUpdater DTU(DTWP ? &DTWP->getDomTree() : nullptr, in runOnFunction() local 173 return runSCCP(F, DL, TLI, DTU); in runOnFunction()
|
H A D | LowerConstantIntrinsics.cpp | 55 DomTreeUpdater *DTU) { in replaceConditionalBranchesOnConstant() argument 89 if (DTU) in replaceConditionalBranchesOnConstant() 90 DTU->applyUpdates({{DominatorTree::Delete, Source, Other}}); in replaceConditionalBranchesOnConstant() 100 std::optional<DomTreeUpdater> DTU; in lowerConstantIntrinsics() local 102 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in lowerConstantIntrinsics() 147 II, NewValue, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics() 150 removeUnreachableBlocks(F, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics()
|
H A D | ScalarizeMaskedMemIntrin.cpp | 71 DomTreeUpdater *DTU); 865 std::optional<DomTreeUpdater> DTU; in runImpl() local 867 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in runImpl() 877 DTU ? &*DTU : nullptr); in runImpl() 911 DomTreeUpdater *DTU) { in optimizeBlock() argument 945 scalarizeMaskedLoad(DL, CI, DTU, ModifiedDT); in optimizeCallInst() 952 scalarizeMaskedStore(DL, CI, DTU, ModifiedDT); in optimizeCallInst() 963 scalarizeMaskedGather(DL, CI, DTU, ModifiedDT); in optimizeCallInst() 976 scalarizeMaskedScatter(DL, CI, DTU, ModifiedDT); in optimizeCallInst() 982 scalarizeMaskedExpandLoad(DL, CI, DTU, ModifiedDT); in optimizeCallInst() [all …]
|
H A D | CallSiteSplitting.cpp | 306 DomTreeUpdater &DTU) { in splitCallSite() argument 330 DTU); in splitCallSite() 369 DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB, TailBB}}); in splitCallSite() 373 DTU.deleteBB(TailBB); in splitCallSite() 464 assert(DTU.hasDomTree() && "We need a DTU with a valid DT!"); in shouldSplitOnPredicatedArgument() 465 auto *CSDTNode = DTU.getDomTree().getNode(CB.getParent()); in shouldSplitOnPredicatedArgument() 487 DomTreeUpdater &DTU) { in tryToSplitCallSite() argument 492 auto PredsWithConds = shouldSplitOnPredicatedArgument(CB, DTU); in tryToSplitCallSite() 498 splitCallSite(CB, PredsWithConds, DTU); in tryToSplitCallSite() 505 DomTreeUpdater DTU(&DT, DomTreeUpdater::UpdateStrategy::Lazy); in doCallSiteSplitting() local [all …]
|
H A D | PartiallyInlineLibCalls.cpp | 36 const TargetTransformInfo *TTI, DomTreeUpdater *DTU) { in optimizeSQRT() argument 64 /*BranchWeights*/ nullptr, DTU); in optimizeSQRT() 107 std::optional<DomTreeUpdater> DTU; in runPartiallyInlineLibCalls() local 109 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in runPartiallyInlineLibCalls() 143 DTU ? &*DTU : nullptr)) in runPartiallyInlineLibCalls()
|
H A D | DFAJumpThreading.cpp | 131 void unfold(DomTreeUpdater *DTU, SelectInstToUnfold SIToUnfold, 157 unfold(&DTU, SIToUnfold, &NewSIsToUnfold, &NewBBs); in unfoldSelectInstrs() 243 void unfold(DomTreeUpdater *DTU, SelectInstToUnfold SIToUnfold, in unfold() argument 342 DTU->applyUpdates({{DominatorTree::Insert, StartBlock, TT}, in unfold() 918 updateLastSuccessor(TPath, DuplicateMap, &DTU); in createAllExitPaths() 937 DomTreeUpdater *DTU) { in createExitPath() 957 updatePredecessor(PrevBB, BB, NextBB, DTU); in createExitPath() 964 BB, PrevBB, NextState, DuplicateMap, NewDefs, DTU); in createExitPath() 1053 updatePredecessor(PrevBB, BB, NewBB, DTU); in cloneBlockAndUpdatePredecessor() 1180 DomTreeUpdater *DTU) { in updateLastSuccessor() [all …]
|
H A D | TailRecursionElimination.cpp | 399 DomTreeUpdater &DTU; member in __anond01bbd3d0511::TailRecursionEliminator 429 DomTreeUpdater &DTU) in TailRecursionEliminator() argument 430 : F(F), TTI(TTI), AA(AA), ORE(ORE), DTU(DTU) {} in TailRecursionEliminator() 451 DomTreeUpdater &DTU); 547 DTU.recalculate(*NewEntry->getParent()); in createTailRecurseLoopHeader() 721 DTU.applyUpdates({{DominatorTree::Insert, BB, HeaderBB}}); in eliminateCall() 818 FoldReturnIntoUncondBranch(Ret, Succ, &BB, &DTU); in processBlock() 827 DTU.deleteBB(Succ); in processBlock() 845 DomTreeUpdater &DTU) { in eliminate() argument 861 TailRecursionEliminator TRE(F, TTI, AA, ORE, DTU); in eliminate() [all …]
|
H A D | MergeICmps.cpp | 407 DomTreeUpdater &DTU); 673 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons() 678 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons() 685 DomTreeUpdater &DTU) { in simplify() argument 714 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify() 718 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify() 732 DeleteDeadBlocks(DeadBlocks, &DTU); in simplify() 774 DomTreeUpdater &DTU) { in processPhi() argument 839 return CmpChain.simplify(TLI, AA, DTU); in processPhi() 856 DomTreeUpdater DTU(DT, /*PostDominatorTree*/ nullptr, in runImpl() local [all …]
|
H A D | LoopSimplifyCFG.cpp | 120 DomTreeUpdater DTU; member in __anon26d041370111::ConstantTerminatorFoldingImpl 418 DTU.applyUpdates(DTUpdates); in handleDeadExits() 472 DTU.applyUpdates(DTUpdates); in deleteDeadLoopBlocks() 475 DTU.deleteBB(BB); in deleteDeadLoopBlocks() 535 DTU(DT, DomTreeUpdater::UpdateStrategy::Eager) {} in ConstantTerminatorFoldingImpl() 614 DTU.applyUpdates(DTUpdates); in run() 667 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in mergeBlocksIntoPredecessors() local 684 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
|
H A D | JumpThreading.cpp | 386 DTU = DTU_; in runImpl() 414 DominatorTree &DT = DTU->getDomTree(); in runImpl() 451 DeleteDeadBlock(&BB, DTU); in runImpl() 1049 if (DTU->isBBPendingDeletion(BB) || in processBlock() 1129 DTU->applyUpdatesPermissive(Updates); in processBlock() 1742 DTU->applyUpdatesPermissive(Updates); in processThreadableEdges() 1996 MergeBasicBlockIntoOnlyPred(BB, DTU); in maybeMergeBasicBlockIntoOnlyPred() 2341 DTU->applyUpdatesPermissive( in threadThroughTwoBasicBlocks() 2518 DTU->applyUpdatesPermissive(Updates); in splitBlockPreds() 2745 DTU->applyUpdatesPermissive(Updates); in duplicateCondBranchOnPHIIntoPred() [all …]
|
/openbsd/gnu/llvm/llvm/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 114 if (DTU) in DeleteDeadBlocks() 118 if (DTU) in DeleteDeadBlocks() 249 if (DTU) { in MergeBlockIntoPredecessor() 323 if (DTU) in MergeBlockIntoPredecessor() 904 if (DTU) { in SplitBlockImpl() 969 if (DTU) { in splitBlockBefore() 1041 if (DTU && DTU->hasDomTree()) in UpdateAnalysisInformation() 1467 if (DTU) in FoldReturnIntoUncondBranch() 1509 if (DTU) in SplitBlockAndInsertIfThenImpl() 1514 if (DTU) in SplitBlockAndInsertIfThenImpl() [all …]
|
H A D | SimplifyCFG.cpp | 292 assert((!DTU || !DTU->hasPostDomTree()) && in SimplifyCFGOpt() 1754 if (DTU) in HoistThenElseCodeToIf() 1759 if (DTU) in HoistThenElseCodeToIf() 2483 if (DTU) in MergeCompatibleInvokesImpl() 2599 if (DTU) in MergeCompatibleInvokesImpl() 3488 if (DTU) in FoldTwoEntryPHINode() 3662 if (DTU) in performBranchToCommonDestFolding() 4806 if (DTU) in SimplifyBranchOnICmpChain() 5047 if (DTU) in removeEmptyCleanup() 5260 if (DTU) in simplifyUnreachable() [all …]
|
H A D | MatrixUtils.cpp | 25 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L, in CreateLoop() argument 51 DTU.applyUpdatesPermissive({ in CreateLoop() 71 IRBuilderBase &B, DomTreeUpdater &DTU, in CreateTiledLoops() argument 85 "cols", B, DTU, ColumnLoopInfo, LI); in CreateTiledLoops() 89 B.getInt64(TileSize), "rows", B, DTU, RowLoopInfo, LI); in CreateTiledLoops() 94 B.getInt64(TileSize), "inner", B, DTU, KLoopInfo, LI); in CreateTiledLoops()
|
H A D | Local.cpp | 180 if (DTU) in ConstantFoldTerminator() 786 if (DTU) { in MergeBasicBlockIntoOnlyPred() 826 if (DTU) { in MergeBasicBlockIntoOnlyPred() 1185 if (DTU) { in TryToSimplifyUncondBranchFromEmptyBlock() 1252 if (DTU) in TryToSimplifyUncondBranchFromEmptyBlock() 2243 if (DTU) in changeToUnreachable() 2258 if (DTU) { in changeToUnreachable() 2309 if (DTU) in changeToCall() 2345 if (DTU) in changeToInvokeAndSplitBasicBlock() 2585 if (DTU) in removeUnwindEdge() [all …]
|
/openbsd/gnu/llvm/llvm/lib/CodeGen/ |
H A D | IndirectBrExpandPass.cpp | 94 std::optional<DomTreeUpdater> DTU; in runOnFunction() local 96 DTU.emplace(DTWP->getDomTree(), DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction() 172 if (DTU) in runOnFunction() 175 if (DTU) { in runOnFunction() 182 if (DTU) { in runOnFunction() 185 DTU->applyUpdates(Updates); in runOnFunction() 216 if (DTU) { in runOnFunction() 235 if (DTU) in runOnFunction() 240 if (DTU) { in runOnFunction() 257 if (DTU) { in runOnFunction() [all …]
|
H A D | ExpandMemCmp.cpp | 85 DomTreeUpdater *DTU; member in __anondd4e65600111::MemCmpExpansion 225 DomTreeUpdater *DTU) in MemCmpExpansion() argument 227 IsUsedForZeroCmp(IsUsedForZeroCmp), DL(TheDataLayout), DTU(DTU), in MemCmpExpansion() 355 if (DTU) in emitLoadCompareByteBlock() 356 DTU->applyUpdates( in emitLoadCompareByteBlock() 363 if (DTU) in emitLoadCompareByteBlock() 451 if (DTU) in emitLoadCompareBlockMultipleLoads() 509 if (DTU) in emitLoadCompareBlock() 535 if (DTU) in emitMemCmpResultBlock() 552 if (DTU) in emitMemCmpResultBlock() [all …]
|
H A D | DwarfEHPrepare.cpp | 61 DomTreeUpdater *DTU; member in __anon1bc50f710111::DwarfEHPrepare 84 : OptLevel(OptLevel_), F(F_), TLI(TLI_), DTU(DTU_), TTI(TTI_), in DwarfEHPrepare() 132 assert(DTU && "Should have DomTreeUpdater here."); in pruneUnreachableResumes() 138 if (isPotentiallyReachable(LP, RI, nullptr, &DTU->getDomTree())) { in pruneUnreachableResumes() 162 simplifyCFG(BB, *TTI, DTU); in pruneUnreachableResumes() 300 if (DTU) in InsertUnwindResumeCalls() 301 DTU->applyUpdates(Updates); in InsertUnwindResumeCalls() 316 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in prepareDwarfEH() local 318 return DwarfEHPrepare(OptLevel, F, TLI, DT ? &DTU : nullptr, TTI, in prepareDwarfEH()
|
H A D | StackProtector.cpp | 90 DTU.emplace(DTWP->getDomTree(), DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction() 113 assert((!DTU || in runOnFunction() 114 DTU->getDomTree().verify(DominatorTree::VerificationLevel::Full)) && in runOnFunction() 117 DTU.reset(); in runOnFunction() 567 DTU ? &*DTU : nullptr, in InsertStackProtectors()
|
/openbsd/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
H A D | BasicBlockUtils.h | 53 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr, 63 DomTreeUpdater *DTU = nullptr, 69 bool EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr, 111 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr); 306 DomTreeUpdater *DTU, LoopInfo *LI, 347 DomTreeUpdater *DTU = nullptr, 387 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr, 396 DomTreeUpdater *DTU = nullptr); 451 DomTreeUpdater *DTU = nullptr, 475 DomTreeUpdater *DTU = nullptr); [all …]
|
H A D | Local.h | 64 DomTreeUpdater *DTU = nullptr); 153 void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, DomTreeUpdater *DTU = nullptr); 160 DomTreeUpdater *DTU = nullptr); 175 DomTreeUpdater *DTU = nullptr, 187 bool FoldBranchToCommonDest(BranchInst *BI, llvm::DomTreeUpdater *DTU = nullptr, 236 CallInst *changeToCall(InvokeInst *II, DomTreeUpdater *DTU = nullptr); 346 DomTreeUpdater *DTU = nullptr, 355 DomTreeUpdater *DTU = nullptr); 364 Instruction *removeUnwindEdge(BasicBlock *BB, DomTreeUpdater *DTU = nullptr); 369 bool removeUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
|
H A D | EscapeEnumerator.h | 38 DomTreeUpdater *DTU; variable 42 bool HandleExceptions = true, DomTreeUpdater *DTU = nullptr) 44 Builder(F.getContext()), HandleExceptions(HandleExceptions), DTU(DTU) {} in F()
|
H A D | MatrixUtils.h | 74 IRBuilderBase &B, DomTreeUpdater &DTU, 84 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
|
/openbsd/gnu/llvm/llvm/examples/IRTransforms/ |
H A D | SimplifyCFG.cpp | 102 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in removeDeadBlocks_v2() local 125 DTU.deleteBB(&BB); in removeDeadBlocks_v2() 130 DTU.applyUpdatesPermissive(DTUpdates); in removeDeadBlocks_v2() 174 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in eliminateCondBranches_v2() local 210 DTU.applyUpdatesPermissive(DTUpdates); in eliminateCondBranches_v2() 219 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in eliminateCondBranches_v3() local 257 DTU.applyUpdatesPermissive(DTUpdates); in eliminateCondBranches_v3() 306 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in mergeIntoSinglePredecessor_v2() local 344 DTU.deleteBB(&BB); in mergeIntoSinglePredecessor_v2() 350 DTU.applyUpdatesPermissive(DTUpdates); in mergeIntoSinglePredecessor_v2()
|
/openbsd/gnu/llvm/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 69 BasicBlock *unifyReturnBlockSet(Function &F, DomTreeUpdater &DTU, 137 Function &F, DomTreeUpdater &DTU, ArrayRef<BasicBlock *> ReturningBlocks, in unifyReturnBlockSet() argument 172 DTU.applyUpdates(Updates); in unifyReturnBlockSet() 177 simplifyCFG(BB, *TTI, RequireAndPreserveDomTree ? &DTU : nullptr, in unifyReturnBlockSet() 315 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in runOnFunction() local 317 DTU.applyUpdates(Updates); in runOnFunction() 327 unifyReturnBlockSet(F, DTU, ReturningBlocks, "UnifiedReturnBlock"); in runOnFunction()
|