Lines Matching refs:CtxI

312                                      const Instruction *CtxI,  in getAssumedUnderlyingObjects()  argument
591 const Instruction *CtxI, in followUsesInContext() argument
594 auto EIt = Explorer.begin(CtxI), EEnd = Explorer.end(CtxI); in followUsesInContext()
617 Instruction &CtxI) { in followUsesInMBEC() argument
627 followUsesInContext<AAType>(AA, A, Explorer, &CtxI, Uses, S); in followUsesInMBEC()
672 Explorer.checkForAllContext(&CtxI, Pred); in followUsesInMBEC()
2301 if (Instruction *CtxI = getCtxI()) in initialize() local
2302 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
2356 auto VisitValueCB = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
2360 if (!isKnownNonZero(&V, DL, 0, AC, CtxI, DT)) in updateImpl()
4157 if (Instruction *CtxI = getCtxI()) in initialize() local
4158 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
4459 if (Instruction *CtxI = getCtxI()) in initialize() local
4460 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
5358 static Value *ensureType(Attributor &A, Value &V, Type &Ty, Instruction *CtxI, in ensureType()
5362 if (CtxI && V.getType()->canLosslesslyBitCastTo(&Ty)) in ensureType()
5365 "", CtxI); in ensureType()
5375 Instruction &I, Type &Ty, Instruction *CtxI, in reproduceInst()
5377 assert(CtxI && "Cannot reproduce an instruction without context!"); in reproduceInst()
5379 !isSafeToSpeculativelyExecute(&I, CtxI, /* DT */ nullptr, in reproduceInst()
5383 Value *NewOp = reproduceValue(A, QueryingAA, *Op, Ty, CtxI, Check, VMap); in reproduceInst()
5398 CloneI->insertBefore(CtxI); in reproduceInst()
5409 Type &Ty, Instruction *CtxI, bool Check, in reproduceValue()
5423 if (CtxI && AA::isValidAtPosition(AA::ValueAndContext(*EffectiveV, *CtxI), in reproduceValue()
5425 return ensureType(A, *EffectiveV, Ty, CtxI, Check); in reproduceValue()
5427 if (Value *NewV = reproduceInst(A, QueryingAA, *I, Ty, CtxI, Check, VMap)) in reproduceValue()
5428 return ensureType(A, *NewV, Ty, CtxI, Check); in reproduceValue()
5434 Value *manifestReplacementValue(Attributor &A, Instruction *CtxI) const { in manifestReplacementValue()
5442 if (reproduceValue(A, *this, *NewV, *getAssociatedType(), CtxI, in manifestReplacementValue()
5444 return reproduceValue(A, *this, *NewV, *getAssociatedType(), CtxI, in manifestReplacementValue()
6211 Instruction *CtxI = isa<InvokeInst>(AI.CB) ? AI.CB : AI.CB->getNextNode(); in updateImpl() local
6212 if (!Explorer.findInContextOf(UniqueFree, CtxI)) { in updateImpl()
8106 const Instruction *CtxI = nullptr) const { in getConstantRangeFromLVI()
8114 if (!LVI || !CtxI) in getConstantRangeFromLVI()
8117 const_cast<Instruction *>(CtxI)); in getConstantRangeFromLVI()
8126 const Instruction *CtxI, in isValidCtxInstructionForOutsideAnalysis()
8128 if (!CtxI || (!AllowAACtxI && CtxI == getCtxI())) in isValidCtxInstructionForOutsideAnalysis()
8133 if (!AA::isValidInScope(getAssociatedValue(), CtxI->getFunction())) in isValidCtxInstructionForOutsideAnalysis()
8144 return DT && DT->dominates(I, CtxI); in isValidCtxInstructionForOutsideAnalysis()
8153 const Instruction *CtxI = nullptr) const override { in getKnownConstantRange()
8154 if (!isValidCtxInstructionForOutsideAnalysis(A, CtxI, in getKnownConstantRange()
8158 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getKnownConstantRange()
8159 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getKnownConstantRange()
8166 const Instruction *CtxI = nullptr) const override { in getAssumedConstantRange()
8171 if (!isValidCtxInstructionForOutsideAnalysis(A, CtxI, in getAssumedConstantRange()
8175 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getAssumedConstantRange()
8176 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getAssumedConstantRange()
8354 const Instruction *CtxI, in calculateBinaryOperator()
8387 auto LHSAARange = LHSAA.getAssumedConstantRange(A, CtxI); in calculateBinaryOperator()
8393 auto RHSAARange = RHSAA.getAssumedConstantRange(A, CtxI); in calculateBinaryOperator()
8406 const Instruction *CtxI, in calculateCastInst()
8437 const Instruction *CtxI, in calculateCmpInst()
8474 auto LHSAARange = LHSAA.getAssumedConstantRange(A, CtxI); in calculateCmpInst()
8475 auto RHSAARange = RHSAA.getAssumedConstantRange(A, CtxI); in calculateCmpInst()
8513 auto VisitValueCB = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
8534 T.unionAssumed(AA.getAssumedConstantRange(A, CtxI)); in updateImpl()
8541 if (!calculateBinaryOperator(A, BinOp, T, CtxI, QuerriedAAs)) in updateImpl()
8544 if (!calculateCmpInst(A, CmpI, T, CtxI, QuerriedAAs)) in updateImpl()
8547 if (!calculateCastInst(A, CastI, T, CtxI, QuerriedAAs)) in updateImpl()
9256 if (Instruction *CtxI = getCtxI()) in initialize() local
9257 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
9271 auto VisitValueCB = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
9386 auto VisitValue = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
9400 auto ProcessCalledOperand = [&](Value *V, Instruction *CtxI) { in updateImpl() argument
9405 Values.push_back({*V, CtxI}); in updateImpl()
9852 const Instruction *CtxI, AA::ValueScope S, in addValue()
9856 if (auto *CB = dyn_cast_or_null<CallBase>(CtxI)) { in addValue()
9890 CtxI = nullptr; in addValue()
9894 State.unionAssumed({{*VPtr, CtxI}, S}); in addValue()
10091 const Instruction *CtxI = II.I.getCtxI(); in handleSelectInst() local
10101 Worklist.push_back({{*SI.getFalseValue(), CtxI}, II.S}); in handleSelectInst()
10103 Worklist.push_back({{*SI.getTrueValue(), CtxI}, II.S}); in handleSelectInst()
10106 Worklist.push_back({{*SI.getTrueValue(), CtxI}, II.S}); in handleSelectInst()
10107 Worklist.push_back({{*SI.getFalseValue(), CtxI}, II.S}); in handleSelectInst()
10154 const Instruction *CtxI = II.I.getCtxI(); in handleLoadInst() local
10170 Worklist.push_back({{*PotentialCopy, CtxI}, II.S}); in handleLoadInst()
10172 Worklist.push_back({{*PotentialCopy, CtxI}, AA::Interprocedural}); in handleLoadInst()
10176 addValue(A, getState(), LI, CtxI, AA::Intraprocedural, getAnchorScope()); in handleLoadInst()
10292 const Instruction *CtxI = II.I.getCtxI(); in genericValueTraversal() local
10304 addValue(A, getState(), *V, CtxI, S, getAnchorScope()); in genericValueTraversal()
10324 Worklist.push_back({{*NewV, CtxI}, S}); in genericValueTraversal()
10338 if (V == InitialV && CtxI == getCtxI()) { in genericValueTraversal()
10343 addValue(A, getState(), *V, CtxI, S, getAnchorScope()); in genericValueTraversal()