Home | History | Annotate | Download | only in Analysis

Lines Matching refs:DT

66 // the context instruction are not in the same block then the DT helps in
72 const DominatorTree *DT;
87 const DominatorTree *DT)
88 : DL(DL), AC(AC), CxtI(CxtI), DT(DT), NumExcluded(0) {}
91 : DL(Q.DL), AC(Q.AC), CxtI(Q.CxtI), DT(Q.DT), NumExcluded(Q.NumExcluded) {
128 const DominatorTree *DT) {
130 Query(DL, AC, safeCxtI(V, CxtI), DT));
135 const DominatorTree *DT) {
143 computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, DL, 0, AC, CxtI, DT);
144 computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, DL, 0, AC, CxtI, DT);
154 const DominatorTree *DT) {
156 Query(DL, AC, safeCxtI(V, CxtI), DT));
165 const DominatorTree *DT) {
167 Query(DL, AC, safeCxtI(V, CxtI), DT));
174 const DominatorTree *DT) {
175 return ::isKnownNonZero(V, Depth, Query(DL, AC, safeCxtI(V, CxtI), DT));
180 const DominatorTree *DT) {
182 ComputeSignBit(V, NonNegative, Negative, DL, Depth, AC, CxtI, DT);
188 const DominatorTree *DT) {
194 return isKnownNonNegative(V, DL, Depth, AC, CxtI, DT) &&
195 isKnownNonZero(V, DL, Depth, AC, CxtI, DT);
200 const DominatorTree *DT) {
202 ComputeSignBit(V, NonNegative, Negative, DL, Depth, AC, CxtI, DT);
210 const DominatorTree *DT) {
213 DT));
221 const Instruction *CxtI, const DominatorTree *DT) {
223 Query(DL, AC, safeCxtI(V, CxtI), DT));
231 const DominatorTree *DT) {
232 return ::ComputeNumSignBits(V, Depth, Query(DL, AC, safeCxtI(V, CxtI), DT));
460 const DominatorTree *DT) {
471 if (DT) {
472 if (DT->dominates(Inv, CxtI)) {
489 // When we don't have a DT, we do a limited search...
515 const DominatorTree *DT) {
516 return ::isValidAssumeForContext(const_cast<Instruction *>(I), CxtI, DT);
547 if (Arg == V && isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
567 Pred == ICmpInst::ICMP_EQ && isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
576 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
590 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
604 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
618 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
632 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
649 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
666 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
677 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
690 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
703 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
713 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
724 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
735 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
746 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
757 DT)) {
767 isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
3066 const DominatorTree *DT) {
3116 LI->getAlignment(), DL, CtxI, DT);
3231 const DominatorTree *DT) {
3254 if (Edge.isSingleEdge() && DT->dominates(Edge, CtxI->getParent()))
3258 DT->dominates(cast<Instruction>(CmpU), CtxI)) {
3268 const DominatorTree *DT) {
3272 return CtxI ? ::isKnownNonNullFromDominatingCondition(V, CtxI, DT) : false;
3279 const DominatorTree *DT) {
3292 DT);
3294 DT);
3329 const DominatorTree *DT) {
3332 AC, CxtI, DT);
3336 AC, CxtI, DT);
3356 AssumptionCache *AC, const Instruction *CxtI, const DominatorTree *DT) {
3364 AC, CxtI, DT);
3366 AC, CxtI, DT);
3388 /*Depth=*/0, AC, CxtI, DT);
3398 bool llvm::isOverflowIntrinsicNoWrap(IntrinsicInst *II, DominatorTree &DT) {
3444 if (DT.dominates(NoWrapEdge, Result->getParent()))
3448 if (!DT.dominates(NoWrapEdge, RU))
3463 const DominatorTree *DT) {
3465 Add, DL, AC, CxtI, DT);
3472 const DominatorTree *DT) {
3473 return ::computeOverflowForSignedAdd(LHS, RHS, nullptr, DL, AC, CxtI, DT);
3961 const DominatorTree *DT) {
3998 computeKnownBits(X, KnownZero, KnownOne, DL, Depth + 1, AC, CxtI, DT);
4023 const Instruction *CxtI, const DominatorTree *DT) {
4031 DT) &&
4032 isTruePredicate(CmpInst::ICMP_SLE, ARHS, BRHS, DL, Depth, AC, CxtI, DT))
4039 DT) &&
4040 isTruePredicate(CmpInst::ICMP_ULE, ARHS, BRHS, DL, Depth, AC, CxtI, DT))
4102 const DominatorTree *DT) {
4155 CxtI, DT);