Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DBasicBlockUtils.h56 LLVM_ABI void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
66 DomTreeUpdater *DTU = nullptr,
73 DomTreeUpdater *DTU = nullptr,
102 BasicBlock *BB, DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr,
116 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr);
312 DomTreeUpdater *DTU = nullptr,
317 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr,
320 return SplitBlock(Old, SplitPt->getIterator(), DTU, LI, MSSAU, BBName, Before);
330 DomTreeUpdater *DTU, LoopInfo *LI,
334 DomTreeUpdater *DTU, LoopInfo *LI,
[all …]
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 DLocal.h67 DomTreeUpdater *DTU = nullptr);
161 DomTreeUpdater *DTU = nullptr);
169 DomTreeUpdater *DTU = nullptr);
194 DomTreeUpdater *DTU = nullptr,
207 llvm::DomTreeUpdater *DTU = nullptr,
267 LLVM_ABI CallInst *changeToCall(InvokeInst *II, DomTreeUpdater *DTU = nullptr);
405 DomTreeUpdater *DTU = nullptr,
414 DomTreeUpdater *DTU = nullptr);
424 DomTreeUpdater *DTU = nullptr);
430 DomTreeUpdater *DTU = nullptr,
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DIndirectBrExpandPass.cpp70 DomTreeUpdater *DTU);
80 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
82 bool Changed = runImpl(F, TLI, DT ? &DTU : nullptr); in run()
102 bool runImpl(Function &F, const TargetLowering *TLI, DomTreeUpdater *DTU) { in runImpl() argument
178 if (DTU) in runImpl()
181 if (DTU) { in runImpl()
188 if (DTU) { in runImpl()
191 DTU->applyUpdates(Updates); in runImpl()
223 if (DTU) { in runImpl()
242 if (DTU) in runImpl()
[all …]
H A DExpandMemCmp.cpp88 DomTreeUpdater *DTU = nullptr; member in __anon455dbdd30111::MemCmpExpansion
143 DomTreeUpdater *DTU);
264 DomTreeUpdater *DTU) in MemCmpExpansion() argument
266 IsUsedForZeroCmp(IsUsedForZeroCmp), DL(TheDataLayout), DTU(DTU), in MemCmpExpansion()
395 if (DTU) in emitLoadCompareByteBlock()
396 DTU->applyUpdates( in emitLoadCompareByteBlock()
403 if (DTU) in emitLoadCompareByteBlock()
404 DTU->applyUpdates({{DominatorTree::Insert, BB, EndBlock}}); in emitLoadCompareByteBlock()
492 if (DTU) in emitLoadCompareBlockMultipleLoads()
493 DTU->applyUpdates({{DominatorTree::Insert, BB, ResBlock.BB}, in emitLoadCompareBlockMultipleLoads()
[all …]
H A DDwarfEHPrepare.cpp61 DomTreeUpdater *DTU; member in __anonc50c50a40111::DwarfEHPrepare
84 : OptLevel(OptLevel_), F(F_), TLI(TLI_), DTU(DTU_), TTI(TTI_), in DwarfEHPrepare()
133 assert(DTU && "Should have DomTreeUpdater here."); in pruneUnreachableResumes()
139 if (isPotentiallyReachable(LP, RI, nullptr, &DTU->getDomTree())) { in pruneUnreachableResumes()
163 simplifyCFG(BB, *TTI, DTU); in pruneUnreachableResumes()
308 if (DTU) in InsertUnwindResumeCalls()
309 DTU->applyUpdates(Updates); in InsertUnwindResumeCalls()
324 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in prepareDwarfEH() local
326 return DwarfEHPrepare(OptLevel, F, TLI, DT ? &DTU : nullptr, TTI, in prepareDwarfEH()
H A DStackProtector.cpp74 DomTreeUpdater *DTU, bool &HasPrologue,
122 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
136 bool Changed = InsertStackProtectors(TM, &F, DT ? &DTU : nullptr, in run()
140 DTU.getDomTree().verify(DominatorTree::VerificationLevel::Full)) && in run()
176 DTU.emplace(DTWP->getDomTree(), DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction()
196 InsertStackProtectors(TM, F, DTU ? &*DTU : nullptr, in runOnFunction()
199 assert((!DTU || in runOnFunction()
200 DTU->getDomTree().verify(DominatorTree::VerificationLevel::Full)) && in runOnFunction()
203 DTU.reset(); in runOnFunction()
571 DomTreeUpdater *DTU, bool &HasPrologue, in InsertStackProtectors() argument
[all …]
H A DShadowStackGCLowering.cpp71 bool runOnFunction(Function &F, DomTreeUpdater *DTU);
100 std::optional<DomTreeUpdater> DTU; in runOnFunction() local
102 DTU.emplace(DTWP->getDomTree(), DomTreeUpdater::UpdateStrategy::Lazy); in runOnFunction()
103 return Impl.runOnFunction(F, DTU ? &*DTU : nullptr); in runOnFunction()
121 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
122 Changed |= Impl.runOnFunction(F, DT ? &DTU : nullptr); in run()
331 DomTreeUpdater *DTU) { in runOnFunction() argument
396 EscapeEnumerator EE(F, "gc_cleanup", /*HandleExceptions=*/true, DTU); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A 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 …]
H A DSimplifyCFG.cpp260 DomTreeUpdater *DTU; member in __anonee21a60b0111::SimplifyCFGOpt
284 bool simplifyDuplicateSwitchArms(SwitchInst *SI, DomTreeUpdater *DTU);
308 SimplifyCFGOpt(const TargetTransformInfo &TTI, DomTreeUpdater *DTU, in SimplifyCFGOpt() argument
311 : TTI(TTI), DTU(DTU), DL(DL), LoopHeaders(LoopHeaders), Options(Opts) { in SimplifyCFGOpt()
312 assert((!DTU || !DTU->hasPostDomTree()) && in SimplifyCFGOpt()
970 if (DTU) in simplifyEqualityComparisonWithOnlyPredecessor()
971 DTU->applyUpdates( in simplifyEqualityComparisonWithOnlyPredecessor()
990 if (DTU) in simplifyEqualityComparisonWithOnlyPredecessor()
995 if (DTU) in simplifyEqualityComparisonWithOnlyPredecessor()
1000 if (DTU) { in simplifyEqualityComparisonWithOnlyPredecessor()
[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 DLibCallsShrinkWrap.cpp55 LibCallsShrinkWrap(const TargetLibraryInfo &TLI, DomTreeUpdater &DTU) in LibCallsShrinkWrap() argument
56 : TLI(TLI), DTU(DTU){}; in LibCallsShrinkWrap()
124 DomTreeUpdater &DTU; member in __anona37531bd0111::LibCallsShrinkWrap
473 SplitBlockAndInsertIfThen(Cond, CI, false, BranchWeights, &DTU); in shrinkWrapCI()
503 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in runImpl() local
504 LibCallsShrinkWrap CCDCE(TLI, DTU); in runImpl()
510 DTU.getDomTree().verify(DominatorTree::VerificationLevel::Fast)); in runImpl()
H A DLocal.cpp136 DomTreeUpdater *DTU) { in ConstantFoldTerminator() argument
188 if (DTU) in ConstantFoldTerminator()
189 DTU->applyUpdates({{DominatorTree::Delete, BB, OldDest}}); in ConstantFoldTerminator()
283 if (DTU && Succ != TheOnlyDest) in ConstantFoldTerminator()
298 if (DTU) { in ConstantFoldTerminator()
303 DTU->applyUpdates(Updates); in ConstantFoldTerminator()
354 if (DTU && DestBB != TheOnlyDest) in ConstantFoldTerminator()
381 if (DTU) { in ConstantFoldTerminator()
386 DTU->applyUpdates(Updates); in ConstantFoldTerminator()
771 DomTreeUpdater *DTU) { in MergeBasicBlockIntoOnlyPred() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimplifyCFGPass.cpp165 DomTreeUpdater *DTU) { in tailMergeBlocksWithSimilarFunctionTerminators() argument
171 if (DTU && DTU->isBBPendingDeletion(&BB)) in tailMergeBlocksWithSimilarFunctionTerminators()
220 Changed |= performBlockTailMerging(F, BBs, DTU ? &Updates : nullptr); in tailMergeBlocksWithSimilarFunctionTerminators()
222 if (DTU) in tailMergeBlocksWithSimilarFunctionTerminators()
223 DTU->applyUpdates(Updates); in tailMergeBlocksWithSimilarFunctionTerminators()
231 DomTreeUpdater *DTU, in iterativelySimplifyCFG() argument
254 if (DTU) { in iterativelySimplifyCFG()
256 !DTU->isBBPendingDeletion(&BB) && in iterativelySimplifyCFG()
260 while (BBIt != F.end() && DTU->isBBPendingDeletion(&*BBIt)) in iterativelySimplifyCFG()
263 if (simplifyCFG(&BB, TTI, DTU, Options, LoopHeaders)) { in iterativelySimplifyCFG()
[all …]
H A DLowerConstantIntrinsics.cpp55 DomTreeUpdater *DTU) { in replaceConditionalBranchesOnConstant() argument
92 if (DTU) in replaceConditionalBranchesOnConstant()
93 DTU->applyUpdates({{DominatorTree::Delete, Source, Other}}); in replaceConditionalBranchesOnConstant()
103 std::optional<DomTreeUpdater> DTU; in lowerConstantIntrinsics() local
105 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in lowerConstantIntrinsics()
152 II, NewValue, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics()
155 removeUnreachableBlocks(F, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics()
H A DSCCP.cpp56 const TargetLibraryInfo *TLI, DomTreeUpdater &DTU) { in runSCCP() argument
106 /*PreserveLCSSA=*/false, &DTU); in runSCCP()
110 MadeChanges |= Solver.removeNonFeasibleEdges(&BB, DTU, NewUnreachableBB); in runSCCP()
114 DTU.deleteBB(DeadBB); in runSCCP()
125 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
126 if (!runSCCP(F, DL, &TLI, DTU)) in run()
H A DScalarizeMaskedMemIntrin.cpp72 bool HasBranchDivergence, DomTreeUpdater *DTU);
76 DomTreeUpdater *DTU);
146 CallInst *CI, DomTreeUpdater *DTU, in scalarizeMaskedLoad() argument
204 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedLoad()
262 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedLoad()
319 CallInst *CI, DomTreeUpdater *DTU, in scalarizeMaskedStore() argument
370 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedStore()
421 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedStore()
473 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedGather() argument
548 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedGather()
[all …]
H A DCallSiteSplitting.cpp304 DomTreeUpdater &DTU) { in splitCallSite() argument
328 DTU); in splitCallSite()
367 DTU.applyUpdatesPermissive({{DominatorTree::Delete, BB, TailBB}}); in splitCallSite()
371 DTU.deleteBB(TailBB); in splitCallSite()
456 DomTreeUpdater &DTU) { in shouldSplitOnPredicatedArgument() argument
465 assert(DTU.hasDomTree() && "We need a DTU with a valid DT!"); in shouldSplitOnPredicatedArgument()
466 auto *CSDTNode = DTU.getDomTree().getNode(CB.getParent()); in shouldSplitOnPredicatedArgument()
488 DomTreeUpdater &DTU) { in tryToSplitCallSite() argument
493 auto PredsWithConds = shouldSplitOnPredicatedArgument(CB, DTU); in tryToSplitCallSite()
499 splitCallSite(CB, PredsWithConds, DTU); in tryToSplitCallSite()
[all …]
H A DPartiallyInlineLibCalls.cpp37 const TargetTransformInfo *TTI, DomTreeUpdater *DTU, in optimizeSQRT() argument
66 /*BranchWeights*/ nullptr, DTU); in optimizeSQRT()
110 std::optional<DomTreeUpdater> DTU; in runPartiallyInlineLibCalls() local
112 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in runPartiallyInlineLibCalls()
146 DTU ? &*DTU : nullptr, ORE)) in runPartiallyInlineLibCalls()
H A DTailRecursionElimination.cpp409 DomTreeUpdater &DTU; member in __anone41365f00511::TailRecursionEliminator
442 DomTreeUpdater &DTU, BlockFrequencyInfo *BFI) in TailRecursionEliminator() argument
443 : F(F), TTI(TTI), AA(AA), ORE(ORE), DTU(DTU), BFI(BFI), in TailRecursionEliminator()
475 DomTreeUpdater &DTU, BlockFrequencyInfo *BFI);
575 DTU.recalculate(*NewEntry->getParent()); in createTailRecurseLoopHeader()
758 DTU.applyUpdates({{DominatorTree::Insert, BB, HeaderBB}}); in eliminateCall()
881 FoldReturnIntoUncondBranch(Ret, Succ, &BB, &DTU); in processBlock()
890 DTU.deleteBB(Succ); in processBlock()
908 DomTreeUpdater &DTU, in eliminate() argument
925 TailRecursionEliminator TRE(F, TTI, AA, ORE, DTU, BFI); in eliminate()
[all …]
H A DMergeICmps.cpp409 DomTreeUpdater &DTU);
611 AliasAnalysis &AA, DomTreeUpdater &DTU) { in mergeComparisons() argument
680 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons()
685 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons()
692 DomTreeUpdater &DTU) { in simplify() argument
703 Blocks, InsertBefore, NextCmpBlock, Phi_, TLI, AA, DTU); in simplify()
714 DTU.applyUpdates({{DominatorTree::Delete, Pred, EntryBlock_}, in simplify()
721 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify()
725 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify()
726 DTU.applyUpdates({{DominatorTree::Delete, NextCmpBlock, EntryBlock_}}); in simplify()
[all …]
H A DDFAJumpThreading.cpp139 void unfold(DomTreeUpdater *DTU, LoopInfo *LI, SelectInstToUnfold SIToUnfold,
156 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in unfoldSelectInstrs() local
164 unfold(&DTU, LI, SIToUnfold, &NewSIsToUnfold, &NewBBs); in unfoldSelectInstrs()
189 void unfold(DomTreeUpdater *DTU, LoopInfo *LI, SelectInstToUnfold SIToUnfold, in unfold() argument
209 DTU->applyUpdates({{DominatorTree::Insert, NewBlock, EndBlock}}); in unfold()
258 DTU->applyUpdates({{DominatorTree::Insert, StartBlock, EndBlock}, in unfold()
293 DTU->applyUpdates({{DominatorTree::Insert, NewBlockT, NewBlockF}, in unfold()
331 DTU->applyUpdates({{DominatorTree::Delete, StartBlock, EndBlock}, in unfold()
943 DomTreeUpdater DTU(*DT, DomTreeUpdater::UpdateStrategy::Eager); in createAllExitPaths() local
962 createExitPath(NewDefs, TPath, DuplicateMap, BlocksToClean, &DTU); in createAllExitPaths()
[all …]
H A DJumpTableToSwitch.cpp94 DomTreeUpdater &DTU, in expandToSwitch() argument
100 BasicBlock *Tail = SplitBlock(BB, CB, &DTU, nullptr, nullptr, in expandToSwitch()
134 DTU.applyUpdates(DTUpdates); in expandToSwitch()
151 DomTreeUpdater DTU(DT, PDT, DomTreeUpdater::UpdateStrategy::Lazy); in run() local
173 SplittedOutTail = expandToSwitch(Call, *JumpTable, DTU, ORE); in run()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp152 Value *expandFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
156 Value *createMaskedFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
160 Value *createPredicatedFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
172 Value *expandFindFirstByte(IRBuilder<> &Builder, DomTreeUpdater &DTU,
426 IRBuilder<> &Builder, DomTreeUpdater &DTU, GetElementPtrInst *GEPA, in createMaskedFindMismatch() argument
451 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createMaskedFindMismatch()
482 DTU.applyUpdates( in createMaskedFindMismatch()
505 DTU.applyUpdates( in createMaskedFindMismatch()
530 IRBuilder<> &Builder, DomTreeUpdater &DTU, GetElementPtrInst *GEPA, in createPredicatedFindMismatch() argument
542 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createPredicatedFindMismatch()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp67 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()
314 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in run() local
316 DTU.applyUpdates(Updates); in run()
326 unifyReturnBlockSet(F, DTU, ReturningBlocks, "UnifiedReturnBlock"); in run()

123