14 #ifndef LLVM_IR_ARGUMENT_H
15 #define LLVM_IR_ARGUMENT_H
35 virtual void anchor();
bool hasNoCaptureAttr() const
Return true if this argument has the nocapture attribute on it in its containing function.
bool hasNoAliasAttr() const
Return true if this argument has the noalias attribute on it in its containing function.
LLVM Argument representation.
bool onlyReadsMemory() const
Return true if this argument has the readonly or readnone attribute on it in its containing function...
bool hasByValOrInAllocaAttr() const
Return true if this argument has the byval attribute or inalloca attribute on it in its containing fu...
static bool classof(const Value *V)
Method for support type inquiry through isa, cast, and dyn_cast.
bool hasSwiftSelfAttr() const
Return true if this argument has the swiftself attribute.
void addAttr(AttributeSet AS)
Add a Attribute to an argument.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
bool hasSwiftErrorAttr() const
Return true if this argument has the swifterror attribute.
This file contains the simple types necessary to represent the attributes associated with functions a...
uint64_t getDereferenceableOrNullBytes() const
If this argument has the dereferenceable_or_null attribute on it in its containing function...
uint64_t getDereferenceableBytes() const
If this argument has the dereferenceable attribute on it in its containing function, return the number of bytes known to be dereferenceable.
void removeAttr(AttributeSet AS)
Remove a Attribute from an argument.
bool hasStructRetAttr() const
Return true if this argument has the sret attribute on it in its containing function.
bool hasNestAttr() const
Return true if this argument has the nest attribute on it in its containing function.
void addAttr(Attribute::AttrKind Kind)
The instances of the Type class are immutable: once they are created, they are never changed...
const Function * getParent() const
bool hasAttribute(Attribute::AttrKind Kind) const
Checks if an argument has a given attribute.
bool hasInAllocaAttr() const
Return true if this argument has the inalloca attribute on it in its containing function.
unsigned getParamAlignment() const
If this is a byval or inalloca argument, return its alignment.
unsigned getValueID() const
Return an ID for the concrete type of this object.
bool hasSExtAttr() const
Return true if this argument has the sext attribute on it in its containing function.
LLVMContext & getContext() const
All values hold a context through their type.
void removeAttr(Attribute::AttrKind Kind)
bool hasByValAttr() const
Return true if this argument has the byval attribute on it in its containing function.
bool hasZExtAttr() const
Return true if this argument has the zext attribute on it in its containing function.
Argument(Type *Ty, const Twine &Name="", Function *F=nullptr)
Constructor.
bool hasNonNullAttr() const
Return true if this argument has the nonnull attribute on it in its containing function.
LLVM Value Representation.
unsigned getArgNo() const
Return the index of this formal argument in its containing function.
bool hasReturnedAttr() const
Return true if this argument has the returned attribute on it in its containing function.
AttrKind
This enumeration lists the attributes that can be associated with parameters, function results...