Home
last modified time | relevance | path

Searched refs:DTU (Results 1 – 25 of 51) sorted by relevance

123

/openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/
DSimplifyCFGPass.cpp157 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 …]
DSCCP.cpp69 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()
DLowerConstantIntrinsics.cpp55 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()
DScalarizeMaskedMemIntrin.cpp71 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 …]
DCallSiteSplitting.cpp306 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 …]
DPartiallyInlineLibCalls.cpp36 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()
DDFAJumpThreading.cpp131 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 …]
DTailRecursionElimination.cpp399 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 …]
DMergeICmps.cpp407 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 …]
DLoopSimplifyCFG.cpp120 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()
DJumpThreading.cpp321 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/
DBasicBlockUtils.cpp95 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 …]
DSimplifyCFG.cpp242 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 …]
DMatrixUtils.cpp25 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()
DLocal.cpp128 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/
DIndirectBrExpandPass.cpp94 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 …]
DExpandMemCmp.cpp85 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 …]
DDwarfEHPrepare.cpp61 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()
DStackProtector.cpp90 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/
DBasicBlockUtils.h53 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 …]
DLocal.h64 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,
DEscapeEnumerator.h38 DomTreeUpdater *DTU; variable
42 bool HandleExceptions = true, DomTreeUpdater *DTU = nullptr)
44 Builder(F.getContext()), HandleExceptions(HandleExceptions), DTU(DTU) {} in F()
DMatrixUtils.h74 IRBuilderBase &B, DomTreeUpdater &DTU,
84 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
/openbsd/src/gnu/llvm/llvm/examples/IRTransforms/
DSimplifyCFG.cpp102 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/
DAMDGPUUnifyDivergentExitNodes.cpp69 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()

123