Lines Matching defs:IRPosition

313     const IRPosition &Pos = IRPosition::value(V);
360 const IRPosition::CallBaseContext *CBContext = nullptr) {
365 IRPosition::IRP_RETURNED ||
367 IRPosition::IRP_CALL_SITE_RETURNED) &&
377 const IRPosition &RVPos = IRPosition::value(RV, CBContext);
416 AAReturnedFromReturnedValues(const IRPosition &IRP, Attributor &A)
442 IRPosition::IRP_ARGUMENT &&
453 const IRPosition &ACSArgPos = IRPosition::callsite_argument(ACS, ArgNo);
456 if (ACSArgPos.getPositionKind() == IRPosition::IRP_INVALID)
497 IRPosition &Pos, StateType &State) {
498 assert((Pos.getPositionKind() == IRPosition::IRP_ARGUMENT) &&
506 const IRPosition CBArgPos = IRPosition::callsite_argument(*CBContext, ArgNo);
537 AAArgumentFromCallSiteArguments(const IRPosition &IRP, Attributor &A)
567 AACalleeToCallSite(const IRPosition &IRP, Attributor &A) : BaseType(IRP, A) {}
572 assert((IRPKind == IRPosition::IRP_CALL_SITE_RETURNED ||
573 IRPKind == IRPosition::IRP_CALL_SITE) &&
586 IRPosition FnPos =
587 IRPKind == llvm::IRPosition::IRP_CALL_SITE_RETURNED
588 ? IRPosition::returned(*Callee,
590 : IRPosition::function(
1066 AAPointerInfoImpl(const IRPosition &IRP, Attributor &A) : BaseTy(IRP) {}
1108 A, &QueryingAA, IRPosition::function(Scope), DepClassTy::OPTIONAL,
1111 IRPosition::function(Scope), &QueryingAA, DepClassTy::NONE);
1145 IRPosition::function(*I.getFunction()), &QueryingAA,
1175 A, this, IRPosition::function(Scope), DepClassTy::OPTIONAL,
1218 A, this, IRPosition::function(*AIFn), DepClassTy::OPTIONAL,
1327 QueryingAA, IRPosition::function(Scope), DepClassTy::OPTIONAL);
1430 void trackPointerInfoStatistics(const IRPosition &IRP) const {}
1459 AAPointerInfoFloating(const IRPosition &IRP, Attributor &A)
1561 *this, IRPosition::value(*VI.first), DepClassTy::OPTIONAL);
1889 *this, IRPosition::callsite_argument(*CB, ArgNo),
1938 AAPointerInfoReturned(const IRPosition &IRP, Attributor &A)
1953 AAPointerInfoArgument(const IRPosition &IRP, Attributor &A)
1963 AAPointerInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
2003 const IRPosition &ArgPos = IRPosition::argument(*Arg);
2035 AAPointerInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
2049 AANoUnwindImpl(const IRPosition &IRP, Attributor &A) : AANoUnwind(IRP, A) {}
2077 A, this, IRPosition::callsite_function(*CB), DepClassTy::REQUIRED,
2093 AANoUnwindFunction(const IRPosition &IRP, Attributor &A)
2103 AANoUnwindCallSite(const IRPosition &IRP, Attributor &A)
2174 AANoSyncImpl(const IRPosition &IRP, Attributor &A) : AANoSync(IRP, A) {}
2207 A, this, IRPosition::callsite_function(CB), DepClassTy::OPTIONAL,
2226 AANoSyncFunction(const IRPosition &IRP, Attributor &A)
2235 AANoSyncCallSite(const IRPosition &IRP, Attributor &A)
2247 AANoFreeImpl(const IRPosition &IRP, Attributor &A) : AANoFree(IRP, A) {}
2262 A, this, IRPosition::callsite_function(cast<CallBase>(I)),
2280 AANoFreeFunction(const IRPosition &IRP, Attributor &A)
2289 AANoFreeCallSite(const IRPosition &IRP, Attributor &A)
2298 AANoFreeFloating(const IRPosition &IRP, Attributor &A)
2306 const IRPosition &IRP = getIRPosition();
2310 IRPosition::function_scope(IRP),
2326 A, this, IRPosition::callsite_argument(*CB, ArgNo),
2351 AANoFreeArgument(const IRPosition &IRP, Attributor &A)
2360 AANoFreeCallSiteArgument(const IRPosition &IRP, Attributor &A)
2372 const IRPosition &ArgPos = IRPosition::argument(*Arg);
2386 AANoFreeReturned(const IRPosition &IRP, Attributor &A)
2407 AANoFreeCallSiteReturned(const IRPosition &IRP, Attributor &A)
2420 bool AANonNull::isImpliedByIR(Attributor &A, const IRPosition &IRP,
2513 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
2552 AANonNullImpl(const IRPosition &IRP, Attributor &A) : AANonNull(IRP, A) {}
2585 AANonNullFloating(const IRPosition &IRP, Attributor &A)
2590 auto CheckIRP = [&](const IRPosition &IRP) {
2612 A, this, IRPosition::value(*Op), DepClassTy::OPTIONAL,
2618 A, this, IRPosition::value(*Select->getFalseValue()),
2621 A, this, IRPosition::value(*Select->getTrueValue()),
2629 const IRPosition AVIRP = IRPosition::value(*AssociatedValue);
2636 if (!CheckIRP(IRPosition::value(*VAC.getValue())))
2650 AANonNullReturned(const IRPosition &IRP, Attributor &A)
2667 AANonNullArgument(const IRPosition &IRP, Attributor &A)
2675 AANonNullCallSiteArgument(const IRPosition &IRP, Attributor &A)
2685 AANonNullCallSiteReturned(const IRPosition &IRP, Attributor &A)
2696 AAMustProgressImpl(const IRPosition &IRP, Attributor &A)
2714 AAMustProgressFunction(const IRPosition &IRP, Attributor &A)
2728 IRPosition IPos = IRPosition::callsite_function(*ACS.getInstruction());
2752 AAMustProgressCallSite(const IRPosition &IRP, Attributor &A)
2761 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
2780 AANoRecurseImpl(const IRPosition &IRP, Attributor &A) : AANoRecurse(IRP, A) {}
2797 AANoRecurseFunction(const IRPosition &IRP, Attributor &A)
2808 IRPosition::function(*ACS.getInstruction()->getFunction()),
2840 AANoRecurseCallSite(const IRPosition &IRP, Attributor &A)
2852 AANonConvergentImpl(const IRPosition &IRP, Attributor &A)
2862 AANonConvergentFunction(const IRPosition &IRP, Attributor &A)
2879 *this, IRPosition::function(*Callee), DepClassTy::REQUIRED);
2908 AAUndefinedBehaviorImpl(const IRPosition &IRP, Attributor &A)
3019 IRPosition CalleeArgumentIRP = IRPosition::callsite_argument(CB, idx);
3027 A.getAssumedSimplified(IRPosition::value(*ArgVal), *this,
3075 A, this, IRPosition::returned(*getAnchorScope()), DepClassTy::NONE,
3100 const IRPosition &ReturnIRP = IRPosition::returned(*getAnchorScope());
3204 A.getAssumedSimplified(IRPosition::value(*V), *this,
3227 AAUndefinedBehaviorFunction(const IRPosition &IRP, Attributor &A)
3274 AAWillReturnImpl(const IRPosition &IRP, Attributor &A)
3302 IRPosition IPos = IRPosition::callsite_function(cast<CallBase>(I));
3331 AAWillReturnFunction(const IRPosition &IRP, Attributor &A)
3351 AAWillReturnCallSite(const IRPosition &IRP, Attributor &A)
3467 CachedReachabilityAA(const IRPosition &IRP, Attributor &A) : BaseTy(IRP, A) {}
3570 AAIntraFnReachabilityFunction(const IRPosition &IRP, Attributor &A)
3723 bool AANoAlias::isImpliedByIR(Attributor &A, const IRPosition &IRP,
3753 AANoAliasImpl(const IRPosition &IRP, Attributor &A) : AANoAlias(IRP, A) {
3765 AANoAliasFloating(const IRPosition &IRP, Attributor &A)
3784 AANoAliasArgument(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
3796 A, this, IRPosition::function_scope(getIRPosition()),
3827 AANoAliasCallSiteArgument(const IRPosition &IRP, Attributor &A)
3845 *this, IRPosition::callsite_argument(CB, OtherArgNo), DepClassTy::NONE);
3889 *this, IRPosition::value(*O), DepClassTy::OPTIONAL);
3893 const IRPosition &VIRP = IRPosition::value(getAssociatedValue());
3916 A, this, IRPosition::callsite_argument(*CB, ArgNo),
3984 const IRPosition &VIRP = IRPosition::value(getAssociatedValue());
4009 AANoAliasReturned(const IRPosition &IRP, Attributor &A)
4025 const IRPosition &RVPos = IRPosition::value(RV);
4053 AANoAliasCallSiteReturned(const IRPosition &IRP, Attributor &A)
4065 AAIsDeadValueImpl(const IRPosition &IRP, Attributor &A) : AAIsDead(IRP, A) {}
4131 const IRPosition &CallIRP = IRPosition::callsite_function(*CB);
4144 AAIsDeadFloating(const IRPosition &IRP, Attributor &A)
4167 IRPosition::function(*FI.getFunction()), *this, DepClassTy::NONE);
4199 if (A.isAssumedDead(IRPosition::value(*V), this, nullptr,
4301 AAIsDeadArgument(const IRPosition &IRP, Attributor &A)
4322 AAIsDeadCallSiteArgument(const IRPosition &IRP, Attributor &A)
4341 const IRPosition &ArgPos = IRPosition::argument(*Arg);
4365 AAIsDeadCallSiteReturned(const IRPosition &IRP, Attributor &A)
4417 AAIsDeadReturned(const IRPosition &IRP, Attributor &A)
4462 AAIsDeadFunction(const IRPosition &IRP, Attributor &A) : AAIsDead(IRP, A) {}
4515 A, this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL,
4637 const IRPosition &IPos = IRPosition::callsite_function(CB);
4663 const IRPosition &IPos = IRPosition::callsite_function(II);
4707 if (!A.getAssumedSimplifiedValues(IRPosition::value(*SI.getCondition()), &AA,
4874 AAIsDeadCallSite(const IRPosition &IRP, Attributor &A)
4901 AADereferenceableImpl(const IRPosition &IRP, Attributor &A)
5015 AADereferenceableFloating(const IRPosition &IRP, Attributor &A)
5044 *this, IRPosition::value(*Base), DepClassTy::REQUIRED);
5106 AADereferenceableReturned(const IRPosition &IRP, Attributor &A)
5121 AADereferenceableArgument(const IRPosition &IRP, Attributor &A)
5132 AADereferenceableCallSiteArgument(const IRPosition &IRP, Attributor &A)
5145 AADereferenceableCallSiteReturned(const IRPosition &IRP, Attributor &A)
5180 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
5225 AAAlignImpl(const IRPosition &IRP, Attributor &A) : AAAlign(IRP, A) {}
5309 AAAlignFloating(const IRPosition &IRP, Attributor &A) : AAAlignImpl(IRP, A) {}
5331 const auto *AA = A.getAAFor<AAAlign>(*this, IRPosition::value(V),
5379 AAAlignReturned(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
5389 AAAlignArgument(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
5406 AAAlignCallSiteArgument(const IRPosition &IRP, Attributor &A)
5432 *this, IRPosition::argument(*Arg), DepClassTy::NONE);
5447 AAAlignCallSiteReturned(const IRPosition &IRP, Attributor &A)
5458 AANoReturnImpl(const IRPosition &IRP, Attributor &A) : AANoReturn(IRP, A) {}
5486 AANoReturnFunction(const IRPosition &IRP, Attributor &A)
5496 AANoReturnCallSite(const IRPosition &IRP, Attributor &A)
5509 AAInstanceInfoImpl(const IRPosition &IRP, Attributor &A)
5557 A, this, IRPosition::function(*Scope), DepClassTy::OPTIONAL,
5581 *this, IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U)),
5626 AAInstanceInfoFloating(const IRPosition &IRP, Attributor &A)
5632 AAInstanceInfoArgument(const IRPosition &IRP, Attributor &A)
5638 AAInstanceInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
5650 const IRPosition &ArgPos = IRPosition::argument(*Arg);
5661 AAInstanceInfoReturned(const IRPosition &IRP, Attributor &A)
5679 AAInstanceInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
5685 bool AANoCapture::isImpliedByIR(Attributor &A, const IRPosition &IRP,
5709 if (A.hasAttr(IRPosition::argument(*Arg),
5734 void AANoCapture::determineFunctionCaptureCapabilities(const IRPosition &IRP,
5781 AANoCaptureImpl(const IRPosition &IRP, Attributor &A) : AANoCapture(IRP, A) {}
5859 const IRPosition &CSArgPos = IRPosition::callsite_argument(*CB, ArgNo);
5899 const IRPosition &IRP = getIRPosition();
5913 const IRPosition &FnPos = IRPosition::function(*F);
5929 if (!A.getAssumedSimplifiedValues(IRPosition::returned(*F), this, Values,
5965 *this, IRPosition::value(*O), DepClassTy::OPTIONAL);
5996 AANoCaptureArgument(const IRPosition &IRP, Attributor &A)
6005 AANoCaptureCallSiteArgument(const IRPosition &IRP, Attributor &A)
6017 const IRPosition &ArgPos = IRPosition::argument(*Arg);
6035 AANoCaptureFloating(const IRPosition &IRP, Attributor &A)
6046 AANoCaptureReturned(const IRPosition &IRP, Attributor &A)
6067 AANoCaptureCallSiteReturned(const IRPosition &IRP, Attributor &A)
6105 AAValueSimplifyImpl(const IRPosition &IRP, Attributor &A)
6235 const IRPosition &IRP, bool Simplify = true) {
6306 AAValueSimplifyArgument(const IRPosition &IRP, Attributor &A)
6334 const IRPosition &ACSArgPos =
6335 IRPosition::callsite_argument(ACS, getCallSiteArgNo());
6338 if (ACSArgPos.getPositionKind() == IRPosition::IRP_INVALID)
6384 AAValueSimplifyReturned(const IRPosition &IRP, Attributor &A)
6403 IRPosition::value(*RI.getReturnValue(), getCallBaseContext()));
6430 AAValueSimplifyFloating(const IRPosition &IRP, Attributor &A)
6461 AAValueSimplifyFunction(const IRPosition &IRP, Attributor &A)
6481 AAValueSimplifyCallSite(const IRPosition &IRP, Attributor &A)
6490 AAValueSimplifyCallSiteReturned(const IRPosition &IRP, Attributor &A)
6499 auto IRP = IRPosition::callsite_argument(*cast<CallBase>(getCtxI()),
6501 if (IRP.getPositionKind() == IRPosition::IRP_CALL_SITE_ARGUMENT &&
6522 AAValueSimplifyCallSiteArgument(const IRPosition &IRP, Attributor &A)
6530 IRPosition::value(getAssociatedValue()), this, DepClassTy::NONE);
6594 AAHeapToStackFunction(const IRPosition &IRP, Attributor &A)
6644 [](const IRPosition &, const AbstractAttribute *,
6647 A.registerSimplificationCallback(IRPosition::callsite_returned(*It.first),
6650 A.registerSimplificationCallback(IRPosition::callsite_returned(*It.first),
6779 A.changeAfterManifest(IRPosition::inst(*AI.CB), *Alloca);
6848 A.getAAFor<AAIsDead>(*this, IRPosition::function(*F), DepClassTy::NONE);
7015 auto CBIRP = IRPosition::callsite_argument(*CB, ArgNo);
7152 AAPrivatizablePtrImpl(const IRPosition &IRP, Attributor &A)
7194 AAPrivatizablePtrArgument(const IRPosition &IRP, Attributor &A)
7220 IRPosition ACSArgPos = IRPosition::callsite_argument(ACS, ArgNo);
7223 if (ACSArgPos.getPositionKind() == IRPosition::IRP_INVALID)
7275 A.getAAFor<AAAlign>(*this, IRPosition::value(getAssociatedValue()),
7355 *this, IRPosition::argument(CBArg), DepClassTy::REQUIRED);
7401 *this, IRPosition::argument(*DCCallee->getArg(DCArgNo)),
7558 A.getAAFor<AAAlign>(*this, IRPosition::value(*Arg), DepClassTy::NONE);
7619 AAPrivatizablePtrFloating(const IRPosition &IRP, Attributor &A)
7647 *this, IRPosition::argument(*Arg), DepClassTy::REQUIRED);
7666 AAPrivatizablePtrCallSiteArgument(const IRPosition &IRP, Attributor &A)
7683 const IRPosition &IRP = getIRPosition();
7716 AAPrivatizablePtrCallSiteReturned(const IRPosition &IRP, Attributor &A)
7732 AAPrivatizablePtrReturned(const IRPosition &IRP, Attributor &A)
7753 AAMemoryBehaviorImpl(const IRPosition &IRP, Attributor &A)
7764 static void getKnownStateFromValue(Attributor &A, const IRPosition &IRP,
7808 const IRPosition &IRP = getIRPosition();
7853 AAMemoryBehaviorFloating(const IRPosition &IRP, Attributor &A)
7881 AAMemoryBehaviorArgument(const IRPosition &IRP, Attributor &A)
7887 const IRPosition &IRP = getIRPosition();
7925 AAMemoryBehaviorCallSiteArgument(const IRPosition &IRP, Attributor &A)
7954 const IRPosition &ArgPos = IRPosition::argument(*Arg);
7975 AAMemoryBehaviorCallSiteReturned(const IRPosition &IRP, Attributor &A)
7994 AAMemoryBehaviorFunction(const IRPosition &IRP, Attributor &A)
8018 A.removeAttrs(IRPosition::argument(Arg), Attribute::Writable);
8037 AAMemoryBehaviorCallSite(const IRPosition &IRP, Attributor &A)
8056 A.removeAttrs(IRPosition::callsite_argument(CB, U.getOperandNo()),
8084 *this, IRPosition::callsite_function(*CB), DepClassTy::REQUIRED);
8110 const IRPosition &IRP = getIRPosition();
8111 const IRPosition &FnPos = IRPosition::function_scope(IRP);
8201 A, this, IRPosition::callsite_argument(*CB, ArgNo),
8253 IRPosition Pos;
8255 Pos = IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U));
8257 Pos = IRPosition::callsite_function(*CB);
8313 AAMemoryLocationImpl(const IRPosition &IRP, Attributor &A)
8334 static void getKnownStateFromValue(Attributor &A, const IRPosition &IRP,
8398 if (getIRPosition().getPositionKind() == IRPosition::IRP_FUNCTION) {
8419 const IRPosition &IRP = getIRPosition();
8607 A, this, IRPosition::callsite_returned(*CB), DepClassTy::OPTIONAL,
8626 *this, IRPosition::value(Ptr), DepClassTy::OPTIONAL);
8651 const IRPosition &ArgOpIRP = IRPosition::callsite_argument(CB, ArgNo);
8677 *this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL);
8758 AAMemoryLocationFunction(const IRPosition &IRP, Attributor &A)
8813 AAMemoryLocationCallSite(const IRPosition &IRP, Attributor &A)
8823 const IRPosition &FnPos = IRPosition::function(*F);
8852 AADenormalFPMathImpl(const IRPosition &IRP, Attributor &A)
8873 AADenormalFPMathFunction(const IRPosition &IRP, Attributor &A)
8900 *this, IRPosition::function(*Caller), DepClassTy::REQUIRED);
8955 AAValueConstantRangeImpl(const IRPosition &IRP, Attributor &A)
9186 AAValueConstantRangeArgument(const IRPosition &IRP, Attributor &A)
9205 AAValueConstantRangeReturned(const IRPosition &IRP, Attributor &A)
9221 AAValueConstantRangeFloating(const IRPosition &IRP, Attributor &A)
9280 IRPosition::value(*LHS, getCallBaseContext()), *this,
9289 IRPosition::value(*RHS, getCallBaseContext()), *this,
9302 *this, IRPosition::value(*LHS, getCallBaseContext()),
9310 *this, IRPosition::value(*RHS, getCallBaseContext()),
9337 IRPosition::value(*OpV, getCallBaseContext()), *this,
9349 *this, IRPosition::value(*OpV, getCallBaseContext()),
9369 IRPosition::value(*LHS, getCallBaseContext()), *this,
9378 IRPosition::value(*RHS, getCallBaseContext()), *this,
9391 *this, IRPosition::value(*LHS, getCallBaseContext()),
9397 *this, IRPosition::value(*RHS, getCallBaseContext()),
9450 IRPosition::value(V, getCallBaseContext()), *this,
9460 *this, IRPosition::value(*VPtr, getCallBaseContext()),
9535 AAValueConstantRangeFunction(const IRPosition &IRP, Attributor &A)
9549 AAValueConstantRangeCallSite(const IRPosition &IRP, Attributor &A)
9560 AAValueConstantRangeCallSiteReturned(const IRPosition &IRP, Attributor &A)
9581 AAValueConstantRangeCallSiteArgument(const IRPosition &IRP, Attributor &A)
9602 AAPotentialConstantValuesImpl(const IRPosition &IRP, Attributor &A)
9613 bool fillSetWithConstantValues(Attributor &A, const IRPosition &IRP, SetTy &S,
9674 AAPotentialConstantValuesArgument(const IRPosition &IRP, Attributor &A)
9688 AAPotentialConstantValuesReturned(const IRPosition &IRP, Attributor &A)
9704 AAPotentialConstantValuesFloating(const IRPosition &IRP, Attributor &A)
9840 if (!fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
9842 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
9907 !fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
9912 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
9951 if (!fillSetWithConstantValues(A, IRPosition::value(*Src), SrcPVS,
9974 if (!fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
9976 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
10012 if (!fillSetWithConstantValues(A, IRPosition::value(*Inst), Incoming,
10055 AAPotentialConstantValuesFunction(const IRPosition &IRP, Attributor &A)
10072 AAPotentialConstantValuesCallSite(const IRPosition &IRP, Attributor &A)
10084 AAPotentialConstantValuesCallSiteReturned(const IRPosition &IRP,
10097 AAPotentialConstantValuesCallSiteArgument(const IRPosition &IRP,
10127 *this, IRPosition::value(V), DepClassTy::REQUIRED);
10144 bool AANoUndef::isImpliedByIR(Attributor &A, const IRPosition &IRP,
10154 if (IRP.getPositionKind() != IRPosition::IRP_RETURNED &&
10166 AANoUndefImpl(const IRPosition &IRP, Attributor &A) : AANoUndef(IRP, A) {}
10221 AANoUndefFloating(const IRPosition &IRP, Attributor &A)
10235 auto VisitValueCB = [&](const IRPosition &IRP) -> bool {
10257 const IRPosition AVIRP = IRPosition::value(*AssociatedValue);
10264 if (!VisitValueCB(IRPosition::value(*VAC.getValue())))
10276 AANoUndefReturned(const IRPosition &IRP, Attributor &A)
10285 AANoUndefArgument(const IRPosition &IRP, Attributor &A)
10293 AANoUndefCallSiteArgument(const IRPosition &IRP, Attributor &A)
10302 AANoUndefCallSiteReturned(const IRPosition &IRP, Attributor &A)
10312 AANoFPClassImpl(const IRPosition &IRP, Attributor &A) : AANoFPClass(IRP, A) {}
10315 const IRPosition &IRP = getIRPosition();
10330 if (getPositionKind() != IRPosition::IRP_RETURNED) {
10351 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
10371 AANoFPClassFloating(const IRPosition &IRP, Attributor &A)
10385 const auto *AA = A.getAAFor<AANoFPClass>(*this, IRPosition::value(V),
10414 AANoFPClassReturned(const IRPosition &IRP, Attributor &A)
10427 AANoFPClassArgument(const IRPosition &IRP, Attributor &A)
10435 AANoFPClassCallSiteArgument(const IRPosition &IRP, Attributor &A)
10446 AANoFPClassCallSiteReturned(const IRPosition &IRP, Attributor &A)
10456 AACallEdgesImpl(const IRPosition &IRP, Attributor &A) : AACallEdges(IRP, A) {}
10505 AACallEdgesCallSite(const IRPosition &IRP, Attributor &A)
10533 if (!A.getAssumedSimplifiedValues(IRPosition::value(*V), *this, Values,
10573 AACallEdgesFunction(const IRPosition &IRP, Attributor &A)
10584 *this, IRPosition::callsite_function(CB), DepClassTy::REQUIRED);
10617 AAInterFnReachabilityFunction(const IRPosition &IRP, Attributor &A)
10645 *this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL);
10670 A.getAAFor<AAInterFnReachability>(*this, IRPosition::function(*Fn),
10683 *this, IRPosition::function(*RQI.From->getFunction()),
10715 const IRPosition &IRP, Type &Ty) {
10738 Attributor &A, const AbstractAttribute &AA, const IRPosition &IRP,
10756 AAPotentialValuesImpl(const IRPosition &IRP, Attributor &A)
10786 const IRPosition &IRP, Type &Ty) {
10802 IRPosition ValIRP = IRPosition::value(V);
10807 ValIRP = IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U));
10859 bool recurseForValue(Attributor &A, const IRPosition &IRP, AA::ValueScope S) {
10941 IRPosition::inst(*cast<Instruction>(It.first.getValue())),
10953 AAPotentialValuesFloating(const IRPosition &IRP, Attributor &A)
10987 IRPosition::value(V, getCallBaseContext()), this, Values,
11064 A, this, IRPosition::value(*(PtrIdx ? &RHSV : &LHSV)),
11105 IRPosition::inst(SI), *this, UsedAssumedInformation, II.S);
11192 LI.LivenessAA = A.getAAFor<AAIsDead>(*this, IRPosition::function(F),
11229 IRPosition::inst(PHI), *this, UsedAssumedInformation, II.S);
11250 IRPosition::value(*Op, getCallBaseContext()), *this,
11366 if (recurseForValue(A, IRPosition::value(*V), II.S))
11393 AAPotentialValuesArgument(const IRPosition &IRP, Attributor &A)
11412 const auto CSArgIRP = IRPosition::callsite_argument(ACS, ArgNo);
11466 AAPotentialValuesReturned(const IRPosition &IRP, Attributor &A)
11503 if (!A.getAssumedSimplifiedValues(IRPosition::value(V), this, Values, S,
11566 IRPosition::argument(*Arg),
11600 AAPotentialValuesFunction(const IRPosition &IRP, Attributor &A)
11616 AAPotentialValuesCallSite(const IRPosition &IRP, Attributor &A)
11626 AAPotentialValuesCallSiteReturned(const IRPosition &IRP, Attributor &A)
11640 !A.isAssumedDead(IRPosition::inst(*CB), this, nullptr,
11645 if (!A.getAssumedSimplifiedValues(IRPosition::returned(*Callee), this,
11666 IRPosition IRP = IRPosition::value(*V);
11669 IRP = IRPosition::callsite_argument(*CB, Arg->getArgNo());
11681 if (!A.getAssumedSimplifiedValues(IRPosition::returned(*Callee), this,
11717 AAPotentialValuesCallSiteArgument(const IRPosition &IRP, Attributor &A)
11730 AAAssumptionInfoImpl(const IRPosition &IRP, Attributor &A,
11740 const IRPosition &IRP = getIRPosition();
11785 AAAssumptionInfoFunction(const IRPosition &IRP, Attributor &A)
11795 *this, IRPosition::callsite_function(*ACS.getInstruction()),
11822 AAAssumptionInfoCallSite(const IRPosition &IRP, Attributor &A)
11827 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
11833 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
11848 DenseSet<StringRef> getInitialAssumptions(const IRPosition &IRP) {
11862 A.getOrCreateAAFor<AACallEdges>(IRPosition::function(**I))));
11873 AAUnderlyingObjectsImpl(const IRPosition &IRP, Attributor &A) : BaseTy(IRP) {}
11900 if (!A.getAssumedSimplifiedValues(IRPosition::value(Ptr), *this, Values,
11912 *this, IRPosition::value(*UO), DepClassTy::OPTIONAL);
11976 *this, IRPosition::value(V), DepClassTy::OPTIONAL);
11994 AAUnderlyingObjectsFloating(const IRPosition &IRP, Attributor &A)
11999 AAUnderlyingObjectsArgument(const IRPosition &IRP, Attributor &A)
12004 AAUnderlyingObjectsCallSite(const IRPosition &IRP, Attributor &A)
12009 AAUnderlyingObjectsCallSiteArgument(const IRPosition &IRP, Attributor &A)
12014 AAUnderlyingObjectsReturned(const IRPosition &IRP, Attributor &A)
12019 AAUnderlyingObjectsCallSiteReturned(const IRPosition &IRP, Attributor &A)
12024 AAUnderlyingObjectsFunction(const IRPosition &IRP, Attributor &A)
12032 AAGlobalValueInfoFloating(const IRPosition &IRP, Attributor &A)
12160 AAIndirectCallInfoCallSite(const IRPosition &IRP, Attributor &A)
12195 *this, IRPosition::value(PotentialCallee), DepClassTy::OPTIONAL);
12214 if (!A.getAssumedSimplifiedValues(IRPosition::value(*FP), this, Values,
12247 A, this, IRPosition::argument(*Fn.getArg(I)),
12332 A.changeAfterManifest(IRPosition::callsite_returned(*CB), *NewCall);
12430 A.changeAfterManifest(IRPosition::callsite_returned(*CB), *PHI);
12482 AAAddressSpaceImpl(const IRPosition &IRP, Attributor &A)
12602 AAAddressSpaceFloating(const IRPosition &IRP, Attributor &A)
12611 AAAddressSpaceReturned(const IRPosition &IRP, Attributor &A)
12627 AAAddressSpaceCallSiteReturned(const IRPosition &IRP, Attributor &A)
12636 AAAddressSpaceArgument(const IRPosition &IRP, Attributor &A)
12643 AAAddressSpaceCallSiteArgument(const IRPosition &IRP, Attributor &A)
12662 AAAllocationInfoImpl(const IRPosition &IRP, Attributor &A)
12686 const IRPosition &IRP = getIRPosition();
12782 if (A.changeAfterManifest(IRPosition::inst(*AI), *NewAllocaInst))
12821 AAAllocationInfoFloating(const IRPosition &IRP, Attributor &A)
12830 AAAllocationInfoReturned(const IRPosition &IRP, Attributor &A)
12846 AAAllocationInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
12855 AAAllocationInfoArgument(const IRPosition &IRP, Attributor &A)
12864 AAAllocationInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
12921 case IRPosition::PK: \
12925 case IRPosition::PK: \
12931 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
12947 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
12963 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
12975 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
12991 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13007 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \