Lines Matching refs:CtxI

620                                 const Instruction *CtxI,  in followUsesInContext()  argument
623 auto EIt = Explorer.begin(CtxI), EEnd = Explorer.end(CtxI); in followUsesInContext()
646 Instruction &CtxI) { in followUsesInMBEC() argument
657 followUsesInContext<AAType>(AA, A, *Explorer, &CtxI, Uses, S); in followUsesInMBEC()
702 Explorer->checkForAllContext(&CtxI, Pred); in followUsesInMBEC()
2559 if (Instruction *CtxI = getCtxI()) in initialize() local
2560 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
4921 if (Instruction *CtxI = getCtxI()) in initialize() local
4922 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
5228 if (Instruction *CtxI = getCtxI()) in initialize() local
5229 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
6125 static Value *ensureType(Attributor &A, Value &V, Type &Ty, Instruction *CtxI, in ensureType()
6129 if (CtxI && V.getType()->canLosslesslyBitCastTo(&Ty)) in ensureType()
6132 "", CtxI); in ensureType()
6142 Instruction &I, Type &Ty, Instruction *CtxI, in reproduceInst()
6144 assert(CtxI && "Cannot reproduce an instruction without context!"); in reproduceInst()
6146 !isSafeToSpeculativelyExecute(&I, CtxI, /* DT */ nullptr, in reproduceInst()
6150 Value *NewOp = reproduceValue(A, QueryingAA, *Op, Ty, CtxI, Check, VMap); in reproduceInst()
6165 CloneI->insertBefore(CtxI); in reproduceInst()
6176 Type &Ty, Instruction *CtxI, bool Check, in reproduceValue()
6190 if (CtxI && AA::isValidAtPosition(AA::ValueAndContext(*EffectiveV, *CtxI), in reproduceValue()
6192 return ensureType(A, *EffectiveV, Ty, CtxI, Check); in reproduceValue()
6194 if (Value *NewV = reproduceInst(A, QueryingAA, *I, Ty, CtxI, Check, VMap)) in reproduceValue()
6195 return ensureType(A, *NewV, Ty, CtxI, Check); in reproduceValue()
6201 Value *manifestReplacementValue(Attributor &A, Instruction *CtxI) const { in manifestReplacementValue()
6209 if (reproduceValue(A, *this, *NewV, *getAssociatedType(), CtxI, in manifestReplacementValue()
6211 return reproduceValue(A, *this, *NewV, *getAssociatedType(), CtxI, in manifestReplacementValue()
6962 Instruction *CtxI = isa<InvokeInst>(AI.CB) ? AI.CB : AI.CB->getNextNode(); in updateImpl() local
6963 if (!Explorer || !Explorer->findInContextOf(UniqueFree, CtxI)) { in updateImpl()
9014 const Instruction *CtxI = nullptr) const { in getConstantRangeFromLVI()
9022 if (!LVI || !CtxI) in getConstantRangeFromLVI()
9025 const_cast<Instruction *>(CtxI), in getConstantRangeFromLVI()
9035 const Instruction *CtxI, in isValidCtxInstructionForOutsideAnalysis()
9037 if (!CtxI || (!AllowAACtxI && CtxI == getCtxI())) in isValidCtxInstructionForOutsideAnalysis()
9042 if (!AA::isValidInScope(getAssociatedValue(), CtxI->getFunction())) in isValidCtxInstructionForOutsideAnalysis()
9053 return DT && DT->dominates(I, CtxI); in isValidCtxInstructionForOutsideAnalysis()
9062 const Instruction *CtxI = nullptr) const override { in getKnownConstantRange()
9063 if (!isValidCtxInstructionForOutsideAnalysis(A, CtxI, in getKnownConstantRange()
9067 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getKnownConstantRange()
9068 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getKnownConstantRange()
9075 const Instruction *CtxI = nullptr) const override { in getAssumedConstantRange()
9080 if (!isValidCtxInstructionForOutsideAnalysis(A, CtxI, in getAssumedConstantRange()
9084 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getAssumedConstantRange()
9085 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getAssumedConstantRange()
9257 const Instruction *CtxI, in calculateBinaryOperator()
9292 auto LHSAARange = LHSAA->getAssumedConstantRange(A, CtxI); in calculateBinaryOperator()
9300 auto RHSAARange = RHSAA->getAssumedConstantRange(A, CtxI); in calculateBinaryOperator()
9313 const Instruction *CtxI, in calculateCastInst()
9346 const Instruction *CtxI, in calculateCmpInst()
9387 auto LHSAARange = LHSAA->getAssumedConstantRange(A, CtxI); in calculateCmpInst()
9388 auto RHSAARange = RHSAA->getAssumedConstantRange(A, CtxI); in calculateCmpInst()
9428 auto VisitValueCB = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
9450 T.unionAssumed(AA->getAssumedConstantRange(A, CtxI)); in updateImpl()
9459 if (!calculateBinaryOperator(A, BinOp, T, CtxI, QuerriedAAs)) in updateImpl()
9462 if (!calculateCmpInst(A, CmpI, T, CtxI, QuerriedAAs)) in updateImpl()
9465 if (!calculateCastInst(A, CastI, T, CtxI, QuerriedAAs)) in updateImpl()
10214 if (Instruction *CtxI = getCtxI()) in initialize() local
10215 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
10320 if (Instruction *CtxI = getCtxI()) in initialize() local
10321 followUsesInMBEC(*this, A, getState(), *CtxI); in initialize()
10392 auto VisitValueCB = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
10518 auto VisitValue = [&](Value &V, const Instruction *CtxI) -> bool { in updateImpl() argument
10532 auto ProcessCalledOperand = [&](Value *V, Instruction *CtxI) { in updateImpl() argument
10534 VisitValue(*V, CtxI); in updateImpl()
10542 Values.push_back({*V, CtxI}); in updateImpl()
10808 const Instruction *CtxI, AA::ValueScope S, in addValue()
10812 if (auto *CB = dyn_cast_or_null<CallBase>(CtxI)) { in addValue()
10845 CtxI = nullptr; in addValue()
10849 State.unionAssumed({{*VPtr, CtxI}, S}); in addValue()
11095 const Instruction *CtxI = II.I.getCtxI(); in handleSelectInst() local
11105 Worklist.push_back({{*SI.getFalseValue(), CtxI}, II.S}); in handleSelectInst()
11107 Worklist.push_back({{*SI.getTrueValue(), CtxI}, II.S}); in handleSelectInst()
11110 Worklist.push_back({{*SI.getTrueValue(), CtxI}, II.S}); in handleSelectInst()
11111 Worklist.push_back({{*SI.getFalseValue(), CtxI}, II.S}); in handleSelectInst()
11118 addValue(A, getState(), **SimpleV, CtxI, II.S, getAnchorScope()); in handleSelectInst()
11168 const Instruction *CtxI = II.I.getCtxI(); in handleLoadInst() local
11184 Worklist.push_back({{*PotentialCopy, CtxI}, II.S}); in handleLoadInst()
11186 Worklist.push_back({{*PotentialCopy, CtxI}, AA::Interprocedural}); in handleLoadInst()
11190 addValue(A, getState(), LI, CtxI, AA::Intraprocedural, getAnchorScope()); in handleLoadInst()
11332 const Instruction *CtxI = II.I.getCtxI(); in genericValueTraversal() local
11344 addValue(A, getState(), *V, CtxI, S, getAnchorScope()); in genericValueTraversal()
11365 Worklist.push_back({{*NewV, CtxI}, S}); in genericValueTraversal()
11386 if (V == InitialV && CtxI == getCtxI()) { in genericValueTraversal()
11391 addValue(A, getState(), *V, CtxI, S, getAnchorScope()); in genericValueTraversal()
11515 auto HandleReturnedValue = [&](Value &V, Instruction *CtxI, in updateImpl()
11527 VAC.getCtxI() ? VAC.getCtxI() : CtxI, S, AnchorScope); in updateImpl()
11557 const Instruction *CtxI, AA::ValueScope S, in addValue()
11563 Base::addValue(A, State, V, CtxI, S, AnchorScope); in addValue()