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(
1026 AAPointerInfoImpl(const IRPosition &IRP, Attributor &A) : BaseTy(IRP) {}
1104 A, &QueryingAA, IRPosition::function(Scope), DepClassTy::OPTIONAL,
1107 IRPosition::function(Scope), &QueryingAA, DepClassTy::NONE);
1141 IRPosition::function(*I.getFunction()), &QueryingAA,
1171 A, this, IRPosition::function(Scope), DepClassTy::OPTIONAL,
1214 A, this, IRPosition::function(*AIFn), DepClassTy::OPTIONAL,
1323 QueryingAA, IRPosition::function(Scope), DepClassTy::OPTIONAL);
1432 void trackPointerInfoStatistics(const IRPosition &IRP) const {}
1461 AAPointerInfoFloating(const IRPosition &IRP, Attributor &A)
1563 *this, IRPosition::value(*VI.first), DepClassTy::OPTIONAL);
1904 *this, IRPosition::callsite_argument(*CB, ArgNo),
1920 IRPosition::returned(*Callee), *this, UsedAssumedInformation,
1929 *this, IRPosition::callsite_returned(*CB), DepClassTy::REQUIRED);
1978 AAPointerInfoReturned(const IRPosition &IRP, Attributor &A)
1993 AAPointerInfoArgument(const IRPosition &IRP, Attributor &A)
2003 AAPointerInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
2043 const IRPosition &ArgPos = IRPosition::argument(*Arg);
2075 AAPointerInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
2089 AANoUnwindImpl(const IRPosition &IRP, Attributor &A) : AANoUnwind(IRP, A) {}
2117 A, this, IRPosition::callsite_function(*CB), DepClassTy::REQUIRED,
2133 AANoUnwindFunction(const IRPosition &IRP, Attributor &A)
2143 AANoUnwindCallSite(const IRPosition &IRP, Attributor &A)
2214 AANoSyncImpl(const IRPosition &IRP, Attributor &A) : AANoSync(IRP, A) {}
2247 A, this, IRPosition::callsite_function(CB), DepClassTy::OPTIONAL,
2266 AANoSyncFunction(const IRPosition &IRP, Attributor &A)
2275 AANoSyncCallSite(const IRPosition &IRP, Attributor &A)
2287 AANoFreeImpl(const IRPosition &IRP, Attributor &A) : AANoFree(IRP, A) {}
2302 A, this, IRPosition::callsite_function(cast<CallBase>(I)),
2320 AANoFreeFunction(const IRPosition &IRP, Attributor &A)
2329 AANoFreeCallSite(const IRPosition &IRP, Attributor &A)
2338 AANoFreeFloating(const IRPosition &IRP, Attributor &A)
2346 const IRPosition &IRP = getIRPosition();
2350 IRPosition::function_scope(IRP),
2366 A, this, IRPosition::callsite_argument(*CB, ArgNo),
2393 AANoFreeArgument(const IRPosition &IRP, Attributor &A)
2402 AANoFreeCallSiteArgument(const IRPosition &IRP, Attributor &A)
2414 const IRPosition &ArgPos = IRPosition::argument(*Arg);
2428 AANoFreeReturned(const IRPosition &IRP, Attributor &A)
2449 AANoFreeCallSiteReturned(const IRPosition &IRP, Attributor &A)
2462 bool AANonNull::isImpliedByIR(Attributor &A, const IRPosition &IRP,
2555 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
2594 AANonNullImpl(const IRPosition &IRP, Attributor &A) : AANonNull(IRP, A) {}
2627 AANonNullFloating(const IRPosition &IRP, Attributor &A)
2632 auto CheckIRP = [&](const IRPosition &IRP) {
2654 A, this, IRPosition::value(*Op), DepClassTy::OPTIONAL,
2660 A, this, IRPosition::value(*Select->getFalseValue()),
2663 A, this, IRPosition::value(*Select->getTrueValue()),
2671 const IRPosition AVIRP = IRPosition::value(*AssociatedValue);
2678 if (!CheckIRP(IRPosition::value(*VAC.getValue())))
2692 AANonNullReturned(const IRPosition &IRP, Attributor &A)
2709 AANonNullArgument(const IRPosition &IRP, Attributor &A)
2717 AANonNullCallSiteArgument(const IRPosition &IRP, Attributor &A)
2727 AANonNullCallSiteReturned(const IRPosition &IRP, Attributor &A)
2738 AAMustProgressImpl(const IRPosition &IRP, Attributor &A)
2756 AAMustProgressFunction(const IRPosition &IRP, Attributor &A)
2770 IRPosition IPos = IRPosition::callsite_function(*ACS.getInstruction());
2794 AAMustProgressCallSite(const IRPosition &IRP, Attributor &A)
2803 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
2822 AANoRecurseImpl(const IRPosition &IRP, Attributor &A) : AANoRecurse(IRP, A) {}
2839 AANoRecurseFunction(const IRPosition &IRP, Attributor &A)
2850 IRPosition::function(*ACS.getInstruction()->getFunction()),
2882 AANoRecurseCallSite(const IRPosition &IRP, Attributor &A)
2894 AANonConvergentImpl(const IRPosition &IRP, Attributor &A)
2904 AANonConvergentFunction(const IRPosition &IRP, Attributor &A)
2921 *this, IRPosition::function(*Callee), DepClassTy::REQUIRED);
2950 AAUndefinedBehaviorImpl(const IRPosition &IRP, Attributor &A)
3061 IRPosition CalleeArgumentIRP = IRPosition::callsite_argument(CB, idx);
3069 A.getAssumedSimplified(IRPosition::value(*ArgVal), *this,
3117 A, this, IRPosition::returned(*getAnchorScope()), DepClassTy::NONE,
3142 const IRPosition &ReturnIRP = IRPosition::returned(*getAnchorScope());
3246 A.getAssumedSimplified(IRPosition::value(*V), *this,
3269 AAUndefinedBehaviorFunction(const IRPosition &IRP, Attributor &A)
3316 AAWillReturnImpl(const IRPosition &IRP, Attributor &A)
3344 IRPosition IPos = IRPosition::callsite_function(cast<CallBase>(I));
3373 AAWillReturnFunction(const IRPosition &IRP, Attributor &A)
3393 AAWillReturnCallSite(const IRPosition &IRP, Attributor &A)
3509 CachedReachabilityAA(const IRPosition &IRP, Attributor &A) : BaseTy(IRP, A) {}
3612 AAIntraFnReachabilityFunction(const IRPosition &IRP, Attributor &A)
3765 bool AANoAlias::isImpliedByIR(Attributor &A, const IRPosition &IRP,
3795 AANoAliasImpl(const IRPosition &IRP, Attributor &A) : AANoAlias(IRP, A) {
3807 AANoAliasFloating(const IRPosition &IRP, Attributor &A)
3826 AANoAliasArgument(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
3838 A, this, IRPosition::function_scope(getIRPosition()),
3869 AANoAliasCallSiteArgument(const IRPosition &IRP, Attributor &A)
3887 *this, IRPosition::callsite_argument(CB, OtherArgNo), DepClassTy::NONE);
3931 *this, IRPosition::value(*O), DepClassTy::OPTIONAL);
3935 const IRPosition &VIRP = IRPosition::value(getAssociatedValue());
3958 A, this, IRPosition::callsite_argument(*CB, ArgNo),
4026 const IRPosition &VIRP = IRPosition::value(getAssociatedValue());
4051 AANoAliasReturned(const IRPosition &IRP, Attributor &A)
4067 const IRPosition &RVPos = IRPosition::value(RV);
4095 AANoAliasCallSiteReturned(const IRPosition &IRP, Attributor &A)
4107 AAIsDeadValueImpl(const IRPosition &IRP, Attributor &A) : AAIsDead(IRP, A) {}
4173 const IRPosition &CallIRP = IRPosition::callsite_function(*CB);
4186 AAIsDeadFloating(const IRPosition &IRP, Attributor &A)
4209 IRPosition::function(*FI.getFunction()), *this, DepClassTy::NONE);
4241 if (A.isAssumedDead(IRPosition::value(*V), this, nullptr,
4343 AAIsDeadArgument(const IRPosition &IRP, Attributor &A)
4364 AAIsDeadCallSiteArgument(const IRPosition &IRP, Attributor &A)
4383 const IRPosition &ArgPos = IRPosition::argument(*Arg);
4407 AAIsDeadCallSiteReturned(const IRPosition &IRP, Attributor &A)
4459 AAIsDeadReturned(const IRPosition &IRP, Attributor &A)
4504 AAIsDeadFunction(const IRPosition &IRP, Attributor &A) : AAIsDead(IRP, A) {}
4557 A, this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL,
4679 const IRPosition &IPos = IRPosition::callsite_function(CB);
4705 const IRPosition &IPos = IRPosition::callsite_function(II);
4749 if (!A.getAssumedSimplifiedValues(IRPosition::value(*SI.getCondition()), &AA,
4916 AAIsDeadCallSite(const IRPosition &IRP, Attributor &A)
4943 AADereferenceableImpl(const IRPosition &IRP, Attributor &A)
5057 AADereferenceableFloating(const IRPosition &IRP, Attributor &A)
5086 *this, IRPosition::value(*Base), DepClassTy::REQUIRED);
5148 AADereferenceableReturned(const IRPosition &IRP, Attributor &A)
5163 AADereferenceableArgument(const IRPosition &IRP, Attributor &A)
5174 AADereferenceableCallSiteArgument(const IRPosition &IRP, Attributor &A)
5187 AADereferenceableCallSiteReturned(const IRPosition &IRP, Attributor &A)
5222 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
5267 AAAlignImpl(const IRPosition &IRP, Attributor &A) : AAAlign(IRP, A) {}
5351 AAAlignFloating(const IRPosition &IRP, Attributor &A) : AAAlignImpl(IRP, A) {}
5373 const auto *AA = A.getAAFor<AAAlign>(*this, IRPosition::value(V),
5421 AAAlignReturned(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
5431 AAAlignArgument(const IRPosition &IRP, Attributor &A) : Base(IRP, A) {}
5448 AAAlignCallSiteArgument(const IRPosition &IRP, Attributor &A)
5474 *this, IRPosition::argument(*Arg), DepClassTy::NONE);
5489 AAAlignCallSiteReturned(const IRPosition &IRP, Attributor &A)
5500 AANoReturnImpl(const IRPosition &IRP, Attributor &A) : AANoReturn(IRP, A) {}
5528 AANoReturnFunction(const IRPosition &IRP, Attributor &A)
5538 AANoReturnCallSite(const IRPosition &IRP, Attributor &A)
5551 AAInstanceInfoImpl(const IRPosition &IRP, Attributor &A)
5599 A, this, IRPosition::function(*Scope), DepClassTy::OPTIONAL,
5623 *this, IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U)),
5668 AAInstanceInfoFloating(const IRPosition &IRP, Attributor &A)
5674 AAInstanceInfoArgument(const IRPosition &IRP, Attributor &A)
5680 AAInstanceInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
5692 const IRPosition &ArgPos = IRPosition::argument(*Arg);
5703 AAInstanceInfoReturned(const IRPosition &IRP, Attributor &A)
5721 AAInstanceInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
5727 bool AANoCapture::isImpliedByIR(Attributor &A, const IRPosition &IRP,
5755 A.getAttrs(IRPosition::argument(*Arg),
5786 void AANoCapture::determineFunctionCaptureCapabilities(const IRPosition &IRP,
5833 AANoCaptureImpl(const IRPosition &IRP, Attributor &A) : AANoCapture(IRP, A) {}
5911 const IRPosition &CSArgPos = IRPosition::callsite_argument(*CB, ArgNo);
5951 const IRPosition &IRP = getIRPosition();
5965 const IRPosition &FnPos = IRPosition::function(*F);
5981 if (!A.getAssumedSimplifiedValues(IRPosition::returned(*F), this, Values,
6017 *this, IRPosition::value(*O), DepClassTy::OPTIONAL);
6048 AANoCaptureArgument(const IRPosition &IRP, Attributor &A)
6057 AANoCaptureCallSiteArgument(const IRPosition &IRP, Attributor &A)
6069 const IRPosition &ArgPos = IRPosition::argument(*Arg);
6087 AANoCaptureFloating(const IRPosition &IRP, Attributor &A)
6098 AANoCaptureReturned(const IRPosition &IRP, Attributor &A)
6119 AANoCaptureCallSiteReturned(const IRPosition &IRP, Attributor &A)
6157 AAValueSimplifyImpl(const IRPosition &IRP, Attributor &A)
6287 const IRPosition &IRP, bool Simplify = true) {
6358 AAValueSimplifyArgument(const IRPosition &IRP, Attributor &A)
6386 const IRPosition &ACSArgPos =
6387 IRPosition::callsite_argument(ACS, getCallSiteArgNo());
6390 if (ACSArgPos.getPositionKind() == IRPosition::IRP_INVALID)
6436 AAValueSimplifyReturned(const IRPosition &IRP, Attributor &A)
6455 IRPosition::value(*RI.getReturnValue(), getCallBaseContext()));
6482 AAValueSimplifyFloating(const IRPosition &IRP, Attributor &A)
6513 AAValueSimplifyFunction(const IRPosition &IRP, Attributor &A)
6533 AAValueSimplifyCallSite(const IRPosition &IRP, Attributor &A)
6542 AAValueSimplifyCallSiteReturned(const IRPosition &IRP, Attributor &A)
6551 auto IRP = IRPosition::callsite_argument(*cast<CallBase>(getCtxI()),
6553 if (IRP.getPositionKind() == IRPosition::IRP_CALL_SITE_ARGUMENT &&
6574 AAValueSimplifyCallSiteArgument(const IRPosition &IRP, Attributor &A)
6582 IRPosition::value(getAssociatedValue()), this, DepClassTy::NONE);
6646 AAHeapToStackFunction(const IRPosition &IRP, Attributor &A)
6696 [](const IRPosition &, const AbstractAttribute *,
6699 A.registerSimplificationCallback(IRPosition::callsite_returned(*It.first),
6702 A.registerSimplificationCallback(IRPosition::callsite_returned(*It.first),
6831 A.changeAfterManifest(IRPosition::inst(*AI.CB), *Alloca);
6900 A.getAAFor<AAIsDead>(*this, IRPosition::function(*F), DepClassTy::NONE);
7067 auto CBIRP = IRPosition::callsite_argument(*CB, ArgNo);
7204 AAPrivatizablePtrImpl(const IRPosition &IRP, Attributor &A)
7246 AAPrivatizablePtrArgument(const IRPosition &IRP, Attributor &A)
7272 IRPosition ACSArgPos = IRPosition::callsite_argument(ACS, ArgNo);
7275 if (ACSArgPos.getPositionKind() == IRPosition::IRP_INVALID)
7327 A.getAAFor<AAAlign>(*this, IRPosition::value(getAssociatedValue()),
7407 *this, IRPosition::argument(CBArg), DepClassTy::REQUIRED);
7453 *this, IRPosition::argument(*DCCallee->getArg(DCArgNo)),
7610 A.getAAFor<AAAlign>(*this, IRPosition::value(*Arg), DepClassTy::NONE);
7671 AAPrivatizablePtrFloating(const IRPosition &IRP, Attributor &A)
7699 *this, IRPosition::argument(*Arg), DepClassTy::REQUIRED);
7718 AAPrivatizablePtrCallSiteArgument(const IRPosition &IRP, Attributor &A)
7735 const IRPosition &IRP = getIRPosition();
7768 AAPrivatizablePtrCallSiteReturned(const IRPosition &IRP, Attributor &A)
7784 AAPrivatizablePtrReturned(const IRPosition &IRP, Attributor &A)
7805 AAMemoryBehaviorImpl(const IRPosition &IRP, Attributor &A)
7816 static void getKnownStateFromValue(Attributor &A, const IRPosition &IRP,
7860 const IRPosition &IRP = getIRPosition();
7905 AAMemoryBehaviorFloating(const IRPosition &IRP, Attributor &A)
7933 AAMemoryBehaviorArgument(const IRPosition &IRP, Attributor &A)
7939 const IRPosition &IRP = getIRPosition();
7977 AAMemoryBehaviorCallSiteArgument(const IRPosition &IRP, Attributor &A)
8006 const IRPosition &ArgPos = IRPosition::argument(*Arg);
8027 AAMemoryBehaviorCallSiteReturned(const IRPosition &IRP, Attributor &A)
8046 AAMemoryBehaviorFunction(const IRPosition &IRP, Attributor &A)
8070 A.removeAttrs(IRPosition::argument(Arg), Attribute::Writable);
8089 AAMemoryBehaviorCallSite(const IRPosition &IRP, Attributor &A)
8108 A.removeAttrs(IRPosition::callsite_argument(CB, U.getOperandNo()),
8136 *this, IRPosition::callsite_function(*CB), DepClassTy::REQUIRED);
8162 const IRPosition &IRP = getIRPosition();
8163 const IRPosition &FnPos = IRPosition::function_scope(IRP);
8253 A, this, IRPosition::callsite_argument(*CB, ArgNo),
8305 IRPosition Pos;
8307 Pos = IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U));
8309 Pos = IRPosition::callsite_function(*CB);
8365 AAMemoryLocationImpl(const IRPosition &IRP, Attributor &A)
8386 static void getKnownStateFromValue(Attributor &A, const IRPosition &IRP,
8450 if (getIRPosition().getPositionKind() == IRPosition::IRP_FUNCTION) {
8471 const IRPosition &IRP = getIRPosition();
8659 A, this, IRPosition::callsite_returned(*CB), DepClassTy::OPTIONAL,
8678 *this, IRPosition::value(Ptr), DepClassTy::OPTIONAL);
8703 const IRPosition &ArgOpIRP = IRPosition::callsite_argument(CB, ArgNo);
8729 *this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL);
8810 AAMemoryLocationFunction(const IRPosition &IRP, Attributor &A)
8865 AAMemoryLocationCallSite(const IRPosition &IRP, Attributor &A)
8875 const IRPosition &FnPos = IRPosition::function(*F);
8904 AADenormalFPMathImpl(const IRPosition &IRP, Attributor &A)
8925 AADenormalFPMathFunction(const IRPosition &IRP, Attributor &A)
8952 *this, IRPosition::function(*Caller), DepClassTy::REQUIRED);
9007 AAValueConstantRangeImpl(const IRPosition &IRP, Attributor &A)
9238 AAValueConstantRangeArgument(const IRPosition &IRP, Attributor &A)
9257 AAValueConstantRangeReturned(const IRPosition &IRP, Attributor &A)
9273 AAValueConstantRangeFloating(const IRPosition &IRP, Attributor &A)
9332 IRPosition::value(*LHS, getCallBaseContext()), *this,
9341 IRPosition::value(*RHS, getCallBaseContext()), *this,
9354 *this, IRPosition::value(*LHS, getCallBaseContext()),
9362 *this, IRPosition::value(*RHS, getCallBaseContext()),
9389 IRPosition::value(*OpV, getCallBaseContext()), *this,
9401 *this, IRPosition::value(*OpV, getCallBaseContext()),
9421 IRPosition::value(*LHS, getCallBaseContext()), *this,
9430 IRPosition::value(*RHS, getCallBaseContext()), *this,
9443 *this, IRPosition::value(*LHS, getCallBaseContext()),
9449 *this, IRPosition::value(*RHS, getCallBaseContext()),
9502 IRPosition::value(V, getCallBaseContext()), *this,
9512 *this, IRPosition::value(*VPtr, getCallBaseContext()),
9587 AAValueConstantRangeFunction(const IRPosition &IRP, Attributor &A)
9601 AAValueConstantRangeCallSite(const IRPosition &IRP, Attributor &A)
9612 AAValueConstantRangeCallSiteReturned(const IRPosition &IRP, Attributor &A)
9633 AAValueConstantRangeCallSiteArgument(const IRPosition &IRP, Attributor &A)
9654 AAPotentialConstantValuesImpl(const IRPosition &IRP, Attributor &A)
9665 bool fillSetWithConstantValues(Attributor &A, const IRPosition &IRP, SetTy &S,
9726 AAPotentialConstantValuesArgument(const IRPosition &IRP, Attributor &A)
9740 AAPotentialConstantValuesReturned(const IRPosition &IRP, Attributor &A)
9756 AAPotentialConstantValuesFloating(const IRPosition &IRP, Attributor &A)
9892 if (!fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
9894 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
9959 !fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
9964 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
10003 if (!fillSetWithConstantValues(A, IRPosition::value(*Src), SrcPVS,
10026 if (!fillSetWithConstantValues(A, IRPosition::value(*LHS), LHSAAPVS,
10028 !fillSetWithConstantValues(A, IRPosition::value(*RHS), RHSAAPVS,
10064 if (!fillSetWithConstantValues(A, IRPosition::value(*Inst), Incoming,
10107 AAPotentialConstantValuesFunction(const IRPosition &IRP, Attributor &A)
10124 AAPotentialConstantValuesCallSite(const IRPosition &IRP, Attributor &A)
10136 AAPotentialConstantValuesCallSiteReturned(const IRPosition &IRP,
10149 AAPotentialConstantValuesCallSiteArgument(const IRPosition &IRP,
10179 *this, IRPosition::value(V), DepClassTy::REQUIRED);
10196 bool AANoUndef::isImpliedByIR(Attributor &A, const IRPosition &IRP,
10206 if (IRP.getPositionKind() != IRPosition::IRP_RETURNED &&
10218 AANoUndefImpl(const IRPosition &IRP, Attributor &A) : AANoUndef(IRP, A) {}
10273 AANoUndefFloating(const IRPosition &IRP, Attributor &A)
10287 auto VisitValueCB = [&](const IRPosition &IRP) -> bool {
10309 const IRPosition AVIRP = IRPosition::value(*AssociatedValue);
10316 if (!VisitValueCB(IRPosition::value(*VAC.getValue())))
10328 AANoUndefReturned(const IRPosition &IRP, Attributor &A)
10337 AANoUndefArgument(const IRPosition &IRP, Attributor &A)
10345 AANoUndefCallSiteArgument(const IRPosition &IRP, Attributor &A)
10354 AANoUndefCallSiteReturned(const IRPosition &IRP, Attributor &A)
10364 AANoFPClassImpl(const IRPosition &IRP, Attributor &A) : AANoFPClass(IRP, A) {}
10367 const IRPosition &IRP = getIRPosition();
10382 if (getPositionKind() != IRPosition::IRP_RETURNED) {
10403 IRPosition IRP = IRPosition::callsite_argument(*CB, ArgNo);
10423 AANoFPClassFloating(const IRPosition &IRP, Attributor &A)
10437 const auto *AA = A.getAAFor<AANoFPClass>(*this, IRPosition::value(V),
10466 AANoFPClassReturned(const IRPosition &IRP, Attributor &A)
10479 AANoFPClassArgument(const IRPosition &IRP, Attributor &A)
10487 AANoFPClassCallSiteArgument(const IRPosition &IRP, Attributor &A)
10498 AANoFPClassCallSiteReturned(const IRPosition &IRP, Attributor &A)
10508 AACallEdgesImpl(const IRPosition &IRP, Attributor &A) : AACallEdges(IRP, A) {}
10557 AACallEdgesCallSite(const IRPosition &IRP, Attributor &A)
10585 if (!A.getAssumedSimplifiedValues(IRPosition::value(*V), *this, Values,
10625 AACallEdgesFunction(const IRPosition &IRP, Attributor &A)
10636 *this, IRPosition::callsite_function(CB), DepClassTy::REQUIRED);
10669 AAInterFnReachabilityFunction(const IRPosition &IRP, Attributor &A)
10697 *this, IRPosition::callsite_function(*CB), DepClassTy::OPTIONAL);
10722 A.getAAFor<AAInterFnReachability>(*this, IRPosition::function(*Fn),
10735 *this, IRPosition::function(*RQI.From->getFunction()),
10767 const IRPosition &IRP, Type &Ty) {
10790 Attributor &A, const AbstractAttribute &AA, const IRPosition &IRP,
10808 AAPotentialValuesImpl(const IRPosition &IRP, Attributor &A)
10838 const IRPosition &IRP, Type &Ty) {
10854 IRPosition ValIRP = IRPosition::value(V);
10859 ValIRP = IRPosition::callsite_argument(*CB, CB->getArgOperandNo(&U));
10911 bool recurseForValue(Attributor &A, const IRPosition &IRP, AA::ValueScope S) {
10993 IRPosition::inst(*cast<Instruction>(It.first.getValue())),
11005 AAPotentialValuesFloating(const IRPosition &IRP, Attributor &A)
11039 IRPosition::value(V, getCallBaseContext()), this, Values,
11116 A, this, IRPosition::value(*(PtrIdx ? &RHSV : &LHSV)),
11157 IRPosition::inst(SI), *this, UsedAssumedInformation, II.S);
11244 LI.LivenessAA = A.getAAFor<AAIsDead>(*this, IRPosition::function(F),
11281 IRPosition::inst(PHI), *this, UsedAssumedInformation, II.S);
11302 IRPosition::value(*Op, getCallBaseContext()), *this,
11418 if (recurseForValue(A, IRPosition::value(*V), II.S))
11445 AAPotentialValuesArgument(const IRPosition &IRP, Attributor &A)
11464 const auto CSArgIRP = IRPosition::callsite_argument(ACS, ArgNo);
11518 AAPotentialValuesReturned(const IRPosition &IRP, Attributor &A)
11555 if (!A.getAssumedSimplifiedValues(IRPosition::value(V), this, Values, S,
11620 IRPosition::argument(*Arg),
11654 AAPotentialValuesFunction(const IRPosition &IRP, Attributor &A)
11670 AAPotentialValuesCallSite(const IRPosition &IRP, Attributor &A)
11680 AAPotentialValuesCallSiteReturned(const IRPosition &IRP, Attributor &A)
11694 !A.isAssumedDead(IRPosition::inst(*CB), this, nullptr,
11702 if (!A.getAssumedSimplifiedValues(IRPosition::returned(*Callee), this,
11716 if (recurseForValue(A, IRPosition::value(*V), S))
11746 AAPotentialValuesCallSiteArgument(const IRPosition &IRP, Attributor &A)
11759 AAAssumptionInfoImpl(const IRPosition &IRP, Attributor &A,
11769 const IRPosition &IRP = getIRPosition();
11814 AAAssumptionInfoFunction(const IRPosition &IRP, Attributor &A)
11824 *this, IRPosition::callsite_function(*ACS.getInstruction()),
11851 AAAssumptionInfoCallSite(const IRPosition &IRP, Attributor &A)
11856 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
11862 const IRPosition &FnPos = IRPosition::function(*getAnchorScope());
11877 DenseSet<StringRef> getInitialAssumptions(const IRPosition &IRP) {
11891 A.getOrCreateAAFor<AACallEdges>(IRPosition::function(**I))));
11902 AAUnderlyingObjectsImpl(const IRPosition &IRP, Attributor &A) : BaseTy(IRP) {}
11939 if (!A.getAssumedSimplifiedValues(IRPosition::value(Ptr), *this, Values,
11958 *this, IRPosition::value(*UO), DepClassTy::OPTIONAL);
12028 *this, IRPosition::value(V), DepClassTy::OPTIONAL);
12047 AAUnderlyingObjectsFloating(const IRPosition &IRP, Attributor &A)
12052 AAUnderlyingObjectsArgument(const IRPosition &IRP, Attributor &A)
12057 AAUnderlyingObjectsCallSite(const IRPosition &IRP, Attributor &A)
12062 AAUnderlyingObjectsCallSiteArgument(const IRPosition &IRP, Attributor &A)
12067 AAUnderlyingObjectsReturned(const IRPosition &IRP, Attributor &A)
12072 AAUnderlyingObjectsCallSiteReturned(const IRPosition &IRP, Attributor &A)
12077 AAUnderlyingObjectsFunction(const IRPosition &IRP, Attributor &A)
12085 AAGlobalValueInfoFloating(const IRPosition &IRP, Attributor &A)
12213 AAIndirectCallInfoCallSite(const IRPosition &IRP, Attributor &A)
12248 *this, IRPosition::value(PotentialCallee), DepClassTy::OPTIONAL);
12267 if (!A.getAssumedSimplifiedValues(IRPosition::value(*FP), this, Values,
12300 A, this, IRPosition::argument(*Fn.getArg(I)),
12386 A.changeAfterManifest(IRPosition::callsite_returned(*CB), *NewCall);
12486 A.changeAfterManifest(IRPosition::callsite_returned(*CB), *PHI);
12565 AAAddressSpaceImpl(const IRPosition &IRP, Attributor &A)
12723 AAAddressSpaceFloating(const IRPosition &IRP, Attributor &A)
12732 AAAddressSpaceReturned(const IRPosition &IRP, Attributor &A)
12748 AAAddressSpaceCallSiteReturned(const IRPosition &IRP, Attributor &A)
12757 AAAddressSpaceArgument(const IRPosition &IRP, Attributor &A)
12764 AAAddressSpaceCallSiteArgument(const IRPosition &IRP, Attributor &A)
12783 AAAllocationInfoImpl(const IRPosition &IRP, Attributor &A)
12807 const IRPosition &IRP = getIRPosition();
12903 if (A.changeAfterManifest(IRPosition::inst(*AI), *NewAllocaInst))
12942 AAAllocationInfoFloating(const IRPosition &IRP, Attributor &A)
12951 AAAllocationInfoReturned(const IRPosition &IRP, Attributor &A)
12967 AAAllocationInfoCallSiteReturned(const IRPosition &IRP, Attributor &A)
12976 AAAllocationInfoArgument(const IRPosition &IRP, Attributor &A)
12985 AAAllocationInfoCallSiteArgument(const IRPosition &IRP, Attributor &A)
13042 case IRPosition::PK: \
13046 case IRPosition::PK: \
13052 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13068 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13084 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13096 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13112 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \
13128 CLASS &CLASS::createForPosition(const IRPosition &IRP, Attributor &A) { \