| /openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| D | SimplifyCFGPass.cpp | 157 DomTreeUpdater *DTU) { in tailMergeBlocksWithSimilarFunctionTerminators() argument 163 if (DTU && DTU->isBBPendingDeletion(&BB)) in tailMergeBlocksWithSimilarFunctionTerminators() 212 Changed |= performBlockTailMerging(F, BBs, DTU ? &Updates : nullptr); 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() [all …]
|
| 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()
|
| 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()
|
| D | ScalarizeMaskedMemIntrin.cpp | 71 DomTreeUpdater *DTU); 74 const DataLayout &DL, DomTreeUpdater *DTU); 144 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedLoad() argument 229 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedLoad() 286 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedStore() argument 363 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedStore() 414 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedGather() argument 485 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedGather() 544 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedScatter() argument 612 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedScatter() [all …]
|
| 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() 455 DomTreeUpdater &DTU) { in shouldSplitOnPredicatedArgument() argument 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() [all …]
|
| 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()
|
| D | DFAJumpThreading.cpp | 131 void unfold(DomTreeUpdater *DTU, SelectInstToUnfold SIToUnfold, 147 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in unfoldSelectInstrs() local 157 unfold(&DTU, SIToUnfold, &NewSIsToUnfold, &NewBBs); in unfoldSelectInstrs() 220 DomTreeUpdater *DTU, SelectInst *SI, PHINode *SIUse, SelectInst *SIToSink, in createBasicBlockAndSinkSelectInst() argument 233 DTU->applyUpdates({{DominatorTree::Insert, *NewBlock, EndBlock}}); in createBasicBlockAndSinkSelectInst() 243 void unfold(DomTreeUpdater *DTU, SelectInstToUnfold SIToUnfold, in unfold() argument 265 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock, in unfold() 270 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock, in unfold() 282 DTU->applyUpdates({{DominatorTree::Insert, FalseBlock, EndBlock}}); in unfold() 342 DTU->applyUpdates({{DominatorTree::Insert, StartBlock, TT}, in unfold() [all …]
|
| D | TailRecursionElimination.cpp | 399 DomTreeUpdater &DTU; member in __anonda0b746c0511::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 …]
|
| D | MergeICmps.cpp | 407 DomTreeUpdater &DTU); 605 AliasAnalysis &AA, DomTreeUpdater &DTU) { in mergeComparisons() argument 673 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons() 678 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons() 685 DomTreeUpdater &DTU) { in simplify() argument 696 Blocks, InsertBefore, NextCmpBlock, Phi_, TLI, AA, DTU); in simplify() 707 DTU.applyUpdates({{DominatorTree::Delete, Pred, EntryBlock_}, in simplify() 714 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify() 718 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify() 719 DTU.applyUpdates({{DominatorTree::Delete, NextCmpBlock, EntryBlock_}}); in simplify() [all …]
|
| D | LoopSimplifyCFG.cpp | 120 DomTreeUpdater DTU; member in __anonf3496f860111::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()
|
| D | JumpThreading.cpp | 321 DomTreeUpdater DTU(*DT, DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction() local 330 bool Changed = Impl.runImpl(F, TLI, TTI, LVI, AA, &DTU, F.hasProfileData(), in runOnFunction() 334 LVI->printLVI(F, DTU.getDomTree(), dbgs()); in runOnFunction() 349 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local 359 bool Changed = runImpl(F, &TLI, &TTI, &LVI, &AA, &DTU, F.hasProfileData(), in run() 364 LVI.printLVI(F, DTU.getDomTree(), dbgs()); in run() 386 DTU = DTU_; in runImpl() 412 assert(DTU && "DTU isn't passed into JumpThreading before using it."); in runImpl() 413 assert(DTU->hasDomTree() && "JumpThreading relies on DomTree to proceed."); in runImpl() 414 DominatorTree &DT = DTU->getDomTree(); in runImpl() [all …]
|
| /openbsd/src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| D | BasicBlockUtils.cpp | 95 void llvm::DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, in DeleteDeadBlock() argument 97 DeleteDeadBlocks({BB}, DTU, KeepOneInputPHIs); in DeleteDeadBlock() 100 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU, in DeleteDeadBlocks() argument 112 detachDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs); in DeleteDeadBlocks() 114 if (DTU) in DeleteDeadBlocks() 115 DTU->applyUpdates(Updates); in DeleteDeadBlocks() 118 if (DTU) in DeleteDeadBlocks() 119 DTU->deleteBB(BB); in DeleteDeadBlocks() 124 bool llvm::EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU, in EliminateUnreachableBlocks() argument 139 DeleteDeadBlocks(DeadBlocks, DTU, KeepOneInputPHIs); in EliminateUnreachableBlocks() [all …]
|
| D | SimplifyCFG.cpp | 242 DomTreeUpdater *DTU; member in __anondf23cb870111::SimplifyCFGOpt 288 SimplifyCFGOpt(const TargetTransformInfo &TTI, DomTreeUpdater *DTU, in SimplifyCFGOpt() argument 291 : TTI(TTI), DTU(DTU), DL(DL), LoopHeaders(LoopHeaders), Options(Opts) { in SimplifyCFGOpt() 292 assert((!DTU || !DTU->hasPostDomTree()) && in SimplifyCFGOpt() 942 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor() 943 DTU->applyUpdates( in SimplifyEqualityComparisonWithOnlyPredecessor() 962 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor() 967 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor() 972 if (DTU) { in SimplifyEqualityComparisonWithOnlyPredecessor() 977 DTU->applyUpdates(Updates); in SimplifyEqualityComparisonWithOnlyPredecessor() [all …]
|
| 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()
|
| D | Local.cpp | 128 DomTreeUpdater *DTU) { in ConstantFoldTerminator() argument 180 if (DTU) in ConstantFoldTerminator() 181 DTU->applyUpdates({{DominatorTree::Delete, BB, OldDest}}); in ConstantFoldTerminator() 279 if (DTU && Succ != TheOnlyDest) in ConstantFoldTerminator() 294 if (DTU) { in ConstantFoldTerminator() 299 DTU->applyUpdates(Updates); in ConstantFoldTerminator() 350 if (DTU && DestBB != TheOnlyDest) in ConstantFoldTerminator() 377 if (DTU) { in ConstantFoldTerminator() 382 DTU->applyUpdates(Updates); in ConstantFoldTerminator() 766 DomTreeUpdater *DTU) { in MergeBasicBlockIntoOnlyPred() argument [all …]
|
| /openbsd/src/gnu/llvm/llvm/lib/CodeGen/ |
| 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 …]
|
| D | ExpandMemCmp.cpp | 85 DomTreeUpdater *DTU; member in __anon7dc0274f0111::MemCmpExpansion 135 DomTreeUpdater *DTU); 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() 364 DTU->applyUpdates({{DominatorTree::Insert, BB, EndBlock}}); in emitLoadCompareByteBlock() 451 if (DTU) in emitLoadCompareBlockMultipleLoads() 452 DTU->applyUpdates({{DominatorTree::Insert, BB, ResBlock.BB}, in emitLoadCompareBlockMultipleLoads() [all …]
|
| D | DwarfEHPrepare.cpp | 61 DomTreeUpdater *DTU; member in __anon9faf09200111::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()
|
| 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/src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| D | BasicBlockUtils.h | 53 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr, 63 DomTreeUpdater *DTU = nullptr, 69 bool EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr, 95 bool MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU = nullptr, 111 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr); 296 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); [all …]
|
| 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,
|
| D | EscapeEnumerator.h | 38 DomTreeUpdater *DTU; variable 42 bool HandleExceptions = true, DomTreeUpdater *DTU = nullptr) 44 Builder(F.getContext()), HandleExceptions(HandleExceptions), DTU(DTU) {} in F()
|
| D | MatrixUtils.h | 74 IRBuilderBase &B, DomTreeUpdater &DTU, 84 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
|
| /openbsd/src/gnu/llvm/llvm/examples/IRTransforms/ |
| 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/src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| 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()
|