Searched refs:DT (Results 26 - 50 of 302) sorted by relevance

1234567891011>>

/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineRegionInfo.cpp39 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 DDominators.h56 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 DSyncDependenceAnalysis.h47 SyncDependenceAnalysis(const DominatorTree &DT, const PostDominatorTree &PDT,
74 const DominatorTree &DT; member in class:llvm::SyncDependenceAnalysis
H A DDemandedBits.h42 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 DIteratedDominanceFrontier.h45 IDFCalculator(DominatorTreeBase<BasicBlock, IsPostDom> &DT) argument
46 : IDFCalculatorBase(DT) {}
48 IDFCalculator(DominatorTreeBase<BasicBlock, IsPostDom> &DT, argument
50 : IDFCalculatorBase(DT, ChildrenGetterTy(GD)) {
H A DCFG.h61 /// 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 DValueTracking.h58 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 DBasicAliasAnalysis.h61 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 DDomTreeUpdater.h32 : 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 DDominanceFrontier.h132 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 DRegionInfo.cpp66 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 DPostDominators.cpp77 DT.recalculate(F);
83 assert(DT.verify(PostDominatorTree::VerificationLevel::Full));
85 assert(DT.verify(PostDominatorTree::VerificationLevel::Basic));
89 DT.print(OS);
H A DOrderedInstructions.cpp37 return DT->dominates(InstA->getParent(), InstB->getParent());
47 DomTreeNode *DA = DT->getNode(InstA->getParent());
48 DomTreeNode *DB = DT->getNode(InstB->getParent());
H A DLoads.cpp54 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 DCaptureTracking.cpp78 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 DTypeMetadataUtils.cpp26 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 DSyncDependenceAnalysis.cpp120 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 DFloat2Int.h30 bool runImpl(Function &F, const DominatorTree &DT);
33 void findRoots(Function &F, const DominatorTree &DT,
H A DAlignmentFromAssumptions.h36 DominatorTree *DT = nullptr; member in struct:llvm::AlignmentFromAssumptionsPass
H A DSCCP.h44 DominatorTree *DT; member in struct:llvm::AnalysisResultsForFn
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp79 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 DLoopRotationUtils.h34 AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE,
H A DUnrollLoop.h82 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 DWebAssemblyOptimizeReturned.cpp39 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 DInstSimplifyPass.cpp40 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);

Completed in 180 milliseconds

1234567891011>>