/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineRegionInfo.cpp | 39 MachineDominatorTree *DT, MachineRegion *Parent) : 40 RegionBase<RegionTraits<MachineFunction>>(Entry, Exit, RI, DT, Parent) {} 63 DT = DT_; 69 TopLevelRegion = new MachineRegion(Entry, nullptr, this, DT, nullptr); 87 auto DT = &getAnalysis<MachineDominatorTree>(); local 91 RI.recalculate(F, DT, PDT, DF); 37 MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit, MachineRegionInfo* RI, MachineDominatorTree *DT, MachineRegion *Parent) argument
|
/freebsd-11-stable/contrib/llvm-project/clang/include/clang/Analysis/Analyses/ |
H A D | Dominators.h | 56 DominatorTreeBase &getBase() { return DT; } 62 return DT.getRoot(); 67 return DT.getRootNode(); 80 if (DT.compare(Other.getBase())) 90 DT.recalculate(*cfg); 104 DomTreeNode *IDom = DT.getNode(*I)->getIDom(); 137 return DT.dominates(A, B); 144 return DT.properlyDominates(A, B); 150 return DT.findNearestCommonDominator(A, B); 155 return DT 181 DominatorTreeBase DT; member in class:clang::CFGDominatorTreeImpl 374 getEntryNode(clang::CFGDomTree *DT) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | SyncDependenceAnalysis.h | 47 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT, 74 const DominatorTree &DT; member in class:llvm::SyncDependenceAnalysis
|
H A D | DemandedBits.h | 42 DemandedBits(Function &F, AssumptionCache &AC, DominatorTree &DT) : argument 43 F(F), AC(AC), DT(DT) {} 73 DominatorTree &DT; member in class:llvm::DemandedBits
|
H A D | IteratedDominanceFrontier.h | 45 IDFCalculator(DominatorTreeBase<BasicBlock, IsPostDom> &DT) argument 46 : IDFCalculatorBase(DT) {} 48 IDFCalculator(DominatorTreeBase<BasicBlock, IsPostDom> &DT, argument 50 : IDFCalculatorBase(DT, ChildrenGetterTy(GD)) {
|
H A D | CFG.h | 61 /// Using DT or LI allows us to answer more quickly. LI reduces the cost of 63 /// single block. DT reduces the cost by allowing the search to terminate when 64 /// we find a block that dominates the block containing 'To'. DT is most useful 70 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr); 79 const DominatorTree *DT = nullptr, 91 const DominatorTree *DT = nullptr, 106 const DominatorTree *DT = nullptr, const LoopInfo *LI = nullptr);
|
H A D | ValueTracking.h | 58 const DominatorTree *DT = nullptr, 66 const DominatorTree *DT = nullptr, 81 const DominatorTree *DT = nullptr, 93 const DominatorTree *DT = nullptr, 107 const DominatorTree *DT = nullptr, 121 const DominatorTree *DT = nullptr, 129 const DominatorTree *DT = nullptr, 137 const DominatorTree *DT = nullptr, 145 const DominatorTree *DT = nullptr, 161 const DominatorTree *DT [all...] |
H A D | BasicAliasAnalysis.h | 61 DominatorTree *DT; member in class:llvm::BasicAAResult 68 DominatorTree *DT = nullptr, LoopInfo *LI = nullptr, 70 : AAResultBase(), DL(DL), F(F), TLI(TLI), AC(AC), DT(DT), LI(LI), PV(PV) 75 DT(Arg.DT), LI(Arg.LI), PV(Arg.PV) {} 78 AC(Arg.AC), DT(Arg.DT), LI(Arg.LI), PV(Arg.PV) {} 170 DominatorTree *DT, bool &NSW, bool &NUW); 173 const DataLayout &DL, AssumptionCache *AC, DominatorTree *DT); [all...] |
H A D | DomTreeUpdater.h | 32 : DT(&DT_), Strategy(Strategy_) {} 34 : DT(DT_), Strategy(Strategy_) {} 41 : DT(&DT_), PDT(&PDT_), Strategy(Strategy_) {} 44 : DT(DT_), PDT(PDT_), Strategy(Strategy_) {} 55 bool hasDomTree() const { return DT != nullptr; } 70 /// Returns true if either of DT or PDT is valid and the tree has at 71 /// least one update pending. If DT or PDT is nullptr it is treated 78 /// Returns false under Eager UpdateStrategy or DT is nullptr. 199 /// modified while awaiting deletion. When both DT and PDT are nullptrs, DelBB 263 DominatorTree *DT member in class:llvm::DomTreeUpdater::UpdateStrategy [all...] |
H A D | DominanceFrontier.h | 132 void analyze(DomTreeT &DT) { argument 133 assert(DT.getRoots().size() == 1 && 135 this->Roots = {DT.getRoot()}; 136 calculate(DT, DT[this->Roots[0]]); 139 const DomSetType &calculate(const DomTreeT &DT, const DomTreeNodeT *Node);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | RegionInfo.cpp | 66 DominatorTree *DT, Region *Parent) : 67 RegionBase<RegionTraits<Function>>(Entry, Exit, RI, DT, Parent) { 100 DT = DT_; 105 this, DT, nullptr); 129 auto DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree(); local 133 RI.recalculate(F, DT, PDT, DF); 192 auto *DT = &AM.getResult<DominatorTreeAnalysis>(F); local 196 RI.recalculate(F, DT, PDT, DF); 64 Region(BasicBlock *Entry, BasicBlock *Exit, RegionInfo* RI, DominatorTree *DT, Region *Parent) argument
|
H A D | PostDominators.cpp | 77 DT.recalculate(F); 83 assert(DT.verify(PostDominatorTree::VerificationLevel::Full)); 85 assert(DT.verify(PostDominatorTree::VerificationLevel::Basic)); 89 DT.print(OS);
|
H A D | OrderedInstructions.cpp | 37 return DT->dominates(InstA->getParent(), InstB->getParent()); 47 DomTreeNode *DA = DT->getNode(InstA->getParent()); 48 DomTreeNode *DB = DT->getNode(InstB->getParent());
|
H A D | Loads.cpp | 54 const Instruction *CtxI, const DominatorTree *DT, 66 Size, DL, CtxI, DT, Visited); 72 if (!CheckForNonNull || isKnownNonZero(V, DL, 0, nullptr, CtxI, DT)) { 102 CtxI, DT, Visited); 108 RelocateInst->getDerivedPtr(), Alignment, Size, DL, CtxI, DT, Visited); 112 Size, DL, CtxI, DT, Visited); 117 DT, Visited); 127 const DominatorTree *DT) { 134 return ::isDereferenceableAndAlignedPointer(V, Alignment, Size, DL, CtxI, DT, 142 const DominatorTree *DT) { 52 isDereferenceableAndAlignedPointer( const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, const Instruction *CtxI, const DominatorTree *DT, SmallPtrSetImpl<const Value *> &Visited) argument 123 isDereferenceableAndAlignedPointer(const Value *V, Align Alignment, const APInt &Size, const DataLayout &DL, const Instruction *CtxI, const DominatorTree *DT) argument 138 isDereferenceableAndAlignedPointer(const Value *V, Type *Ty, MaybeAlign MA, const DataLayout &DL, const Instruction *CtxI, const DominatorTree *DT) argument 159 isDereferenceablePointer(const Value *V, Type *Ty, const DataLayout &DL, const Instruction *CtxI, const DominatorTree *DT) argument 197 isDereferenceableAndAlignedInLoop(LoadInst *LI, Loop *L, ScalarEvolution &SE, DominatorTree &DT) argument 262 isSafeToLoadUnconditionally(Value *V, MaybeAlign MA, APInt &Size, const DataLayout &DL, Instruction *ScanFrom, const DominatorTree *DT) argument 341 isSafeToLoadUnconditionally(Value *V, Type *Ty, MaybeAlign Alignment, const DataLayout &DL, Instruction *ScanFrom, const DominatorTree *DT) argument [all...] |
H A D | CaptureTracking.cpp | 78 CapturesBefore(bool ReturnCaptures, const Instruction *I, const DominatorTree *DT, argument 80 : OrderedBB(IC), BeforeHere(I), DT(DT), 89 if (BeforeHere != I && !DT->isReachableFromEntry(BB)) 120 return !isPotentiallyReachableFromMany(Worklist, BB, nullptr, DT); 126 if (BeforeHere != I && DT->dominates(BeforeHere, I) && 127 !isPotentiallyReachable(I, BeforeHere, nullptr, DT)) 158 const DominatorTree *DT; member in struct:__anon1607::CapturesBefore 203 const DominatorTree *DT, bool IncludeI, 210 if (!DT) 201 PointerMayBeCapturedBefore(const Value *V, bool ReturnCaptures, bool StoreCaptures, const Instruction *I, const DominatorTree *DT, bool IncludeI, OrderedBasicBlock *OBB, unsigned MaxUsesToExplore) argument [all...] |
H A D | TypeMetadataUtils.cpp | 26 const CallInst *CI, DominatorTree &DT) { 35 if (!DT.dominates(CI, User)) 39 DT); 53 int64_t Offset, const CallInst *CI, DominatorTree &DT) { 57 findLoadCallsAtConstantOffset(M, DevirtCalls, User, Offset, CI, DT); 59 findCallsAtConstantOffset(DevirtCalls, nullptr, User, Offset, CI, DT); 67 CI, DT); 76 DominatorTree &DT) { 94 M, DevirtCalls, CI->getArgOperand(0)->stripPointerCasts(), 0, CI, DT); 101 const CallInst *CI, DominatorTree &DT) { 24 findCallsAtConstantOffset(SmallVectorImpl<DevirtCallSite> &DevirtCalls, bool *HasNonCallUses, Value *FPtr, uint64_t Offset, const CallInst *CI, DominatorTree &DT) argument 51 findLoadCallsAtConstantOffset( const Module *M, SmallVectorImpl<DevirtCallSite> &DevirtCalls, Value *VPtr, int64_t Offset, const CallInst *CI, DominatorTree &DT) argument 73 findDevirtualizableCallsForTypeTest( SmallVectorImpl<DevirtCallSite> &DevirtCalls, SmallVectorImpl<CallInst *> &Assumes, const CallInst *CI, DominatorTree &DT) argument 97 findDevirtualizableCallsForTypeCheckedLoad( SmallVectorImpl<DevirtCallSite> &DevirtCalls, SmallVectorImpl<Instruction *> &LoadedPtrs, SmallVectorImpl<Instruction *> &Preds, bool &HasNonCallUses, const CallInst *CI, DominatorTree &DT) argument [all...] |
H A D | SyncDependenceAnalysis.cpp | 120 SyncDependenceAnalysis::SyncDependenceAnalysis(const DominatorTree &DT, argument 123 : FuncRPOT(DT.getRoot()->getParent()), DT(DT), PDT(PDT), LI(LI) {} 132 const DominatorTree &DT; member in struct:llvm::DivergencePropagator 152 DivergencePropagator(const FunctionRPOT &FuncRPOT, const DominatorTree &DT, argument 154 : FuncRPOT(FuncRPOT), DT(DT), PDT(PDT), LI(LI), 348 DivergencePropagator Propagator{FuncRPOT, DT, PDT, LI}; 370 DivergencePropagator Propagator{FuncRPOT, DT, PD [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | Float2Int.h | 30 bool runImpl(Function &F, const DominatorTree &DT); 33 void findRoots(Function &F, const DominatorTree &DT,
|
H A D | AlignmentFromAssumptions.h | 36 DominatorTree *DT = nullptr; member in struct:llvm::AlignmentFromAssumptionsPass
|
H A D | SCCP.h | 44 DominatorTree *DT; member in struct:llvm::AnalysisResultsForFn
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 79 DominatorTree &DT, LoopInfo &LI, 131 DomTreeNode *DomNode = DT.getNode(DomBB); 148 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) 277 Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, 295 BasicBlock *IDomBB = DT.getNode(BB)->getIDom()->getBlock(); 321 bool llvm::formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, argument 328 assert(SubLoop->isRecursivelyLCSSAForm(DT, *LI) && "Subloop not in LCSSA!"); 343 computeBlocksDominatingExits(L, DT, ExitBlocks, BlocksDominatingExits); 372 Changed = formLCSSAForInstructions(Worklist, DT, *L 78 formLCSSAForInstructions(SmallVectorImpl<Instruction *> &Worklist, DominatorTree &DT, LoopInfo &LI, ScalarEvolution *SE) argument 276 computeBlocksDominatingExits( Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, SmallSetVector<BasicBlock *, 8> &BlocksDominatingExits) argument 386 formLCSSARecursively(Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE) argument 399 formLCSSAOnAllLoops(LoopInfo *LI, DominatorTree &DT, ScalarEvolution *SE) argument 415 DominatorTree *DT; member in struct:__anon2776::LCSSAWrapperPass 482 auto &DT = AM.getResult<DominatorTreeAnalysis>(F); local [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | LoopRotationUtils.h | 34 AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE,
|
H A D | UnrollLoop.h | 82 ScalarEvolution *SE, DominatorTree *DT, 90 ScalarEvolution *SE, DominatorTree *DT, 101 DominatorTree *DT, AssumptionCache *AC, bool PreserveLCSSA); 106 DominatorTree *DT, AssumptionCache *AC, 110 bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT, 114 DominatorTree &DT, LoopInfo *LI, ScalarEvolution &SE, 125 ScalarEvolution *SE, DominatorTree *DT,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyOptimizeReturned.cpp | 39 DominatorTree *DT = nullptr; member in class:__anon2446::final 68 [&](Use &U) { return DT->dominates(Inst, U); }); 77 DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | InstSimplifyPass.cpp | 40 if (!SQ.DT->isReachableFromEntry(&BB)) 101 const DominatorTree *DT = variable 110 const SimplifyQuery SQ(DL, TLI, DT, AC); 133 auto &DT = AM.getResult<DominatorTreeAnalysis>(F); local 138 const SimplifyQuery SQ(DL, &TLI, &DT, &AC);
|