Lines Matching refs:IRP

507 static bool isAssumedReadOnlyOrReadNone(Attributor &A, const IRPosition &IRP,  in isAssumedReadOnlyOrReadNone()  argument
511 IRPosition::Kind Kind = IRP.getPositionKind(); in isAssumedReadOnlyOrReadNone()
514 A.getAAFor<AAMemoryLocation>(QueryingAA, IRP, DepClassTy::NONE); in isAssumedReadOnlyOrReadNone()
524 A.getAAFor<AAMemoryBehavior>(QueryingAA, IRP, DepClassTy::NONE); in isAssumedReadOnlyOrReadNone()
537 bool AA::isAssumedReadOnly(Attributor &A, const IRPosition &IRP, in isAssumedReadOnly() argument
539 return isAssumedReadOnlyOrReadNone(A, IRP, QueryingAA, in isAssumedReadOnly()
542 bool AA::isAssumedReadNone(Attributor &A, const IRPosition &IRP, in isAssumedReadNone() argument
544 return isAssumedReadOnlyOrReadNone(A, IRP, QueryingAA, in isAssumedReadNone()
779 IRAttributeManifest::manifestAttrs(Attributor &A, const IRPosition &IRP, in manifestAttrs() argument
782 Function *ScopeFn = IRP.getAnchorScope(); in manifestAttrs()
783 IRPosition::Kind PK = IRP.getPositionKind(); in manifestAttrs()
802 Attrs = cast<CallBase>(IRP.getAnchorValue()).getAttributes(); in manifestAttrs()
807 LLVMContext &Ctx = IRP.getAnchorValue().getContext(); in manifestAttrs()
809 if (!addIfNotExistent(Ctx, Attr, Attrs, IRP.getAttrIdx(), ForceReplace)) in manifestAttrs()
827 cast<CallBase>(IRP.getAnchorValue()).setAttributes(Attrs); in manifestAttrs()
841 SubsumingPositionIterator::SubsumingPositionIterator(const IRPosition &IRP) { in SubsumingPositionIterator() argument
842 IRPositions.emplace_back(IRP); in SubsumingPositionIterator()
851 const auto *CB = dyn_cast<CallBase>(&IRP.getAnchorValue()); in SubsumingPositionIterator()
852 switch (IRP.getPositionKind()) { in SubsumingPositionIterator()
859 IRPositions.emplace_back(IRPosition::function(*IRP.getAnchorScope())); in SubsumingPositionIterator()
896 if (Argument *Arg = IRP.getAssociatedArgument()) in SubsumingPositionIterator()
901 IRPositions.emplace_back(IRPosition::value(IRP.getAssociatedValue())); in SubsumingPositionIterator()
1055 Attributor::getAssumedConstant(const IRPosition &IRP, in getAssumedConstant() argument
1061 for (auto &CB : SimplificationCallbacks.lookup(IRP)) { in getAssumedConstant()
1062 Optional<Value *> SimplifiedV = CB(IRP, &AA, UsedAssumedInformation); in getAssumedConstant()
1069 if (auto *C = dyn_cast<Constant>(&IRP.getAssociatedValue())) in getAssumedConstant()
1072 if (getAssumedSimplifiedValues(IRP, &AA, Values, in getAssumedConstant()
1078 AAPotentialValues::getSingleValue(*this, AA, IRP, Values))) in getAssumedConstant()
1084 Optional<Value *> Attributor::getAssumedSimplified(const IRPosition &IRP, in getAssumedSimplified() argument
1091 for (auto &CB : SimplificationCallbacks.lookup(IRP)) in getAssumedSimplified()
1092 return CB(IRP, AA, UsedAssumedInformation); in getAssumedSimplified()
1095 if (!getAssumedSimplifiedValues(IRP, AA, Values, S, UsedAssumedInformation)) in getAssumedSimplified()
1096 return &IRP.getAssociatedValue(); in getAssumedSimplified()
1100 if (Value *V = AAPotentialValues::getSingleValue(*this, *AA, IRP, Values)) in getAssumedSimplified()
1102 if (IRP.getPositionKind() == IRPosition::IRP_RETURNED || in getAssumedSimplified()
1103 IRP.getPositionKind() == IRPosition::IRP_CALL_SITE_RETURNED) in getAssumedSimplified()
1105 return &IRP.getAssociatedValue(); in getAssumedSimplified()
1109 const IRPosition &IRP, const AbstractAttribute *AA, in getAssumedSimplifiedValues() argument
1115 const auto &SimplificationCBs = SimplificationCallbacks.lookup(IRP); in getAssumedSimplifiedValues()
1117 Optional<Value *> CBResult = CB(IRP, AA, UsedAssumedInformation); in getAssumedSimplifiedValues()
1124 AA::isValidInScope(*V, IRP.getAnchorScope())) in getAssumedSimplifiedValues()
1134 getOrCreateAAFor<AAPotentialValues>(IRP, AA, DepClassTy::OPTIONAL); in getAssumedSimplifiedValues()
1170 const IRPosition &IRP = AA.getIRPosition(); in isAssumedDead() local
1171 if (!Functions.count(IRP.getAnchorScope())) in isAssumedDead()
1173 return isAssumedDead(IRP, &AA, FnLivenessAA, UsedAssumedInformation, in isAssumedDead()
1207 const IRPosition IRP = IRPosition::inst(*SI); in isAssumedDead() local
1209 getOrCreateAAFor<AAIsDead>(IRP, QueryingAA, DepClassTy::NONE); in isAssumedDead()
1255 const IRPosition IRP = IRPosition::inst(I, CBCtx); in isAssumedDead() local
1257 getOrCreateAAFor<AAIsDead>(IRP, QueryingAA, DepClassTy::NONE); in isAssumedDead()
1273 bool Attributor::isAssumedDead(const IRPosition &IRP, in isAssumedDead() argument
1278 Instruction *CtxI = IRP.getCtxI(); in isAssumedDead()
1290 if (IRP.getPositionKind() == IRPosition::IRP_CALL_SITE) in isAssumedDead()
1292 IRPosition::callsite_returned(cast<CallBase>(IRP.getAssociatedValue())), in isAssumedDead()
1295 IsDeadAA = &getOrCreateAAFor<AAIsDead>(IRP, QueryingAA, DepClassTy::NONE); in isAssumedDead()
1338 const IRPosition &IRP = QueryingAA.getIRPosition(); in checkForAllUses() local
1361 const Function *ScopeFn = IRP.getAnchorScope(); in checkForAllUses()
1445 const IRPosition &IRP = QueryingAA.getIRPosition(); in checkForAllCallSites() local
1446 const Function *AssociatedFunction = IRP.getAssociatedFunction(); in checkForAllCallSites()
1448 LLVM_DEBUG(dbgs() << "[Attributor] No function associated with " << IRP in checkForAllCallSites()
1552 bool Attributor::shouldPropagateCallBaseContext(const IRPosition &IRP) { in shouldPropagateCallBaseContext() argument
1563 const IRPosition &IRP = QueryingAA.getIRPosition(); in checkForAllReturnedValuesAndReturnInsts() local
1566 const Function *AssociatedFunction = IRP.getAssociatedFunction(); in checkForAllReturnedValuesAndReturnInsts()
1585 const IRPosition &IRP = QueryingAA.getIRPosition(); in checkForAllReturnedValues() local
1586 const Function *AssociatedFunction = IRP.getAssociatedFunction(); in checkForAllReturnedValues()
1666 const IRPosition &IRP = QueryingAA.getIRPosition(); in checkForAllInstructions() local
1667 const Function *AssociatedFunction = IRP.getAssociatedFunction(); in checkForAllInstructions()