Home
last modified time | relevance | path

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

123

/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
179 if (DTU) in runImpl()
182 if (DTU) { in runImpl()
189 if (DTU) { in runImpl()
192 DTU->applyUpdates(Updates); in runImpl()
224 if (DTU) { in runImpl()
243 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.cpp62 DomTreeUpdater *DTU; member in __anonc50c50a40111::DwarfEHPrepare
85 : OptLevel(OptLevel_), F(F_), TLI(TLI_), DTU(DTU_), TTI(TTI_), in DwarfEHPrepare()
134 assert(DTU && "Should have DomTreeUpdater here."); in pruneUnreachableResumes()
140 if (isPotentiallyReachable(LP, RI, nullptr, &DTU->getDomTree())) { in pruneUnreachableResumes()
164 simplifyCFG(BB, *TTI, DTU); in pruneUnreachableResumes()
309 if (DTU) in InsertUnwindResumeCalls()
310 DTU->applyUpdates(Updates); in InsertUnwindResumeCalls()
325 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Lazy); in prepareDwarfEH() local
327 return DwarfEHPrepare(OptLevel, F, TLI, DT ? &DTU : nullptr, TTI, in prepareDwarfEH()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimplifyCFGPass.cpp162 DomTreeUpdater *DTU) { in tailMergeBlocksWithSimilarFunctionTerminators() argument
168 if (DTU && DTU->isBBPendingDeletion(&BB)) in tailMergeBlocksWithSimilarFunctionTerminators()
217 Changed |= performBlockTailMerging(F, BBs, DTU ? &Updates : nullptr); in tailMergeBlocksWithSimilarFunctionTerminators()
219 if (DTU) in tailMergeBlocksWithSimilarFunctionTerminators()
220 DTU->applyUpdates(Updates); in tailMergeBlocksWithSimilarFunctionTerminators()
228 DomTreeUpdater *DTU, in iterativelySimplifyCFG() argument
251 if (DTU) { in iterativelySimplifyCFG()
253 !DTU->isBBPendingDeletion(&BB) && in iterativelySimplifyCFG()
257 while (BBIt != F.end() && DTU->isBBPendingDeletion(&*BBIt)) in iterativelySimplifyCFG()
260 if (simplifyCFG(&BB, TTI, DTU, Options, LoopHeaders)) { in iterativelySimplifyCFG()
[all …]
H A DLowerConstantIntrinsics.cpp56 DomTreeUpdater *DTU) { in replaceConditionalBranchesOnConstant() argument
93 if (DTU) in replaceConditionalBranchesOnConstant()
94 DTU->applyUpdates({{DominatorTree::Delete, Source, Other}}); in replaceConditionalBranchesOnConstant()
104 std::optional<DomTreeUpdater> DTU; in lowerConstantIntrinsics() local
106 DTU.emplace(DT, DomTreeUpdater::UpdateStrategy::Lazy); in lowerConstantIntrinsics()
153 II, NewValue, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics()
156 removeUnreachableBlocks(F, DTU ? &*DTU : nullptr); in lowerConstantIntrinsics()
H A DSCCP.cpp63 const TargetLibraryInfo *TLI, DomTreeUpdater &DTU) { in runSCCP() argument
108 /*PreserveLCSSA=*/false, &DTU); in runSCCP()
112 MadeChanges |= Solver.removeNonFeasibleEdges(&BB, DTU, NewUnreachableBB); in runSCCP()
116 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.cpp71 DomTreeUpdater *DTU);
74 const DataLayout &DL, DomTreeUpdater *DTU);
144 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedLoad() argument
225 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedLoad()
282 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedStore() argument
355 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedStore()
406 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedGather() argument
477 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedGather()
536 DomTreeUpdater *DTU, bool &ModifiedDT) { in scalarizeMaskedScatter() argument
604 /*BranchWeights=*/nullptr, DTU); in scalarizeMaskedScatter()
[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()
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 …]
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.cpp134 void unfold(DomTreeUpdater *DTU, LoopInfo *LI, SelectInstToUnfold SIToUnfold,
151 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in unfoldSelectInstrs() local
161 unfold(&DTU, LI, SIToUnfold, &NewSIsToUnfold, &NewBBs); in unfoldSelectInstrs()
182 DomTreeUpdater *DTU, SelectInst *SI, PHINode *SIUse, SelectInst *SIToSink, in createBasicBlockAndSinkSelectInst() argument
195 DTU->applyUpdates({{DominatorTree::Insert, *NewBlock, EndBlock}}); in createBasicBlockAndSinkSelectInst()
205 void unfold(DomTreeUpdater *DTU, LoopInfo *LI, SelectInstToUnfold SIToUnfold, in unfold() argument
227 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock, in unfold()
232 createBasicBlockAndSinkSelectInst(DTU, SI, SIUse, SIOp, EndBlock, in unfold()
244 DTU->applyUpdates({{DominatorTree::Insert, FalseBlock, EndBlock}}); in unfold()
308 DTU->applyUpdates({{DominatorTree::Insert, StartBlock, TT}, in unfold()
[all …]
H A DTailRecursionElimination.cpp405 DomTreeUpdater &DTU; member in __anone41365f00511::TailRecursionEliminator
435 DomTreeUpdater &DTU) in TailRecursionEliminator() argument
436 : F(F), TTI(TTI), AA(AA), ORE(ORE), DTU(DTU) {} in TailRecursionEliminator()
457 DomTreeUpdater &DTU);
557 DTU.recalculate(*NewEntry->getParent()); in createTailRecurseLoopHeader()
739 DTU.applyUpdates({{DominatorTree::Insert, BB, HeaderBB}}); in eliminateCall()
839 FoldReturnIntoUncondBranch(Ret, Succ, &BB, &DTU); in processBlock()
848 DTU.deleteBB(Succ); in processBlock()
866 DomTreeUpdater &DTU) { in eliminate() argument
882 TailRecursionEliminator TRE(F, TTI, AA, ORE, DTU); in eliminate()
[all …]
H A DMergeICmps.cpp409 DomTreeUpdater &DTU);
607 AliasAnalysis &AA, DomTreeUpdater &DTU) { in mergeComparisons() argument
676 DTU.applyUpdates({{DominatorTree::Insert, BB, PhiBB}}); in mergeComparisons()
681 DTU.applyUpdates({{DominatorTree::Insert, BB, NextCmpBlock}, in mergeComparisons()
688 DomTreeUpdater &DTU) { in simplify() argument
699 Blocks, InsertBefore, NextCmpBlock, Phi_, TLI, AA, DTU); in simplify()
710 DTU.applyUpdates({{DominatorTree::Delete, Pred, EntryBlock_}, in simplify()
717 if (ChainEntryIsFnEntry && DTU.hasDomTree()) { in simplify()
721 DTU.getDomTree().setNewRoot(NextCmpBlock); in simplify()
722 DTU.applyUpdates({{DominatorTree::Delete, NextCmpBlock, EntryBlock_}}); in simplify()
[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()
H A DLoopSimplifyCFG.cpp117 DomTreeUpdater DTU; member in __anona0e87c8a0111::ConstantTerminatorFoldingImpl
415 DTU.applyUpdates(DTUpdates); in handleDeadExits()
469 DTU.applyUpdates(DTUpdates); in deleteDeadLoopBlocks()
472 DTU.deleteBB(BB); in deleteDeadLoopBlocks()
532 DTU(DT, DomTreeUpdater::UpdateStrategy::Eager) {} in ConstantTerminatorFoldingImpl()
611 DTU.applyUpdates(DTUpdates); in run()
664 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in mergeBlocksIntoPredecessors() local
681 MergeBlockIntoPredecessor(Succ, &DTU, &LI, MSSAU); in mergeBlocksIntoPredecessors()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DBasicBlockUtils.h54 void DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
64 DomTreeUpdater *DTU = nullptr,
70 bool EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
94 /// If \p DT is not nullptr, update it directly; in that case, DTU must be
96 bool MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU = nullptr,
112 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr);
303 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr,
307 DomTreeUpdater *DTU = nullptr, LoopInfo *LI = nullptr,
310 return SplitBlock(Old, SplitPt->getIterator(), DTU, LI, MSSAU, BBName, Before);
319 DomTreeUpdater *DTU, LoopInf
[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.h65 DomTreeUpdater *DTU = nullptr);
154 void MergeBasicBlockIntoOnlyPred(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
161 DomTreeUpdater *DTU = nullptr);
186 DomTreeUpdater *DTU = nullptr,
198 bool FoldBranchToCommonDest(BranchInst *BI, llvm::DomTreeUpdater *DTU = nullptr,
256 CallInst *changeToCall(InvokeInst *II, DomTreeUpdater *DTU = nullptr);
379 DomTreeUpdater *DTU = nullptr,
388 DomTreeUpdater *DTU = nullptr);
397 Instruction *removeUnwindEdge(BasicBlock *BB, DomTreeUpdater *DTU = nullptr);
402 bool removeUnreachableBlocks(Function &F, DomTreeUpdater *DTU = nullptr,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp96 void llvm::DeleteDeadBlock(BasicBlock *BB, DomTreeUpdater *DTU, in DeleteDeadBlock() argument
98 DeleteDeadBlocks({BB}, DTU, KeepOneInputPHIs); in DeleteDeadBlock()
101 void llvm::DeleteDeadBlocks(ArrayRef <BasicBlock *> BBs, DomTreeUpdater *DTU, in DeleteDeadBlocks() argument
113 detachDeadBlocks(BBs, DTU ? &Updates : nullptr, KeepOneInputPHIs); in DeleteDeadBlocks()
115 if (DTU) in DeleteDeadBlocks()
116 DTU->applyUpdates(Updates); in DeleteDeadBlocks()
119 if (DTU) in DeleteDeadBlocks()
120 DTU->deleteBB(BB); in DeleteDeadBlocks()
125 bool llvm::EliminateUnreachableBlocks(Function &F, DomTreeUpdater *DTU, in EliminateUnreachableBlocks() argument
140 DeleteDeadBlocks(DeadBlocks, DTU, KeepOneInputPHIs); in EliminateUnreachableBlocks()
[all …]
H A DSimplifyCFG.cpp242 DomTreeUpdater *DTU; member in __anonee21a60b0111::SimplifyCFGOpt
289 SimplifyCFGOpt(const TargetTransformInfo &TTI, DomTreeUpdater *DTU, in SimplifyCFGOpt() argument
292 : TTI(TTI), DTU(DTU), DL(DL), LoopHeaders(LoopHeaders), Options(Opts) { in SimplifyCFGOpt()
293 assert((!DTU || !DTU->hasPostDomTree()) && in SimplifyCFGOpt()
945 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor()
946 DTU->applyUpdates( in SimplifyEqualityComparisonWithOnlyPredecessor()
965 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor()
970 if (DTU) in SimplifyEqualityComparisonWithOnlyPredecessor()
975 if (DTU) { in SimplifyEqualityComparisonWithOnlyPredecessor()
980 DTU->applyUpdates(Updates); 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.cpp132 DomTreeUpdater *DTU) { in ConstantFoldTerminator() argument
184 if (DTU) in ConstantFoldTerminator()
185 DTU->applyUpdates({{DominatorTree::Delete, BB, OldDest}}); in ConstantFoldTerminator()
281 if (DTU && Succ != TheOnlyDest) in ConstantFoldTerminator()
296 if (DTU) { in ConstantFoldTerminator()
301 DTU->applyUpdates(Updates); in ConstantFoldTerminator()
352 if (DTU && DestBB != TheOnlyDest) in ConstantFoldTerminator()
379 if (DTU) { in ConstantFoldTerminator()
384 DTU->applyUpdates(Updates); in ConstantFoldTerminator()
772 DomTreeUpdater *DTU) { in MergeBasicBlockIntoOnlyPred() argument
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp122 Value *expandFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
126 Value *createMaskedFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
130 Value *createPredicatedFindMismatch(IRBuilder<> &Builder, DomTreeUpdater &DTU,
377 IRBuilder<> &Builder, DomTreeUpdater &DTU, GetElementPtrInst *GEPA, in createMaskedFindMismatch() argument
402 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createMaskedFindMismatch()
433 DTU.applyUpdates( in createMaskedFindMismatch()
456 DTU.applyUpdates( in createMaskedFindMismatch()
483 IRBuilder<> &Builder, DomTreeUpdater &DTU, GetElementPtrInst *GEPA, in createPredicatedFindMismatch() argument
495 DTU.applyUpdates({{DominatorTree::Insert, VectorLoopPreheaderBlock, in createPredicatedFindMismatch()
546 DTU.applyUpdates( in createPredicatedFindMismatch()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp68 BasicBlock *unifyReturnBlockSet(Function &F, DomTreeUpdater &DTU,
141 Function &F, DomTreeUpdater &DTU, ArrayRef<BasicBlock *> ReturningBlocks, in unifyReturnBlockSet() argument
176 DTU.applyUpdates(Updates); in unifyReturnBlockSet()
181 simplifyCFG(BB, *TTI, RequireAndPreserveDomTree ? &DTU : nullptr, in unifyReturnBlockSet()
315 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in run() local
317 DTU.applyUpdates(Updates); in run()
327 unifyReturnBlockSet(F, DTU, ReturningBlocks, "UnifiedReturnBlock"); in run()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DAggressiveInstCombine.cpp931 StrNCmpInliner(CallInst *CI, LibFunc Func, DomTreeUpdater *DTU, in StrNCmpInliner() argument
933 : CI(CI), Func(Func), DTU(DTU), DL(DL) {} in StrNCmpInliner()
942 DomTreeUpdater *DTU; member in __anone4f7f9130211::StrNCmpInliner
1061 SplitBlock(BBCI, CI, DTU, nullptr, nullptr, BBCI->getName() + ".tail"); in inlineCompare()
1097 if (DTU) { in inlineCompare()
1107 DTU->applyUpdates(Updates); in inlineCompare()
1112 static bool foldMemChr(CallInst *Call, DomTreeUpdater *DTU, in foldMemChr() argument
1136 BasicBlock *BBNext = SplitBlock(BB, Call, DTU); in foldMemChr()
1151 if (DTU) in foldMemChr()
1166 if (DTU) { in foldMemChr()
[all …]

123