/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | IndirectBrExpandPass.cpp | 70 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 D | ExpandMemCmp.cpp | 88 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 D | DwarfEHPrepare.cpp | 62 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 D | SimplifyCFGPass.cpp | 162 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 D | LowerConstantIntrinsics.cpp | 56 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 D | SCCP.cpp | 63 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 D | ScalarizeMaskedMemIntrin.cpp | 71 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 D | CallSiteSplitting.cpp | 304 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 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()
|
H A D | DFAJumpThreading.cpp | 134 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 D | TailRecursionElimination.cpp | 405 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 D | MergeICmps.cpp | 409 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 D | JumpTableToSwitch.cpp | 94 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 D | LoopSimplifyCFG.cpp | 117 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 D | BasicBlockUtils.h | 54 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 D | EscapeEnumerator.h | 38 DomTreeUpdater *DTU; variable 42 bool HandleExceptions = true, DomTreeUpdater *DTU = nullptr) 44 Builder(F.getContext()), HandleExceptions(HandleExceptions), DTU(DTU) {} in F()
|
H A D | Local.h | 65 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 D | BasicBlockUtils.cpp | 96 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 D | SimplifyCFG.cpp | 242 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 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()
|
H A D | LibCallsShrinkWrap.cpp | 55 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 D | Local.cpp | 132 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 D | LoopIdiomVectorize.cpp | 122 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 D | AMDGPUUnifyDivergentExitNodes.cpp | 68 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 D | AggressiveInstCombine.cpp | 931 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 …]
|