| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | BasicBlockUtils.h | 56 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 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 | 67 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 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 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 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 | 61 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 D | StackProtector.cpp | 74 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 D | ShadowStackGCLowering.cpp | 71 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 D | BasicBlockUtils.cpp | 95 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 D | SimplifyCFG.cpp | 260 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 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 | 136 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 D | SimplifyCFGPass.cpp | 165 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 D | LowerConstantIntrinsics.cpp | 55 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 D | SCCP.cpp | 56 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 D | ScalarizeMaskedMemIntrin.cpp | 72 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 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() 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 D | PartiallyInlineLibCalls.cpp | 37 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 D | TailRecursionElimination.cpp | 409 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 D | MergeICmps.cpp | 409 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 D | DFAJumpThreading.cpp | 139 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 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()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopIdiomVectorize.cpp | 152 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 D | AMDGPUUnifyDivergentExitNodes.cpp | 67 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()
|