|
LLVM
4.0.0
|
#include <CallSite.h>
Public Types | |
| typedef IterTy | arg_iterator |
| arg_iterator - The type of iterator to use when looping over actual arguments at this call site. More... | |
| typedef IterTy | data_operand_iterator |
| Type of iterator to use when looping over data operands at this call site (see below). More... | |
Public Member Functions | |
| bool | isCall () const |
| isCall - true if a CallInst is enclosed. More... | |
| bool | isInvoke () const |
| isInvoke - true if a InvokeInst is enclosed. More... | |
| InstrTy * | getInstruction () const |
| InstrTy * | operator-> () const |
| operator bool () const | |
| BBTy * | getParent () const |
| Get the basic block containing the call site. More... | |
| ValTy * | getCalledValue () const |
| getCalledValue - Return the pointer to function that is being called. More... | |
| FunTy * | getCalledFunction () const |
| getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call). More... | |
| void | setCalledFunction (Value *V) |
| setCalledFunction - Set the callee to the specified value. More... | |
| Intrinsic::ID | getIntrinsicID () const |
| Return the intrinsic ID of the intrinsic called by this CallSite, or Intrinsic::not_intrinsic if the called function is not an intrinsic, or if this CallSite is an indirect call. More... | |
| bool | isCallee (Value::const_user_iterator UI) const |
| isCallee - Determine whether the passed iterator points to the callee operand's Use. More... | |
| bool | isCallee (const Use *U) const |
| Determine whether this Use is the callee operand's Use. More... | |
| bool | isArgOperand (Value::const_user_iterator UI) const |
| Determine whether the passed iterator points to an argument operand. More... | |
| bool | isArgOperand (const Use *U) const |
| Determine whether the passed use points to an argument operand. More... | |
| bool | isBundleOperand (Value::const_user_iterator UI) const |
| Determine whether the passed iterator points to a bundle operand. More... | |
| bool | isBundleOperand (const Use *U) const |
| Determine whether the passed use points to a bundle operand. More... | |
| bool | isDataOperand (Value::const_user_iterator UI) const |
| Determine whether the passed iterator points to a data operand. More... | |
| bool | isDataOperand (const Use *U) const |
| Determine whether the passed use points to a data operand. More... | |
| ValTy * | getArgument (unsigned ArgNo) const |
| void | setArgument (unsigned ArgNo, Value *newVal) |
| unsigned | getArgumentNo (Value::const_user_iterator I) const |
| Given a value use iterator, returns the argument that corresponds to it. More... | |
| unsigned | getArgumentNo (const Use *U) const |
| Given a use for an argument, get the argument number that corresponds to it. More... | |
| iterator_range< IterTy > | args () const |
| bool | arg_empty () const |
| unsigned | arg_size () const |
| unsigned | getDataOperandNo (Value::const_user_iterator UI) const |
| Given a value use iterator, returns the data operand that corresponds to it. More... | |
| unsigned | getDataOperandNo (const Use *U) const |
| Given a use for a data operand, get the data operand number that corresponds to it. More... | |
| IterTy | data_operands_begin () const |
| data_operands_begin/data_operands_end - Return iterators iterating over the call / invoke argument list and bundle operands. More... | |
| IterTy | data_operands_end () const |
| iterator_range< IterTy > | data_ops () const |
| bool | data_operands_empty () const |
| unsigned | data_operands_size () const |
| Type * | getType () const |
| getType - Return the type of the instruction that generated this call site More... | |
| FunTy * | getCaller () const |
| getCaller - Return the caller function for this call site More... | |
| bool | isMustTailCall () const |
| Tests if this call site must be tail call optimized. More... | |
| bool | isTailCall () const |
| Tests if this call site is marked as a tail call. More... | |
| unsigned | getNumArgOperands () const |
| ValTy * | getArgOperand (unsigned i) const |
| ValTy * | getReturnedArgOperand () const |
| bool | isInlineAsm () const |
| CallingConv::ID | getCallingConv () const |
| getCallingConv/setCallingConv - get or set the calling convention of the call. More... | |
| void | setCallingConv (CallingConv::ID CC) |
| FunctionType * | getFunctionType () const |
| void | mutateFunctionType (FunctionType *Ty) const |
| AttributeSet | getAttributes () const |
| getAttributes/setAttributes - get or set the parameter attributes of the call. More... | |
| void | setAttributes (AttributeSet PAL) |
| void | addAttribute (unsigned i, Attribute::AttrKind Kind) |
| void | addAttribute (unsigned i, Attribute Attr) |
| void | removeAttribute (unsigned i, Attribute::AttrKind Kind) |
| void | removeAttribute (unsigned i, StringRef Kind) |
| bool | hasFnAttr (Attribute::AttrKind Kind) const |
| Return true if this function has the given attribute. More... | |
| bool | hasFnAttr (StringRef Kind) const |
| Return true if this function has the given attribute. More... | |
| bool | paramHasAttr (unsigned i, Attribute::AttrKind Kind) const |
| Return true if the call or the callee has the given attribute. More... | |
| Attribute | getAttribute (unsigned i, Attribute::AttrKind Kind) const |
| Attribute | getAttribute (unsigned i, StringRef Kind) const |
| bool | dataOperandHasImpliedAttr (unsigned i, Attribute::AttrKind Kind) const |
Return true if the data operand at index i directly or indirectly has the attribute A. More... | |
| uint16_t | getParamAlignment (uint16_t i) const |
| Extract the alignment for a call or parameter (0=unknown). More... | |
| uint64_t | getDereferenceableBytes (uint16_t i) const |
| Extract the number of dereferenceable bytes for a call or parameter (0=unknown). More... | |
| uint64_t | getDereferenceableOrNullBytes (uint16_t i) const |
| Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown). More... | |
| bool | doesNotAlias (unsigned n) const |
| Determine if the parameter or return value is marked with NoAlias attribute. More... | |
| bool | isNoBuiltin () const |
| Return true if the call should not be treated as a call to a builtin. More... | |
| bool | isNoInline () const |
| Return true if the call should not be inlined. More... | |
| void | setIsNoInline (bool Value=true) |
| bool | doesNotAccessMemory () const |
| Determine if the call does not access memory. More... | |
| void | setDoesNotAccessMemory () |
| bool | onlyReadsMemory () const |
| Determine if the call does not access or only reads memory. More... | |
| void | setOnlyReadsMemory () |
| bool | doesNotReadMemory () const |
| Determine if the call does not access or only writes memory. More... | |
| void | setDoesNotReadMemory () |
| bool | onlyAccessesArgMemory () const |
| Determine if the call can access memmory only using pointers based on its arguments. More... | |
| void | setOnlyAccessesArgMemory () |
| bool | doesNotReturn () const |
| Determine if the call cannot return. More... | |
| void | setDoesNotReturn () |
| bool | doesNotThrow () const |
| Determine if the call cannot unwind. More... | |
| void | setDoesNotThrow () |
| bool | cannotDuplicate () const |
| Determine if the call can be duplicated. More... | |
| void | setCannotDuplicate () |
| bool | isConvergent () const |
| Determine if the call is convergent. More... | |
| void | setConvergent () |
| void | setNotConvergent () |
| unsigned | getNumOperandBundles () const |
| bool | hasOperandBundles () const |
| unsigned | getBundleOperandsStartIndex () const |
| unsigned | getBundleOperandsEndIndex () const |
| unsigned | getNumTotalBundleOperands () const |
| OperandBundleUse | getOperandBundleAt (unsigned Index) const |
| Optional< OperandBundleUse > | getOperandBundle (StringRef Name) const |
| Optional< OperandBundleUse > | getOperandBundle (uint32_t ID) const |
| unsigned | countOperandBundlesOfType (uint32_t ID) const |
| bool | isBundleOperand (unsigned Idx) const |
| IterTy | arg_begin () const |
| IterTy | arg_end () const |
| void | getOperandBundlesAsDefs (SmallVectorImpl< OperandBundleDef > &Defs) const |
| bool | doesNotCapture (unsigned OpNo) const |
| Determine whether this data operand is not captured. More... | |
| bool | isByValArgument (unsigned ArgNo) const |
| Determine whether this argument is passed by value. More... | |
| bool | isInAllocaArgument (unsigned ArgNo) const |
| Determine whether this argument is passed in an alloca. More... | |
| bool | isByValOrInAllocaArgument (unsigned ArgNo) const |
| Determine whether this argument is passed by value or in an alloca. More... | |
| bool | hasInAllocaArgument () const |
| Determine if there are is an inalloca argument. More... | |
| bool | doesNotAccessMemory (unsigned OpNo) const |
| bool | onlyReadsMemory (unsigned OpNo) const |
| bool | isReturnNonNull () const |
| Return true if the return value is known to be not null. More... | |
| bool | hasArgument (const Value *Arg) const |
| hasArgument - Returns true if this CallSite passes the given Value* as an argument to the called function. More... | |
Protected Member Functions | |
| CallSiteBase () | |
| CallSiteBase (CallTy *CI) | |
| CallSiteBase (InvokeTy *II) | |
| CallSiteBase (ValTy *II) | |
Protected Attributes | |
| PointerIntPair< InstrTy *, 1, bool > | I |
Definition at line 58 of file CallSite.h.
| typedef IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_iterator |
arg_iterator - The type of iterator to use when looping over actual arguments at this call site.
Definition at line 205 of file CallSite.h.
| typedef IterTy llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::data_operand_iterator |
Type of iterator to use when looping over data operands at this call site (see below).
Definition at line 230 of file CallSite.h.
|
inlineprotected |
Definition at line 62 of file CallSite.h.
|
inlineprotected |
Definition at line 63 of file CallSite.h.
|
inlineprotected |
Definition at line 64 of file CallSite.h.
|
inlineexplicitprotected |
Definition at line 65 of file CallSite.h.
|
inline |
Definition at line 332 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::addAttribute(), and LLVMAddCallSiteAttribute().
|
inline |
Definition at line 336 of file CallSite.h.
|
inline |
Definition at line 528 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::arg_begin(), llvm::CallSiteBase<>::arg_empty(), llvm::CallSiteBase<>::arg_size(), llvm::CallSiteBase<>::args(), llvm::objcarc::CanAlterRefCount(), checkFunctionMemoryAccess(), determinePointerReadAttrs(), llvm::Evaluator::EvaluateBlock(), findTRECandidate(), llvm::CallSiteBase<>::getArgument(), llvm::CallSiteBase<>::getArgumentNo(), llvm::GCRelocateInst::getBasePtr(), llvm::objcarc::GetCallSiteClass(), llvm::GCRelocateInst::getDerivedPtr(), llvm::AAResults::getModRefInfo(), llvm::CallSiteBase<>::hasArgument(), hasSameArgumentList(), llvm::InlineFunction(), llvm::CallSiteBase<>::isArgOperand(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::IntrinsicLowering::LowerIntrinsicCall(), makeStatepointExplicitImpl(), PropagateConstantsIntoArguments(), ReplaceFPIntrinsicWithCall(), llvm::CallSiteBase<>::setArgument(), llvm::SimplifyInstruction(), and llvm::Interpreter::visitCallSite().
|
inline |
Definition at line 210 of file CallSite.h.
Referenced by computeBytesPoppedByCalleeForSRet().
|
inline |
Definition at line 532 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::arg_empty(), llvm::CallSiteBase<>::arg_end(), llvm::CallSiteBase<>::arg_size(), llvm::CallSiteBase<>::args(), llvm::objcarc::CanAlterRefCount(), checkFunctionMemoryAccess(), llvm::Evaluator::EvaluateBlock(), findTRECandidate(), llvm::CallSiteBase<>::getArgument(), llvm::objcarc::GetCallSiteClass(), llvm::AAResults::getModRefInfo(), llvm::CallSiteBase<>::hasArgument(), hasSameArgumentList(), llvm::CallSiteBase<>::isArgOperand(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::IntrinsicLowering::LowerIntrinsicCall(), makeStatepointExplicitImpl(), ReplaceFPIntrinsicWithCall(), llvm::CallSiteBase<>::setArgument(), llvm::SimplifyInstruction(), and llvm::Interpreter::visitCallSite().
|
inline |
Definition at line 211 of file CallSite.h.
Referenced by addStackMapLiveVars(), llvm::CallSiteBase<>::hasInAllocaArgument(), hasSameArgumentList(), llvm::InlineFunction(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), OptimizeAwayTrappingUsesOfValue(), processCallSite(), and llvm::Interpreter::visitCallSite().
|
inline |
Definition at line 207 of file CallSite.h.
Referenced by processCallSite().
|
inline |
Determine if the call can be duplicated.
Definition at line 470 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::cannotDuplicate().
|
inline |
Definition at line 520 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::countOperandBundlesOfType().
|
inline |
data_operands_begin/data_operands_end - Return iterators iterating over the call / invoke argument list and bundle operands.
For invokes, this is the set of instruction operands except the invoke target and the two successor blocks; and for calls this is the set of instruction operands except the call target.
Definition at line 238 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), llvm::CallSiteBase<>::data_operands_empty(), llvm::CallSiteBase<>::data_operands_size(), llvm::CallSiteBase<>::data_ops(), llvm::CallSiteBase<>::getDataOperandNo(), llvm::BasicAAResult::getModRefInfo(), llvm::CallSiteBase<>::isDataOperand(), and llvm::PointerMayBeCaptured().
|
inline |
Definition at line 249 of file CallSite.h.
|
inline |
Definition at line 242 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), llvm::CallSiteBase<>::data_operands_empty(), llvm::CallSiteBase<>::data_operands_size(), llvm::CallSiteBase<>::data_ops(), llvm::BasicAAResult::getModRefInfo(), llvm::CallSiteBase<>::isDataOperand(), and llvm::PointerMayBeCaptured().
|
inline |
Definition at line 252 of file CallSite.h.
Referenced by determinePointerReadAttrs().
|
inline |
Definition at line 246 of file CallSite.h.
|
inline |
Return true if the data operand at index i directly or indirectly has the attribute A.
Normal call or invoke arguments have per operand attributes, as specified in the attribute set attached to this instruction, while operand bundle operands may have some attributes implied by the type of its containing operand bundle.
Definition at line 378 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::dataOperandHasImpliedAttr(), llvm::CallSiteBase<>::doesNotAccessMemory(), llvm::CallSiteBase<>::doesNotCapture(), and llvm::CallSiteBase<>::onlyReadsMemory().
|
inline |
Determine if the call does not access memory.
Definition at line 421 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), determinePointerReadAttrs(), llvm::CallSiteBase<>::doesNotAccessMemory(), and llvm::BasicAAResult::getModRefBehavior().
|
inline |
Definition at line 576 of file CallSite.h.
|
inline |
Determine if the parameter or return value is marked with NoAlias attribute.
| n | The parameter to check. 1 is the first parameter, 0 is the return |
Definition at line 402 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::doesNotAlias().
|
inline |
Determine whether this data operand is not captured.
Definition at line 550 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), determinePointerReadAttrs(), llvm::BasicAAResult::getModRefInfo(), and llvm::PointerMayBeCaptured().
|
inline |
Determine if the call does not access or only writes memory.
Definition at line 437 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::doesNotReadMemory(), and llvm::BasicAAResult::getModRefBehavior().
|
inline |
Determine if the call cannot return.
Definition at line 454 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::doesNotReturn(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
|
inline |
Determine if the call cannot unwind.
Definition at line 462 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::doesNotThrow(), llvm::InlineFunction(), and llvm::PointerMayBeCaptured().
|
inline |
Definition at line 292 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getArgOperand(), and llvm::isMathLibCallNoop().
|
inline |
Definition at line 178 of file CallSite.h.
Referenced by AddAlignmentAssumptions(), addStackMapLiveVars(), AllCallersPassInValidPointerForArgument(), createDirectCallInst(), llvm::MemoryLocation::getForArgument(), getStoredPointerOperand(), llvm::cflaa::instantiateInterfaceValue(), llvm::PatternMatch::Argument_match< Opnd_t >::match(), OptimizeAwayTrappingUsesOfValue(), llvm::TargetLowering::ParseConstraints(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), and llvm::ObjectSizeOffsetEvaluator::visitCallSite().
|
inline |
Given a value use iterator, returns the argument that corresponds to it.
Iterator must actually correspond to an argument.
Definition at line 191 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getArgumentNo().
|
inline |
Given a use for an argument, get the argument number that corresponds to it.
Definition at line 197 of file CallSite.h.
|
inline |
Definition at line 363 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getAttribute().
|
inline |
Definition at line 367 of file CallSite.h.
|
inline |
getAttributes/setAttributes - get or set the parameter attributes of the call.
Definition at line 325 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getAttributes(), getDeoptLowering(), LLVMSetInstrParamAlignment(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), makeStatepointExplicitImpl(), processCallSite(), and RemoveNestAttribute().
|
inline |
Definition at line 500 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getBundleOperandsEndIndex(), and llvm::CallSiteBase<>::isBundleOperand().
|
inline |
Definition at line 496 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getBundleOperandsStartIndex(), and llvm::CallSiteBase<>::isBundleOperand().
|
inline |
getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call).
Definition at line 110 of file CallSite.h.
Referenced by AddAliasScopeMetadata(), AddAlignmentAssumptions(), llvm::CallGraphNode::addCalledFunction(), llvm::CodeMetrics::analyzeBasicBlock(), llvm::callsGCLeafFunction(), checkFunctionMemoryAccess(), CloneAliasScopeMetadata(), llvm::CloneAndPruneIntoFromInst(), determinePointerReadAttrs(), getCalledFunction(), getDeoptLowering(), llvm::MemoryLocation::getForArgument(), llvm::getInlineCost(), llvm::getIntrinsicForCallSite(), llvm::CallSiteBase<>::getIntrinsicID(), llvm::BasicAAResult::getModRefBehavior(), llvm::GlobalsAAResult::getModRefBehavior(), llvm::GlobalsAAResult::getModRefInfo(), llvm::NVPTXTargetLowering::getPrototype(), llvm::SystemZTTIImpl::getUnrollingPreferences(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getUnrollingPreferences(), InlineCallIfPossible(), inlineCallsImpl(), llvm::InlineFunction(), isFunctionMallocLike(), llvm::isInlineViable(), llvm::isMathLibCallNoop(), isReturnNonNull(), isWriteOnlyParam(), removeConvergentAttrs(), llvm::InlinerPass::run(), shouldBeDeferred(), shouldInline(), UpdateCallGraphAfterInlining(), llvm::PGOIndirectCallSiteVisitor::visitCallSite(), and llvm::Interpreter::visitCallSite().
|
inline |
getCalledValue - Return the pointer to function that is being called.
Definition at line 102 of file CallSite.h.
Referenced by llvm::CodeMetrics::analyzeBasicBlock(), analyzeParsePointLiveness(), createIfThenElse(), llvm::Evaluator::EvaluateBlock(), ExtraFlags::ExtraFlags(), llvm::CallSiteBase<>::getCalledFunction(), llvm::InlineFunction(), makeStatepointExplicitImpl(), OptimizeAwayTrappingUsesOfValue(), llvm::TargetLowering::ParseConstraints(), PrepareCall(), llvm::FunctionLoweringInfo::set(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::SimplifyInstruction(), simplifySuspendPoint(), llvm::PGOIndirectCallSiteVisitor::visitCallSite(), and llvm::Interpreter::visitCallSite().
|
inline |
getCaller - Return the caller function for this call site
Definition at line 262 of file CallSite.h.
Referenced by AddAlignmentAssumptions(), llvm::getInlineCost(), InlineCallIfPossible(), inlineCallsImpl(), and shouldInline().
|
inline |
getCallingConv/setCallingConv - get or set the calling convention of the call.
Definition at line 308 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getCallingConv(), LLVMGetInstructionCallConv(), llvm::SelectionDAGBuilder::LowerStatepoint(), llvm::SelectionDAGBuilder::populateCallLoweringInfo(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
|
inline |
Given a value use iterator, returns the data operand that corresponds to it.
Iterator must actually correspond to a data operand.
Definition at line 216 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getDataOperandNo().
|
inline |
Given a use for a data operand, get the data operand number that corresponds to it.
Definition at line 222 of file CallSite.h.
|
inline |
Extract the number of dereferenceable bytes for a call or parameter (0=unknown).
Definition at line 389 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getDereferenceableBytes(), and llvm::CallSiteBase<>::isReturnNonNull().
|
inline |
Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown).
Definition at line 395 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getDereferenceableOrNullBytes().
|
inline |
Definition at line 315 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getFunctionType(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::FastISel::lowerCallTo(), and llvm::SelectionDAGBuilder::LowerCallTo().
|
inline |
Definition at line 93 of file CallSite.h.
Referenced by AddAlignmentAssumptions(), llvm::CallGraphNode::addCalledFunction(), analyzeParsePointLiveness(), llvm::AAResults::callCapturesBefore(), CloneAliasScopeMetadata(), llvm::CallSiteBase<>::data_operands_begin(), llvm::CallSiteBase<>::data_operands_end(), doesNotRequireEntrySafepointBefore(), llvm::Evaluator::EvaluateBlock(), llvm::CallSiteBase<>::getArgumentNo(), getCalledFunction(), llvm::CallSiteBase<>::getCalledValue(), llvm::CallSiteBase<>::getDataOperandNo(), llvm::MemoryLocation::getForArgument(), llvm::TypeBasedAAResult::getModRefBehavior(), llvm::ScopedNoAliasAAResult::getModRefInfo(), llvm::TypeBasedAAResult::getModRefInfo(), llvm::objcarc::ObjCARCAAResult::getModRefInfo(), llvm::BasicAAResult::getModRefInfo(), llvm::MemoryDependenceResults::getNonLocalCallDependency(), llvm::CallSiteBase<>::getOperandBundlesAsDefs(), llvm::CallSiteBase<>::getParent(), llvm::NVPTXTargetLowering::getPrototype(), inlineCallsImpl(), llvm::InlineFunction(), insertUseHolderAfter(), llvm::cflaa::instantiateInterfaceValue(), llvm::CallSiteBase<>::isArgOperand(), llvm::CallSiteBase<>::isBundleOperand(), llvm::isGCRelocate(), llvm::isGCResult(), llvm::CallSiteBase<>::isInlineAsm(), llvm::isInlineViable(), llvm::isInTailCallPosition(), isIntrinsicCall(), llvm::CallSiteBase<>::isInvoke(), llvm::CallSiteBase<>::isMustTailCall(), llvm::CallSiteBase<>::isTailCall(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::FastISel::lowerCallTo(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), llvm::SelectionDAGBuilder::lowerInvokable(), makeStatepointExplicitImpl(), needsStatepoint(), llvm::CallSite::operator<(), PrintModRefResults(), processCallSite(), PropagateParallelLoopAccessMetadata(), recomputeLiveInValues(), rematerializeLiveValues(), llvm::CallGraphNode::removeCallEdgeFor(), llvm::CallGraphNode::replaceCallEdge(), llvm::CallSiteBase<>::setArgument(), llvm::CallSiteBase<>::setCalledFunction(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), shouldInline(), simplifySuspendPoint(), UpdateCallGraphAfterInlining(), llvm::PGOIndirectCallSiteVisitor::visitCallSite(), llvm::Interpreter::visitCallSite(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite(), llvm::ObjectSizeOffsetEvaluator::visitCallSite(), and llvm::PtrUseVisitor< SliceBuilder >::visitCallSite().
|
inline |
Return the intrinsic ID of the intrinsic called by this CallSite, or Intrinsic::not_intrinsic if the called function is not an intrinsic, or if this CallSite is an indirect call.
Definition at line 124 of file CallSite.h.
|
inline |
Definition at line 288 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), determinePointerReadAttrs(), llvm::BasicAAResult::getModRefInfo(), llvm::CallSiteBase<>::getNumArgOperands(), llvm::isMathLibCallNoop(), LLVMGetNumArgOperands(), and llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl().
|
inline |
Definition at line 488 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getNumOperandBundles(), and llvm::InlineFunction().
|
inline |
Definition at line 504 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getNumTotalBundleOperands().
|
inline |
Definition at line 512 of file CallSite.h.
Referenced by GetDeoptBundleOperands(), llvm::CallSiteBase<>::getOperandBundle(), llvm::InlineFunction(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), and makeStatepointExplicitImpl().
|
inline |
Definition at line 516 of file CallSite.h.
|
inline |
Definition at line 508 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getOperandBundleAt(), and llvm::InlineFunction().
|
inline |
Definition at line 539 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getOperandBundlesAsDefs(), and llvm::InlineFunction().
|
inline |
Extract the alignment for a call or parameter (0=unknown).
Definition at line 383 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getParamAlignment(), llvm::FastISel::ArgListEntry::setAttributes(), and llvm::TargetLowering::ArgListEntry::setAttributes().
|
inline |
Get the basic block containing the call site.
Definition at line 98 of file CallSite.h.
Referenced by addNoRecurseAttrsTopDown(), inlineCallsImpl(), and llvm::SelectionDAGBuilder::LowerStatepoint().
|
inline |
Definition at line 296 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getReturnedArgOperand().
|
inline |
getType - Return the type of the instruction that generated this call site
Definition at line 258 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::isReturnNonNull(), llvm::FastISel::lowerCall(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::FastISel::lowerCallTo(), llvm::SelectionDAGBuilder::LowerCallTo(), makeStatepointExplicitImpl(), and llvm::TargetLowering::ParseConstraints().
|
inline |
hasArgument - Returns true if this CallSite passes the given Value* as an argument to the called function.
Definition at line 600 of file CallSite.h.
|
inline |
Return true if this function has the given attribute.
Definition at line 349 of file CallSite.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), llvm::callsGCLeafFunction(), getDeoptLowering(), llvm::getInlineCost(), llvm::CallSiteBase<>::hasFnAttr(), and hasReturnsTwiceAttr().
|
inline |
Return true if this function has the given attribute.
Definition at line 354 of file CallSite.h.
|
inline |
Determine if there are is an inalloca argument.
Only the last argument can have the inalloca attribute.
Definition at line 572 of file CallSite.h.
|
inline |
Definition at line 492 of file CallSite.h.
Referenced by checkFunctionMemoryAccess(), llvm::BasicAAResult::getModRefBehavior(), llvm::GlobalsAAResult::getModRefBehavior(), llvm::CallSiteBase<>::hasOperandBundles(), llvm::InlineFunction(), and llvm::CallSiteBase<>::isBundleOperand().
|
inline |
Determine whether the passed iterator points to an argument operand.
Definition at line 143 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getArgumentNo(), and llvm::CallSiteBase<>::isArgOperand().
|
inline |
Determine whether the passed use points to an argument operand.
Definition at line 148 of file CallSite.h.
|
inline |
Determine whether the passed iterator points to a bundle operand.
Definition at line 154 of file CallSite.h.
Referenced by canReplaceOperandWithVariable(), and llvm::CallSiteBase<>::isBundleOperand().
|
inline |
Determine whether the passed use points to a bundle operand.
Definition at line 159 of file CallSite.h.
|
inline |
Definition at line 524 of file CallSite.h.
|
inline |
Determine whether this argument is passed by value.
Definition at line 555 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), llvm::BasicAAResult::getModRefInfo(), and llvm::InlineFunction().
|
inline |
Determine whether this argument is passed by value or in an alloca.
Definition at line 565 of file CallSite.h.
Referenced by isSafeToEliminateVarargsCast().
|
inline |
isCall - true if a CallInst is enclosed.
Note that !isCall() does not mean it is an InvokeInst enclosed, it also could signify a NULL Instruction pointer.
Definition at line 87 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::data_operands_end(), llvm::CallSiteBase<>::getOperandBundlesAsDefs(), llvm::InlineFunction(), insertUseHolderAfter(), llvm::CallSiteBase<>::isInlineAsm(), llvm::isInlineViable(), llvm::CallSiteBase<>::isMustTailCall(), llvm::CallSiteBase<>::isTailCall(), makeStatepointExplicitImpl(), llvm::PatternMatch::Argument_match< Opnd_t >::match(), needsStatepoint(), rematerializeLiveValues(), and llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite().
|
inline |
isCallee - Determine whether the passed iterator points to the callee operand's Use.
Definition at line 134 of file CallSite.h.
Referenced by AddressIsTaken(), findRefEdges(), llvm::Function::hasAddressTaken(), llvm::CallSiteBase<>::isCallee(), and PropagateConstantsIntoArguments().
|
inline |
Determine whether this Use is the callee operand's Use.
Definition at line 139 of file CallSite.h.
|
inline |
Determine if the call is convergent.
Definition at line 478 of file CallSite.h.
Referenced by ExtraFlags::ExtraFlags(), llvm::CallSiteBase<>::isConvergent(), llvm::SelectionDAGBuilder::LowerCallTo(), and removeConvergentAttrs().
|
inline |
Determine whether the passed iterator points to a data operand.
Definition at line 169 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::getDataOperandNo(), and llvm::CallSiteBase<>::isDataOperand().
|
inline |
Determine whether the passed use points to a data operand.
Definition at line 174 of file CallSite.h.
|
inline |
Determine whether this argument is passed in an alloca.
Definition at line 560 of file CallSite.h.
|
inline |
Definition at line 300 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::isInlineAsm().
|
inline |
isInvoke - true if a InvokeInst is enclosed.
Definition at line 91 of file CallSite.h.
Referenced by rematerializeLiveValues(), llvm::TargetLowering::CallLoweringInfo::setCallee(), and llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite().
|
inline |
Tests if this call site must be tail call optimized.
Only a CallInst can be tail call optimized.
Definition at line 266 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::isMustTailCall().
|
inline |
Return true if the call should not be treated as a call to a builtin.
Definition at line 408 of file CallSite.h.
Referenced by getCalledFunction(), and llvm::CallSiteBase<>::isNoBuiltin().
|
inline |
Return true if the call should not be inlined.
Definition at line 413 of file CallSite.h.
Referenced by llvm::CodeMetrics::analyzeBasicBlock(), llvm::getInlineCost(), and llvm::CallSiteBase<>::isNoInline().
|
inline |
Return true if the return value is known to be not null.
This may be because it has the nonnull attribute, or because at least one byte is dereferenceable and the pointer is in addrspace(0).
Definition at line 588 of file CallSite.h.
|
inline |
Tests if this call site is marked as a tail call.
Definition at line 271 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::isTailCall().
|
inline |
Definition at line 319 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::mutateFunctionType().
|
inline |
Determine if the call can access memmory only using pointers based on its arguments.
Definition at line 446 of file CallSite.h.
Referenced by llvm::BasicAAResult::getModRefBehavior(), and llvm::CallSiteBase<>::onlyAccessesArgMemory().
|
inline |
Determine if the call does not access or only reads memory.
Definition at line 429 of file CallSite.h.
Referenced by llvm::AAResults::callCapturesBefore(), determinePointerReadAttrs(), llvm::objcarc::GetCallSiteClass(), llvm::getIntrinsicForCallSite(), llvm::BasicAAResult::getModRefBehavior(), llvm::CallSiteBase<>::onlyReadsMemory(), and llvm::PointerMayBeCaptured().
|
inline |
Definition at line 580 of file CallSite.h.
|
inlineexplicit |
Definition at line 95 of file CallSite.h.
|
inline |
Definition at line 94 of file CallSite.h.
|
inline |
Return true if the call or the callee has the given attribute.
Definition at line 359 of file CallSite.h.
Referenced by computeBytesPoppedByCalleeForSRet(), llvm::BasicAAResult::getArgModRefInfo(), llvm::CallSiteBase<>::hasInAllocaArgument(), llvm::CallSiteBase<>::isByValArgument(), llvm::CallSiteBase<>::isByValOrInAllocaArgument(), isFunctionMallocLike(), llvm::CallSiteBase<>::isInAllocaArgument(), llvm::CallSiteBase<>::isReturnNonNull(), isWriteOnlyParam(), llvm::CallSiteBase<>::paramHasAttr(), processCallSite(), llvm::FastISel::ArgListEntry::setAttributes(), llvm::TargetLowering::ArgListEntry::setAttributes(), llvm::FastISel::CallLoweringInfo::setCallee(), and llvm::TargetLowering::CallLoweringInfo::setCallee().
|
inline |
Definition at line 340 of file CallSite.h.
Referenced by LLVMRemoveCallSiteEnumAttribute(), LLVMRemoveCallSiteStringAttribute(), and llvm::CallSiteBase<>::removeAttribute().
|
inline |
Definition at line 344 of file CallSite.h.
|
inline |
Definition at line 183 of file CallSite.h.
Referenced by createDirectCallInst(), and OptimizeAwayTrappingUsesOfValue().
|
inline |
Definition at line 328 of file CallSite.h.
Referenced by LLVMSetInstrParamAlignment(), processCallSite(), RemoveNestAttribute(), and llvm::CallSiteBase<>::setAttributes().
|
inline |
setCalledFunction - Set the callee to the specified value.
Definition at line 116 of file CallSite.h.
Referenced by OptimizeAwayTrappingUsesOfValue().
|
inline |
Definition at line 311 of file CallSite.h.
Referenced by ChangeCalleesToFastCall(), LLVMSetInstructionCallConv(), and llvm::CallSiteBase<>::setCallingConv().
|
inline |
Definition at line 473 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setCannotDuplicate().
|
inline |
Definition at line 481 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setConvergent().
|
inline |
Definition at line 424 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setDoesNotAccessMemory().
|
inline |
Definition at line 440 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setDoesNotReadMemory().
|
inline |
Definition at line 457 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setDoesNotReturn().
|
inline |
Definition at line 465 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setDoesNotThrow().
|
inline |
Definition at line 416 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setIsNoInline().
|
inline |
Definition at line 484 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setNotConvergent().
|
inline |
Definition at line 449 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setOnlyAccessesArgMemory().
|
inline |
Definition at line 432 of file CallSite.h.
Referenced by llvm::CallSiteBase<>::setOnlyReadsMemory().
|
protected |
Definition at line 60 of file CallSite.h.
Referenced by llvm::DenseMapInfo< CallSite >::getEmptyKey(), llvm::DenseMapInfo< CallSite >::getHashValue(), llvm::CallSiteBase<>::getInstruction(), llvm::DenseMapInfo< CallSite >::getTombstoneKey(), llvm::CallSiteBase<>::isCall(), llvm::CallSiteBase<>::isInvoke(), llvm::CallSiteBase<>::operator bool(), llvm::CallSite::operator!=(), llvm::CallSiteBase<>::operator->(), and llvm::CallSite::operator==().
1.8.6