Home
last modified time | relevance | path

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

123

/openbsd/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DSimplifyCFGPass.cpp163 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 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()
H A 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()
H A DScalarizeMaskedMemIntrin.cpp71 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 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()
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 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()
H A DDFAJumpThreading.cpp131 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 DTailRecursionElimination.cpp399 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 DMergeICmps.cpp407 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 DLoopSimplifyCFG.cpp120 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 DJumpThreading.cpp386 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 DBasicBlockUtils.cpp114 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 DSimplifyCFG.cpp292 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 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()
H A DLocal.cpp180 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 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 …]
H A DExpandMemCmp.cpp85 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 DDwarfEHPrepare.cpp61 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 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/gnu/llvm/llvm/include/llvm/Transforms/Utils/
H A DBasicBlockUtils.h53 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 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,
H A DEscapeEnumerator.h38 DomTreeUpdater *DTU; variable
42 bool HandleExceptions = true, DomTreeUpdater *DTU = nullptr)
44 Builder(F.getContext()), HandleExceptions(HandleExceptions), DTU(DTU) {} in F()
H A DMatrixUtils.h74 IRBuilderBase &B, DomTreeUpdater &DTU,
84 IRBuilderBase &B, DomTreeUpdater &DTU, Loop *L,
/openbsd/gnu/llvm/llvm/examples/IRTransforms/
H A 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/gnu/llvm/llvm/lib/Target/AMDGPU/
H A 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