class Function
Declaration
class Function : public GlobalObject { /* full declaration omitted */ };
Declared at: llvm/include/llvm/IR/Function.h:59
Inherits from: GlobalObject
Member Variables
Inherited from GlobalObject:
- protected ObjComdat
- protected static GlobalObjectSubClassDataBits = GlobalValueSubClassDataBits - GlobalObjectBits
Inherited from GlobalValue:
- protected ValueType
- protected Linkage
- protected Visibility
- protected UnnamedAddrVal
- protected DllStorageClass
- protected ThreadLocal
- protected HasLLVMReservedName
- protected IsDSOLocal
- protected HasPartition
- protected IntID
- protected Parent
- protected static GlobalValueSubClassDataBits = 16
Inherited from Value:
- protected SubclassOptionalData
- protected NumUserOperands
- protected IsUsedByMD
- protected HasName
- protected HasHungOffUses
- protected HasDescriptor
- public static MaxAlignmentExponent = 29
- public static MaximumAlignment = 1U << MaxAlignmentExponent
Method Overview
- public static llvm::Function * Create(llvm::FunctionType * Ty, llvm::GlobalValue::LinkageTypes Linkage, unsigned int AddrSpace, const llvm::Twine & N = "", llvm::Module * M = nullptr)
- public static llvm::Function * Create(llvm::FunctionType * Ty, llvm::GlobalValue::LinkageTypes Linkage, const llvm::Twine & N = "", llvm::Module * M = nullptr)
- public static llvm::Function * Create(llvm::FunctionType * Ty, llvm::GlobalValue::LinkageTypes Linkage, const llvm::Twine & N, llvm::Module & M)
- public Function(const llvm::Function &)
- public void addAttribute(unsigned int i, llvm::Attribute Attr)
- public void addAttribute(unsigned int i, Attribute::AttrKind Kind)
- public void addAttributes(unsigned int i, const llvm::AttrBuilder & Attrs)
- public void addDereferenceableAttr(unsigned int i, uint64_t Bytes)
- public void addDereferenceableOrNullAttr(unsigned int i, uint64_t Bytes)
- public void addDereferenceableOrNullParamAttr(unsigned int ArgNo, uint64_t Bytes)
- public void addDereferenceableParamAttr(unsigned int ArgNo, uint64_t Bytes)
- public void addFnAttr(llvm::StringRef Kind, llvm::StringRef Val = llvm::StringRef())
- public void addFnAttr(llvm::Attribute Attr)
- public void addFnAttr(Attribute::AttrKind Kind)
- public void addParamAttr(unsigned int ArgNo, Attribute::AttrKind Kind)
- public void addParamAttr(unsigned int ArgNo, llvm::Attribute Attr)
- public void addParamAttrs(unsigned int ArgNo, const llvm::AttrBuilder & Attrs)
- public llvm::Function::const_arg_iterator arg_begin() const
- public llvm::Function::arg_iterator arg_begin()
- public bool arg_empty() const
- public llvm::Function::const_arg_iterator arg_end() const
- public llvm::Function::arg_iterator arg_end()
- public size_t arg_size() const
- public iterator_range<llvm::Function::arg_iterator> args()
- public iterator_range<llvm::Function::const_arg_iterator> args() const
- public llvm::BasicBlock & back()
- public const llvm::BasicBlock & back() const
- public int begin() const
- public int begin()
- public bool callsFunctionThatReturnsTwice() const
- public bool cannotDuplicate() const
- public static bool classof(const llvm::Value * V)
- public void clearGC()
- public void copyAttributesFrom(const llvm::Function * Src)
- public void deleteBody()
- public bool doesNoCfCheck() const
- public bool doesNotAccessMemory() const
- public bool doesNotFreeMemory() const
- public bool doesNotReadMemory() const
- public bool doesNotRecurse() const
- public bool doesNotReturn() const
- public bool doesNotThrow() const
- public void dropAllReferences()
- public bool empty() const
- public int end()
- public int end() const
- public void eraseFromParent()
- public llvm::BasicBlock & front()
- public const llvm::BasicBlock & front() const
- public llvm::Argument * getArg(unsigned int i) const
- public llvm::Attribute getAttribute(unsigned int i, llvm::StringRef Kind) const
- public llvm::Attribute getAttribute(unsigned int i, Attribute::AttrKind Kind) const
- public llvm::AttributeList getAttributes() const
- public const llvm::Function::BasicBlockListType & getBasicBlockList() const
- public llvm::Function::BasicBlockListType & getBasicBlockList()
- public CallingConv::ID getCallingConv() const
- public llvm::LLVMContext & getContext() const
- public uint64_t getDereferenceableBytes(unsigned int i) const
- public uint64_t getDereferenceableOrNullBytes(unsigned int i) const
- public llvm::BasicBlock & getEntryBlock()
- public const llvm::BasicBlock & getEntryBlock() const
- public llvm::Function::ProfileCount getEntryCount(bool AllowSynthetic = false) const
- public llvm::Attribute getFnAttribute(llvm::StringRef Kind) const
- public llvm::Attribute getFnAttribute(Attribute::AttrKind Kind) const
- public unsigned int getFnStackAlignment() const
- public const llvm::Function & getFunction() const
- public llvm::FunctionType * getFunctionType() const
- public const std::string & getGC() const
- public int getImportGUIDs() const
- public unsigned int getInstructionCount() const
- public Intrinsic::ID getIntrinsicID() const
- public llvm::MaybeAlign getParamAlign(unsigned int ArgNo) const
- public unsigned int getParamAlignment(unsigned int ArgNo) const
- public llvm::Attribute getParamAttribute(unsigned int ArgNo, Attribute::AttrKind Kind) const
- public llvm::Type * getParamByValType(unsigned int ArgNo) const
- public uint64_t getParamDereferenceableBytes(unsigned int ArgNo) const
- public uint64_t getParamDereferenceableOrNullBytes(unsigned int ArgNo) const
- public llvm::Constant * getPersonalityFn() const
- public llvm::Constant * getPrefixData() const
- public llvm::Constant * getPrologueData() const
- public llvm::Type * getReturnType() const
- public Optional<llvm::StringRef> getSectionPrefix() const
- public static llvm::Function::BasicBlockListType llvm::Function::* getSublistAccess(llvm::BasicBlock *)
- public llvm::DISubprogram * getSubprogram() const
- public inline llvm::ValueSymbolTable * getValueSymbolTable()
- public inline const llvm::ValueSymbolTable * getValueSymbolTable() const
- public bool hasAddressTaken(const llvm::User ** = nullptr) const
- public bool hasAttribute(unsigned int i, Attribute::AttrKind Kind) const
- public bool hasFnAttribute(llvm::StringRef Kind) const
- public bool hasFnAttribute(Attribute::AttrKind Kind) const
- public bool hasGC() const
- public bool hasLazyArguments() const
- public bool hasMinSize() const
- public bool hasOptNone() const
- public bool hasOptSize() const
- public bool hasParamAttribute(unsigned int ArgNo, Attribute::AttrKind Kind) const
- public bool hasPersonalityFn() const
- public bool hasPrefixData() const
- public bool hasProfileData(bool IncludeSynthetic = false) const
- public bool hasPrologueData() const
- public bool hasStructRetAttr() const
- public bool hasUWTable() const
- public bool isConvergent() const
- public bool isDebugInfoForProfiling() const
- public bool isDefTriviallyDead() const
- public bool isIntrinsic() const
- public bool isMaterializable() const
- public bool isSpeculatable() const
- public bool isVarArg() const
- public static Intrinsic::ID lookupIntrinsicID(llvm::StringRef Name)
- public bool needsUnwindTableEntry() const
- public bool nullPointerIsDefined() const
- public bool onlyAccessesArgMemory() const
- public bool onlyAccessesInaccessibleMemOrArgMem() const
- public bool onlyAccessesInaccessibleMemory() const
- public bool onlyReadsMemory() const
- public void print(llvm::raw_ostream & OS, llvm::AssemblyAnnotationWriter * AAW = nullptr, bool ShouldPreserveUseListOrder = false, bool IsForDebug = false) const
- public void recalculateIntrinsicID()
- public void removeAttribute(unsigned int i, Attribute::AttrKind Kind)
- public void removeAttribute(unsigned int i, llvm::StringRef Kind)
- public void removeAttributes(unsigned int i, const llvm::AttrBuilder & Attrs)
- public void removeFnAttr(Attribute::AttrKind Kind)
- public void removeFnAttr(llvm::StringRef Kind)
- public void removeFromParent()
- public void removeParamAttr(unsigned int ArgNo, Attribute::AttrKind Kind)
- public void removeParamAttr(unsigned int ArgNo, llvm::StringRef Kind)
- public void removeParamAttrs(unsigned int ArgNo, const llvm::AttrBuilder & Attrs)
- public bool returnDoesNotAlias() const
- public void setAttributes(llvm::AttributeList Attrs)
- public void setCallingConv(CallingConv::ID CC)
- public void setCannotDuplicate()
- public void setConvergent()
- public void setDoesNotAccessMemory()
- public void setDoesNotFreeMemory()
- public void setDoesNotReadMemory()
- public void setDoesNotRecurse()
- public void setDoesNotReturn()
- public void setDoesNotThrow()
- public void setEntryCount(uint64_t Count, llvm::Function::ProfileCountType Type = PCT_Real, const int * Imports = nullptr)
- public void setEntryCount(llvm::Function::ProfileCount Count, const int * Imports = nullptr)
- public void setGC(std::string Str)
- public void setHasUWTable()
- public void setIsMaterializable(bool V)
- public void setNotConvergent()
- public void setOnlyAccessesArgMemory()
- public void setOnlyAccessesInaccessibleMemOrArgMem()
- public void setOnlyAccessesInaccessibleMemory()
- public void setOnlyReadsMemory()
- public void setPersonalityFn(llvm::Constant * Fn)
- public void setPrefixData(llvm::Constant * PrefixData)
- public void setPrologueData(llvm::Constant * PrologueData)
- public void setReturnDoesNotAlias()
- public void setSectionPrefix(llvm::StringRef Prefix)
- public void setSpeculatable()
- public void setSubprogram(llvm::DISubprogram * SP)
- public size_t size() const
- public void stealArgumentListFrom(llvm::Function & Src)
- public void viewCFG() const
- public void viewCFGOnly() const
- public ~Function()
Inherited from GlobalObject:
- public addMetadata
- public addMetadata
- public addTypeMetadata
- public addVCallVisibilityMetadata
- public classof
- public clearMetadata
- protected copyAttributesFrom
- public copyMetadata
- public eraseMetadata
- public getAlignment
- public getAllMetadata
- public getComdat
- public getComdat
- public getGlobalObjectSubClassData
- public getMetadata
- public getMetadata
- public getMetadata
- public getMetadata
- public getSection
- public getVCallVisibility
- public hasComdat
- public hasMetadata
- public hasMetadata
- public hasMetadata
- public hasSection
- public setAlignment
- public setComdat
- public setGlobalObjectSubClassData
- public setMetadata
- public setMetadata
- public setSection
Inherited from GlobalValue:
- public canBeOmittedFromSymbolTable
- public canIncreaseAlignment
- public classof
- protected copyAttributesFrom
- public dropLLVMManglingEscape
- public eraseFromParent
- public getAbsoluteSymbolRange
- public getAddressSpace
- public getAlignment
- public getBaseObject
- public getBaseObject
- public getComdat
- public getComdat
- public getDLLStorageClass
- public getGUID
- public getGUID
- public getGlobalIdentifier
- public getGlobalIdentifier
- protected getGlobalValueSubClassData
- public getLinkOnceLinkage
- public getLinkage
- public getMinUnnamedAddr
- public getParent
- public getParent
- public getPartition
- public getSection
- public getThreadLocalMode
- public getType
- public getUnnamedAddr
- public getValueType
- public getVisibility
- public getWeakLinkage
- public hasAppendingLinkage
- public hasAtLeastLocalUnnamedAddr
- public hasAvailableExternallyLinkage
- public hasComdat
- public hasCommonLinkage
- public hasDLLExportStorageClass
- public hasDLLImportStorageClass
- public hasDefaultVisibility
- public hasExactDefinition
- public hasExternalLinkage
- public hasExternalWeakLinkage
- public hasGlobalUnnamedAddr
- public hasHiddenVisibility
- public hasInternalLinkage
- public hasLinkOnceLinkage
- public hasLinkOnceODRLinkage
- public hasLocalLinkage
- public hasPartition
- public hasPrivateLinkage
- public hasProtectedVisibility
- public hasSection
- public hasValidDeclarationLinkage
- public hasWeakAnyLinkage
- public hasWeakLinkage
- public hasWeakODRLinkage
- public isAbsoluteSymbolRef
- public isAppendingLinkage
- public isAvailableExternallyLinkage
- public isCommonLinkage
- public isDSOLocal
- public isDeclaration
- public isDeclarationForLinker
- public isDefinitionExact
- public isDiscardableIfUnused
- public isDiscardableIfUnused
- public isExternalLinkage
- public isExternalWeakLinkage
- public isInternalLinkage
- public isInterposable
- public isInterposableLinkage
- public isLinkOnceLinkage
- public isLinkOnceODRLinkage
- public isLocalLinkage
- public isMaterializable
- public isPrivateLinkage
- public isStrongDefinitionForLinker
- public isThreadLocal
- public isValidDeclarationLinkage
- public isWeakAnyLinkage
- public isWeakForLinker
- public isWeakForLinker
- public isWeakLinkage
- public isWeakODRLinkage
- public materialize
- public removeFromParent
- public setDLLStorageClass
- public setDSOLocal
- protected setGlobalValueSubClassData
- public setLinkage
- protected setParent
- public setPartition
- public setThreadLocal
- public setThreadLocalMode
- public setUnnamedAddr
- public setVisibility
Inherited from Constant:
- public canTrap
- public classof
- public containsConstantExpression
- public containsUndefElement
- public destroyConstant
- public getAggregateElement
- public getAggregateElement
- public getAllOnesValue
- public getIntegerValue
- public getNullValue
- public getSplatValue
- public getUniqueInteger
- public handleOperandChange
- public hasExactInverseFP
- public isAllOnesValue
- public isConstantUsed
- public isDLLImportDependent
- public isElementWiseEqual
- public isFiniteNonZeroFP
- public isMinSignedValue
- public isNaN
- public isNegativeZeroValue
- public isNormalFP
- public isNotMinSignedValue
- public isNotOneValue
- public isNullValue
- public isOneValue
- public isThreadDependent
- public isZeroValue
- public needsRelocation
- public removeDeadConstantUsers
- public replaceUndefsWith
- public stripPointerCasts
- public stripPointerCasts
Inherited from User:
- protected Op
- protected Op
- protected OpFrom
- protected allocHungoffUses
- public classof
- public dropAllReferences
- public getDescriptor
- public getDescriptor
- public getNumOperands
- public getOperand
- public getOperandList
- public getOperandList
- public getOperandUse
- public getOperandUse
- protected growHungoffUses
- public op_begin
- public op_begin
- public op_end
- public op_end
- public operand_values
- public operand_values
- public operands
- public operands
- public replaceUsesOfWith
- public setGlobalVariableNumOperands
- public setNumHungOffUseOperands
- public setOperand
- public value_op_begin
- public value_op_begin
- public value_op_end
- public value_op_end
Inherited from Value:
- public DoPHITranslation
- public DoPHITranslation
- public addUse
- public assertModuleIsMaterialized
- public assertModuleIsMaterializedImpl
- public clearSubclassOptionalData
- public deleteValue
- public dump
- public getContext
- public getName
- public getNumUses
- public getPointerAlignment
- public getPointerDereferenceableBytes
- public getRawSubclassOptionalData
- protected getSubclassDataFromValue
- public getType
- public getValueID
- public getValueName
- public hasNUses
- public hasNUsesOrMore
- public hasName
- public hasOneUse
- public hasSameSubclassOptionalData
- public hasValueHandle
- public isSwiftError
- public isUsedByMetadata
- public isUsedInBasicBlock
- public materialized_use_begin
- public materialized_use_begin
- public materialized_use_empty
- public materialized_user_begin
- public materialized_user_begin
- public materialized_users
- public materialized_users
- public materialized_uses
- public materialized_uses
- public mutateType
- public print
- public print
- public printAsOperand
- public printAsOperand
- public replaceAllUsesWith
- public replaceNonMetadataUsesWith
- public replaceUsesOutsideBlock
- public replaceUsesWithIf
- public reverseUseList
- public setName
- public setValueName
- protected setValueSubclassData
- public sortUseList
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsOffsets
- public stripInBoundsOffsets
- public stripPointerCasts
- public stripPointerCasts
- public stripPointerCastsAndAliases
- public stripPointerCastsAndAliases
- public stripPointerCastsAndInvariantGroups
- public stripPointerCastsAndInvariantGroups
- public stripPointerCastsSameRepresentation
- public stripPointerCastsSameRepresentation
- public takeName
- public use_begin
- public use_begin
- public use_empty
- public use_end
- public use_end
- public user_back
- public user_back
- public user_begin
- public user_begin
- public user_empty
- public user_end
- public user_end
- public users
- public users
- public uses
- public uses
Methods
¶static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
unsigned int AddrSpace,
const llvm::Twine& N = "",
llvm::Module* M = nullptr)
static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
unsigned int AddrSpace,
const llvm::Twine& N = "",
llvm::Module* M = nullptr)
Declared at: llvm/include/llvm/IR/Function.h:135
Parameters
- llvm::FunctionType* Ty
- llvm::GlobalValue::LinkageTypes Linkage
- unsigned int AddrSpace
- const llvm::Twine& N = ""
- llvm::Module* M = nullptr
¶static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
const llvm::Twine& N = "",
llvm::Module* M = nullptr)
static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
const llvm::Twine& N = "",
llvm::Module* M = nullptr)
Declared at: llvm/include/llvm/IR/Function.h:142
Parameters
- llvm::FunctionType* Ty
- llvm::GlobalValue::LinkageTypes Linkage
- const llvm::Twine& N = ""
- llvm::Module* M = nullptr
¶static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
const llvm::Twine& N,
llvm::Module& M)
static llvm::Function* Create(
llvm::FunctionType* Ty,
llvm::GlobalValue::LinkageTypes Linkage,
const llvm::Twine& N,
llvm::Module& M)
Description
Creates a new function and attaches it to a module. Places the function in the program address space as specified by the module's data layout.
Declared at: llvm/include/llvm/IR/Function.h:151
Parameters
- llvm::FunctionType* Ty
- llvm::GlobalValue::LinkageTypes Linkage
- const llvm::Twine& N
- llvm::Module& M
¶Function(const llvm::Function&)
Function(const llvm::Function&)
Declared at: llvm/include/llvm/IR/Function.h:126
Parameters
- const llvm::Function&
¶void addAttribute(unsigned int i,
llvm::Attribute Attr)
void addAttribute(unsigned int i,
llvm::Attribute Attr)
Description
adds the attribute to the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:365
Parameters
- unsigned int i
- llvm::Attribute Attr
¶void addAttribute(unsigned int i,
Attribute::AttrKind Kind)
void addAttribute(unsigned int i,
Attribute::AttrKind Kind)
Description
adds the attribute to the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:362
Parameters
- unsigned int i
- Attribute::AttrKind Kind
¶void addAttributes(unsigned int i,
const llvm::AttrBuilder& Attrs)
void addAttributes(unsigned int i,
const llvm::AttrBuilder& Attrs)
Description
adds the attributes to the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:368
Parameters
- unsigned int i
- const llvm::AttrBuilder& Attrs
¶void addDereferenceableAttr(unsigned int i,
uint64_t Bytes)
void addDereferenceableAttr(unsigned int i,
uint64_t Bytes)
Description
adds the dereferenceable attribute to the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:423
Parameters
- unsigned int i
- uint64_t Bytes
¶void addDereferenceableOrNullAttr(unsigned int i,
uint64_t Bytes)
void addDereferenceableOrNullAttr(unsigned int i,
uint64_t Bytes)
Description
adds the dereferenceable_or_null attribute to the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:431
Parameters
- unsigned int i
- uint64_t Bytes
¶void addDereferenceableOrNullParamAttr(
unsigned int ArgNo,
uint64_t Bytes)
void addDereferenceableOrNullParamAttr(
unsigned int ArgNo,
uint64_t Bytes)
Description
adds the dereferenceable_or_null attribute to the list of attributes for the given arg.
Declared at: llvm/include/llvm/IR/Function.h:435
Parameters
- unsigned int ArgNo
- uint64_t Bytes
¶void addDereferenceableParamAttr(
unsigned int ArgNo,
uint64_t Bytes)
void addDereferenceableParamAttr(
unsigned int ArgNo,
uint64_t Bytes)
Description
adds the dereferenceable attribute to the list of attributes for the given arg.
Declared at: llvm/include/llvm/IR/Function.h:427
Parameters
- unsigned int ArgNo
- uint64_t Bytes
¶void addFnAttr(
llvm::StringRef Kind,
llvm::StringRef Val = llvm::StringRef())
void addFnAttr(
llvm::StringRef Kind,
llvm::StringRef Val = llvm::StringRef())
Description
Add function attributes to this function.
Declared at: llvm/include/llvm/IR/Function.h:234
Parameters
- llvm::StringRef Kind
- llvm::StringRef Val = llvm::StringRef()
¶void addFnAttr(llvm::Attribute Attr)
void addFnAttr(llvm::Attribute Attr)
Description
Add function attributes to this function.
Declared at: llvm/include/llvm/IR/Function.h:240
Parameters
- llvm::Attribute Attr
¶void addFnAttr(Attribute::AttrKind Kind)
void addFnAttr(Attribute::AttrKind Kind)
Description
Add function attributes to this function.
Declared at: llvm/include/llvm/IR/Function.h:229
Parameters
- Attribute::AttrKind Kind
¶void addParamAttr(unsigned int ArgNo,
Attribute::AttrKind Kind)
void addParamAttr(unsigned int ArgNo,
Attribute::AttrKind Kind)
Description
adds the attribute to the list of attributes for the given arg.
Declared at: llvm/include/llvm/IR/Function.h:371
Parameters
- unsigned int ArgNo
- Attribute::AttrKind Kind
¶void addParamAttr(unsigned int ArgNo,
llvm::Attribute Attr)
void addParamAttr(unsigned int ArgNo,
llvm::Attribute Attr)
Description
adds the attribute to the list of attributes for the given arg.
Declared at: llvm/include/llvm/IR/Function.h:374
Parameters
- unsigned int ArgNo
- llvm::Attribute Attr
¶void addParamAttrs(unsigned int ArgNo,
const llvm::AttrBuilder& Attrs)
void addParamAttrs(unsigned int ArgNo,
const llvm::AttrBuilder& Attrs)
Description
adds the attributes to the list of attributes for the given arg.
Declared at: llvm/include/llvm/IR/Function.h:377
Parameters
- unsigned int ArgNo
- const llvm::AttrBuilder& Attrs
¶llvm::Function::const_arg_iterator arg_begin()
const
llvm::Function::const_arg_iterator arg_begin()
const
Declared at: llvm/include/llvm/IR/Function.h:710
¶llvm::Function::arg_iterator arg_begin()
llvm::Function::arg_iterator arg_begin()
Description
@ {
Declared at: llvm/include/llvm/IR/Function.h:706
¶bool arg_empty() const
bool arg_empty() const
Declared at: llvm/include/llvm/IR/Function.h:740
¶llvm::Function::const_arg_iterator arg_end() const
llvm::Function::const_arg_iterator arg_end() const
Declared at: llvm/include/llvm/IR/Function.h:719
¶llvm::Function::arg_iterator arg_end()
llvm::Function::arg_iterator arg_end()
Declared at: llvm/include/llvm/IR/Function.h:715
¶size_t arg_size() const
size_t arg_size() const
Description
@ }
Declared at: llvm/include/llvm/IR/Function.h:739
¶iterator_range<llvm::Function::arg_iterator>
args()
iterator_range<llvm::Function::arg_iterator>
args()
Declared at: llvm/include/llvm/IR/Function.h:730
¶iterator_range<llvm::Function::const_arg_iterator>
args() const
iterator_range<llvm::Function::const_arg_iterator>
args() const
Declared at: llvm/include/llvm/IR/Function.h:733
¶llvm::BasicBlock& back()
llvm::BasicBlock& back()
Declared at: llvm/include/llvm/IR/Function.h:701
¶const llvm::BasicBlock& back() const
const llvm::BasicBlock& back() const
Declared at: llvm/include/llvm/IR/Function.h:700
¶int begin() const
int begin() const
Declared at: llvm/include/llvm/IR/Function.h:692
¶int begin()
int begin()
Declared at: llvm/include/llvm/IR/Function.h:691
¶bool callsFunctionThatReturnsTwice() const
bool callsFunctionThatReturnsTwice() const
Description
callsFunctionThatReturnsTwice - Return true if the function has a call to setjmp or other function that gcc recognizes as "returning twice".
Declared at: llvm/include/llvm/IR/Function.h:823
¶bool cannotDuplicate() const
bool cannotDuplicate() const
Description
Determine if the call cannot be duplicated.
Declared at: llvm/include/llvm/IR/Function.h:552
¶static bool classof(const llvm::Value* V)
static bool classof(const llvm::Value* V)
Description
Methods for support type inquiry through isa, cast, and dyn_cast:
Declared at: llvm/include/llvm/IR/Function.h:791
Parameters
- const llvm::Value* V
¶void clearGC()
void clearGC()
Declared at: llvm/include/llvm/IR/Function.h:359
¶void copyAttributesFrom(const llvm::Function* Src)
void copyAttributesFrom(const llvm::Function* Src)
Description
copyAttributesFrom - copy all additional attributes (those not needed to create a Function) from the Function Src to this one.
Declared at: llvm/include/llvm/IR/Function.h:639
Parameters
- const llvm::Function* Src
¶void deleteBody()
void deleteBody()
Description
deleteBody - This method deletes the body of the function, and converts the linkage to external.
Declared at: llvm/include/llvm/IR/Function.h:644
¶bool doesNoCfCheck() const
bool doesNoCfCheck() const
Description
Determine if the function should not perform indirect branch tracking.
Declared at: llvm/include/llvm/IR/Function.h:541
¶bool doesNotAccessMemory() const
bool doesNotAccessMemory() const
Description
Determine if the function does not access memory.
Declared at: llvm/include/llvm/IR/Function.h:484
¶bool doesNotFreeMemory() const
bool doesNotFreeMemory() const
Description
Determine if the call might deallocate memory.
Declared at: llvm/include/llvm/IR/Function.h:579
¶bool doesNotReadMemory() const
bool doesNotReadMemory() const
Description
Determine if the function does not access or only writes memory.
Declared at: llvm/include/llvm/IR/Function.h:500
¶bool doesNotRecurse() const
bool doesNotRecurse() const
Description
Determine if the function is known not to recurse, directly or indirectly.
Declared at: llvm/include/llvm/IR/Function.h:588
¶bool doesNotReturn() const
bool doesNotReturn() const
Description
Determine if the function cannot return.
Declared at: llvm/include/llvm/IR/Function.h:533
¶bool doesNotThrow() const
bool doesNotThrow() const
Description
Determine if the function cannot unwind.
Declared at: llvm/include/llvm/IR/Function.h:544
¶void dropAllReferences()
void dropAllReferences()
Description
dropAllReferences() - This method causes all the subinstructions to "let go" of all references that they are maintaining. This allows one to 'delete' a whole module at a time, even though there may be circular references... first all references are dropped, and all use counts go to zero. Then everything is deleted for real. Note that no operations are valid on an object that has "dropped all references", except operator delete. Since no other object in the module can have references into the body of a function, dropping all references deletes the entire body of the function, including any contained basic blocks.
Declared at: llvm/include/llvm/IR/Function.h:807
¶bool empty() const
bool empty() const
Declared at: llvm/include/llvm/IR/Function.h:697
¶int end()
int end()
Declared at: llvm/include/llvm/IR/Function.h:693
¶int end() const
int end() const
Declared at: llvm/include/llvm/IR/Function.h:694
¶void eraseFromParent()
void eraseFromParent()
Description
eraseFromParent - This method unlinks 'this' from the containing module and deletes it.
Declared at: llvm/include/llvm/IR/Function.h:657
¶llvm::BasicBlock& front()
llvm::BasicBlock& front()
Declared at: llvm/include/llvm/IR/Function.h:699
¶const llvm::BasicBlock& front() const
const llvm::BasicBlock& front() const
Declared at: llvm/include/llvm/IR/Function.h:698
¶llvm::Argument* getArg(unsigned int i) const
llvm::Argument* getArg(unsigned int i) const
Declared at: llvm/include/llvm/IR/Function.h:724
Parameters
- unsigned int i
¶llvm::Attribute getAttribute(
unsigned int i,
llvm::StringRef Kind) const
llvm::Attribute getAttribute(
unsigned int i,
llvm::StringRef Kind) const
Description
gets the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:418
Parameters
- unsigned int i
- llvm::StringRef Kind
¶llvm::Attribute getAttribute(
unsigned int i,
Attribute::AttrKind Kind) const
llvm::Attribute getAttribute(
unsigned int i,
Attribute::AttrKind Kind) const
Description
gets the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:413
Parameters
- unsigned int i
- Attribute::AttrKind Kind
¶llvm::AttributeList getAttributes() const
llvm::AttributeList getAttributes() const
Description
Return the attribute list for this Function.
Declared at: llvm/include/llvm/IR/Function.h:223
¶const llvm::Function::BasicBlockListType&
getBasicBlockList() const
const llvm::Function::BasicBlockListType&
getBasicBlockList() const
Description
Get the underlying elements of the Function... the basic block list is empty for external functions.
Declared at: llvm/include/llvm/IR/Function.h:668
¶llvm::Function::BasicBlockListType&
getBasicBlockList()
llvm::Function::BasicBlockListType&
getBasicBlockList()
Declared at: llvm/include/llvm/IR/Function.h:669
¶CallingConv::ID getCallingConv() const
CallingConv::ID getCallingConv() const
Description
getCallingConv()/setCallingConv(CC) - These method get and set the calling convention of this function. The enum values for the known calling conventions are defined in CallingConv.h.
Declared at: llvm/include/llvm/IR/Function.h:212
¶llvm::LLVMContext& getContext() const
llvm::LLVMContext& getContext() const
Description
getContext - Return a reference to the LLVMContext associated with this function.
Declared at: llvm/include/llvm/IR/Function.h:172
¶uint64_t getDereferenceableBytes(
unsigned int i) const
uint64_t getDereferenceableBytes(
unsigned int i) const
Description
Extract the number of dereferenceable bytes for a call or parameter (0=unknown).
Declared at: llvm/include/llvm/IR/Function.h:459
Parameters
- unsigned int i
- AttributeList index, referring to a return value or argument.
¶uint64_t getDereferenceableOrNullBytes(
unsigned int i) const
uint64_t getDereferenceableOrNullBytes(
unsigned int i) const
Description
Extract the number of dereferenceable_or_null bytes for a call or parameter (0=unknown).
Declared at: llvm/include/llvm/IR/Function.h:472
Parameters
- unsigned int i
- AttributeList index, referring to a return value or argument.
¶llvm::BasicBlock& getEntryBlock()
llvm::BasicBlock& getEntryBlock()
Declared at: llvm/include/llvm/IR/Function.h:676
¶const llvm::BasicBlock& getEntryBlock() const
const llvm::BasicBlock& getEntryBlock() const
Declared at: llvm/include/llvm/IR/Function.h:675
¶llvm::Function::ProfileCount getEntryCount(
bool AllowSynthetic = false) const
llvm::Function::ProfileCount getEntryCount(
bool AllowSynthetic = false) const
Description
Get the entry count for this function. Entry count is the number of times the function was executed. When AllowSynthetic is false, only pgo_data will be returned.
Declared at: llvm/include/llvm/IR/Function.h:301
Parameters
- bool AllowSynthetic = false
¶llvm::Attribute getFnAttribute(
llvm::StringRef Kind) const
llvm::Attribute getFnAttribute(
llvm::StringRef Kind) const
Description
Return the attribute for the given attribute kind.
Declared at: llvm/include/llvm/IR/Function.h:338
Parameters
- llvm::StringRef Kind
¶llvm::Attribute getFnAttribute(
Attribute::AttrKind Kind) const
llvm::Attribute getFnAttribute(
Attribute::AttrKind Kind) const
Description
Return the attribute for the given attribute kind.
Declared at: llvm/include/llvm/IR/Function.h:333
Parameters
- Attribute::AttrKind Kind
¶unsigned int getFnStackAlignment() const
unsigned int getFnStackAlignment() const
Description
Return the stack alignment for the function.
Declared at: llvm/include/llvm/IR/Function.h:343
¶const llvm::Function& getFunction() const
const llvm::Function& getFunction() const
Declared at: llvm/include/llvm/IR/Function.h:133
¶llvm::FunctionType* getFunctionType() const
llvm::FunctionType* getFunctionType() const
Description
Returns the FunctionType for me.
Declared at: llvm/include/llvm/IR/Function.h:163
¶const std::string& getGC() const
const std::string& getGC() const
Declared at: llvm/include/llvm/IR/Function.h:357
¶int getImportGUIDs() const
int getImportGUIDs() const
Declared at: llvm/include/llvm/IR/Function.h:314
¶unsigned int getInstructionCount() const
unsigned int getInstructionCount() const
Description
Returns the number of non-debug IR instructions in this function. This is equivalent to the sum of the sizes of each basic block contained within this function.
Declared at: llvm/include/llvm/IR/Function.h:160
¶Intrinsic::ID getIntrinsicID() const
Intrinsic::ID getIntrinsicID() const
Description
getIntrinsicID - This method returns the ID number of the specified function, or Intrinsic::not_intrinsic if the function is not an intrinsic, or if the pointer is null. This value is always defined to be zero to allow easy checking for whether a function is intrinsic or not. The particular intrinsic functions which correspond to this value are defined in llvm/Intrinsics.h.
Declared at: llvm/include/llvm/IR/Function.h:193
¶llvm::MaybeAlign getParamAlign(
unsigned int ArgNo) const
llvm::MaybeAlign getParamAlign(
unsigned int ArgNo) const
Declared at: llvm/include/llvm/IR/Function.h:446
Parameters
- unsigned int ArgNo
¶unsigned int getParamAlignment(
unsigned int ArgNo) const
unsigned int getParamAlignment(
unsigned int ArgNo) const
Description
Extract the alignment for a call or parameter (0=unknown). FIXME: Remove this function once transition to Align is over. Use getParamAlign() instead.
Declared at: llvm/include/llvm/IR/Function.h:440
Parameters
- unsigned int ArgNo
¶llvm::Attribute getParamAttribute(
unsigned int ArgNo,
Attribute::AttrKind Kind) const
llvm::Attribute getParamAttribute(
unsigned int ArgNo,
Attribute::AttrKind Kind) const
Description
gets the specified attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:408
Parameters
- unsigned int ArgNo
- Attribute::AttrKind Kind
¶llvm::Type* getParamByValType(
unsigned int ArgNo) const
llvm::Type* getParamByValType(
unsigned int ArgNo) const
Description
Extract the byval type for a parameter.
Declared at: llvm/include/llvm/IR/Function.h:451
Parameters
- unsigned int ArgNo
¶uint64_t getParamDereferenceableBytes(
unsigned int ArgNo) const
uint64_t getParamDereferenceableBytes(
unsigned int ArgNo) const
Description
Extract the number of dereferenceable bytes for a parameter.
Declared at: llvm/include/llvm/IR/Function.h:465
Parameters
- unsigned int ArgNo
- Index of an argument, with 0 being the first function arg.
¶uint64_t getParamDereferenceableOrNullBytes(
unsigned int ArgNo) const
uint64_t getParamDereferenceableOrNullBytes(
unsigned int ArgNo) const
Description
Extract the number of dereferenceable_or_null bytes for a parameter.
Declared at: llvm/include/llvm/IR/Function.h:479
Parameters
- unsigned int ArgNo
- AttributeList ArgNo, referring to an argument.
¶llvm::Constant* getPersonalityFn() const
llvm::Constant* getPersonalityFn() const
Description
Get the personality function associated with this function.
Declared at: llvm/include/llvm/IR/Function.h:748
¶llvm::Constant* getPrefixData() const
llvm::Constant* getPrefixData() const
Description
Get the prefix data associated with this function.
Declared at: llvm/include/llvm/IR/Function.h:757
¶llvm::Constant* getPrologueData() const
llvm::Constant* getPrologueData() const
Description
Get the prologue data associated with this function.
Declared at: llvm/include/llvm/IR/Function.h:766
¶llvm::Type* getReturnType() const
llvm::Type* getReturnType() const
Description
Returns the type of the ret val.
Declared at: llvm/include/llvm/IR/Function.h:168
¶Optional<llvm::StringRef> getSectionPrefix() const
Optional<llvm::StringRef> getSectionPrefix() const
Description
Get the section prefix for this function.
Declared at: llvm/include/llvm/IR/Function.h:320
¶static llvm::Function::BasicBlockListType
llvm::Function::*
getSublistAccess(llvm::BasicBlock*)
static llvm::Function::BasicBlockListType
llvm::Function::*
getSublistAccess(llvm::BasicBlock*)
Declared at: llvm/include/llvm/IR/Function.h:671
Parameters
¶llvm::DISubprogram* getSubprogram() const
llvm::DISubprogram* getSubprogram() const
Description
Get the attached subprogram. Calls \a getMetadata() with \a LLVMContext::MD_dbg and casts the result to \a DISubprogram.
Declared at: llvm/include/llvm/IR/Function.h:834
¶inline llvm::ValueSymbolTable*
getValueSymbolTable()
inline llvm::ValueSymbolTable*
getValueSymbolTable()
Description
getSymbolTable() - Return the symbol table if any, otherwise nullptr.
Declared at: llvm/include/llvm/IR/Function.h:683
¶inline const llvm::ValueSymbolTable*
getValueSymbolTable() const
inline const llvm::ValueSymbolTable*
getValueSymbolTable() const
Declared at: llvm/include/llvm/IR/Function.h:684
¶bool hasAddressTaken(
const llvm::User** = nullptr) const
bool hasAddressTaken(
const llvm::User** = nullptr) const
Description
hasAddressTaken - returns true if there are any uses of this function other than direct calls or invokes to it, or blockaddress expressions. Optionally passes back an offending user for diagnostic purposes.
Declared at: llvm/include/llvm/IR/Function.h:813
Parameters
- const llvm::User** = nullptr
¶bool hasAttribute(unsigned int i,
Attribute::AttrKind Kind) const
bool hasAttribute(unsigned int i,
Attribute::AttrKind Kind) const
Description
check if an attributes is in the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:398
Parameters
- unsigned int i
- Attribute::AttrKind Kind
¶bool hasFnAttribute(llvm::StringRef Kind) const
bool hasFnAttribute(llvm::StringRef Kind) const
Description
Return true if the function has the attribute.
Declared at: llvm/include/llvm/IR/Function.h:328
Parameters
- llvm::StringRef Kind
¶bool hasFnAttribute(
Attribute::AttrKind Kind) const
bool hasFnAttribute(
Attribute::AttrKind Kind) const
Description
Return true if the function has the attribute.
Declared at: llvm/include/llvm/IR/Function.h:323
Parameters
- Attribute::AttrKind Kind
¶bool hasGC() const
bool hasGC() const
Description
hasGC/getGC/setGC/clearGC - The name of the garbage collection algorithm to use during code generation.
Declared at: llvm/include/llvm/IR/Function.h:354
¶bool hasLazyArguments() const
bool hasLazyArguments() const
Description
hasLazyArguments/CheckLazyArguments - The argument list of a function is built on demand, so that the list isn't allocated until the first client needs it. The hasLazyArguments predicate returns true if the arg list hasn't been set up yet.
Declared at: llvm/include/llvm/IR/Function.h:104
¶bool hasMinSize() const
bool hasMinSize() const
Description
Optimize this function for minimum size (-Oz).
Declared at: llvm/include/llvm/IR/Function.h:630
¶bool hasOptNone() const
bool hasOptNone() const
Description
Do not optimize this function (-O0).
Declared at: llvm/include/llvm/IR/Function.h:627
¶bool hasOptSize() const
bool hasOptSize() const
Description
Optimize this function for size (-Os) or minimum size (-Oz).
Declared at: llvm/include/llvm/IR/Function.h:633
¶bool hasParamAttribute(
unsigned int ArgNo,
Attribute::AttrKind Kind) const
bool hasParamAttribute(
unsigned int ArgNo,
Attribute::AttrKind Kind) const
Description
check if an attributes is in the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:403
Parameters
- unsigned int ArgNo
- Attribute::AttrKind Kind
¶bool hasPersonalityFn() const
bool hasPersonalityFn() const
Description
Check whether this function has a personality function.
Declared at: llvm/include/llvm/IR/Function.h:743
¶bool hasPrefixData() const
bool hasPrefixData() const
Description
Check whether this function has prefix data.
Declared at: llvm/include/llvm/IR/Function.h:752
¶bool hasProfileData(
bool IncludeSynthetic = false) const
bool hasProfileData(
bool IncludeSynthetic = false) const
Description
Return true if the function is annotated with profile data. Presence of entry counts from a profile run implies the function has profile annotations. If IncludeSynthetic is false, only return true when the profile data is real.
Declared at: llvm/include/llvm/IR/Function.h:308
Parameters
- bool IncludeSynthetic = false
¶bool hasPrologueData() const
bool hasPrologueData() const
Description
Check whether this function has prologue data.
Declared at: llvm/include/llvm/IR/Function.h:761
¶bool hasStructRetAttr() const
bool hasStructRetAttr() const
Description
Determine if the function returns a structure through first or second pointer argument.
Declared at: llvm/include/llvm/IR/Function.h:611
¶bool hasUWTable() const
bool hasUWTable() const
Description
True if the ABI mandates (or the user requested) that this function be in a unwind table.
Declared at: llvm/include/llvm/IR/Function.h:597
¶bool isConvergent() const
bool isConvergent() const
Description
Determine if the call is convergent.
Declared at: llvm/include/llvm/IR/Function.h:560
¶bool isDebugInfoForProfiling() const
bool isDebugInfoForProfiling() const
Description
Returns true if we should emit debug info for profiling.
Declared at: llvm/include/llvm/IR/Function.h:837
¶bool isDefTriviallyDead() const
bool isDefTriviallyDead() const
Description
isDefTriviallyDead - Return true if it is trivially safe to remove this function definition from the module (because it isn't externally visible, does not have its address taken, and has no callers). To make this more accurate, call removeDeadConstantUsers first.
Declared at: llvm/include/llvm/IR/Function.h:819
¶bool isIntrinsic() const
bool isIntrinsic() const
Description
isIntrinsic - Returns true if the function's name starts with "llvm.". It's possible for this function to return true while getIntrinsicID() returns Intrinsic::not_intrinsic!
Declared at: llvm/include/llvm/IR/Function.h:198
¶bool isMaterializable() const
bool isMaterializable() const
Declared at: llvm/include/llvm/IR/Function.h:178
¶bool isSpeculatable() const
bool isSpeculatable() const
Description
Determine if the call has sideeffects.
Declared at: llvm/include/llvm/IR/Function.h:571
¶bool isVarArg() const
bool isVarArg() const
Description
isVarArg - Return true if this function takes a variable number of arguments.
Declared at: llvm/include/llvm/IR/Function.h:176
¶static Intrinsic::ID lookupIntrinsicID(
llvm::StringRef Name)
static Intrinsic::ID lookupIntrinsicID(
llvm::StringRef Name)
Declared at: llvm/include/llvm/IR/Function.h:200
Parameters
- llvm::StringRef Name
¶bool needsUnwindTableEntry() const
bool needsUnwindTableEntry() const
Description
True if this function needs an unwind table.
Declared at: llvm/include/llvm/IR/Function.h:605
¶bool nullPointerIsDefined() const
bool nullPointerIsDefined() const
Description
Check if null pointer dereferencing is considered undefined behavior for the function. Return value: false => null pointer dereference is undefined. Return value: true => null pointer dereference is not undefined.
Declared at: llvm/include/llvm/IR/Function.h:843
¶bool onlyAccessesArgMemory() const
bool onlyAccessesArgMemory() const
Description
Determine if the call can access memmory only using pointers based on its arguments.
Declared at: llvm/include/llvm/IR/Function.h:509
¶bool onlyAccessesInaccessibleMemOrArgMem() const
bool onlyAccessesInaccessibleMemOrArgMem() const
Description
Determine if the function may only access memory that is either inaccessible from the IR or pointed to by its arguments.
Declared at: llvm/include/llvm/IR/Function.h:525
¶bool onlyAccessesInaccessibleMemory() const
bool onlyAccessesInaccessibleMemory() const
Description
Determine if the function may only access memory that is inaccessible from the IR.
Declared at: llvm/include/llvm/IR/Function.h:516
¶bool onlyReadsMemory() const
bool onlyReadsMemory() const
Description
Determine if the function does not access or only reads memory.
Declared at: llvm/include/llvm/IR/Function.h:492
¶void print(
llvm::raw_ostream& OS,
llvm::AssemblyAnnotationWriter* AAW = nullptr,
bool ShouldPreserveUseListOrder = false,
bool IsForDebug = false) const
void print(
llvm::raw_ostream& OS,
llvm::AssemblyAnnotationWriter* AAW = nullptr,
bool ShouldPreserveUseListOrder = false,
bool IsForDebug = false) const
Description
Print the function to an output stream with an optional AssemblyAnnotationWriter.
Declared at: llvm/include/llvm/IR/Function.h:771
Parameters
- llvm::raw_ostream& OS
- llvm::AssemblyAnnotationWriter* AAW = nullptr
- bool ShouldPreserveUseListOrder = false
- bool IsForDebug = false
¶void recalculateIntrinsicID()
void recalculateIntrinsicID()
Description
Recalculate the ID for this function if it is an Intrinsic defined in llvm/Intrinsics.h. Sets the intrinsic ID to Intrinsic::not_intrinsic if the name of this function does not match an intrinsic in that header. Note, this method does not need to be called directly, as it is called from Value::setName() whenever the name of this function changes.
Declared at: llvm/include/llvm/IR/Function.h:207
¶void removeAttribute(unsigned int i,
Attribute::AttrKind Kind)
void removeAttribute(unsigned int i,
Attribute::AttrKind Kind)
Description
removes the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:380
Parameters
- unsigned int i
- Attribute::AttrKind Kind
¶void removeAttribute(unsigned int i,
llvm::StringRef Kind)
void removeAttribute(unsigned int i,
llvm::StringRef Kind)
Description
removes the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:383
Parameters
- unsigned int i
- llvm::StringRef Kind
¶void removeAttributes(
unsigned int i,
const llvm::AttrBuilder& Attrs)
void removeAttributes(
unsigned int i,
const llvm::AttrBuilder& Attrs)
Description
removes the attributes from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:386
Parameters
- unsigned int i
- const llvm::AttrBuilder& Attrs
¶void removeFnAttr(Attribute::AttrKind Kind)
void removeFnAttr(Attribute::AttrKind Kind)
Description
Remove function attributes from this function.
Declared at: llvm/include/llvm/IR/Function.h:245
Parameters
- Attribute::AttrKind Kind
¶void removeFnAttr(llvm::StringRef Kind)
void removeFnAttr(llvm::StringRef Kind)
Description
Remove function attribute from this function.
Declared at: llvm/include/llvm/IR/Function.h:250
Parameters
- llvm::StringRef Kind
¶void removeFromParent()
void removeFromParent()
Description
removeFromParent - This method unlinks 'this' from the containing module, but does not delete it.
Declared at: llvm/include/llvm/IR/Function.h:652
¶void removeParamAttr(unsigned int ArgNo,
Attribute::AttrKind Kind)
void removeParamAttr(unsigned int ArgNo,
Attribute::AttrKind Kind)
Description
removes the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:389
Parameters
- unsigned int ArgNo
- Attribute::AttrKind Kind
¶void removeParamAttr(unsigned int ArgNo,
llvm::StringRef Kind)
void removeParamAttr(unsigned int ArgNo,
llvm::StringRef Kind)
Description
removes the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:392
Parameters
- unsigned int ArgNo
- llvm::StringRef Kind
¶void removeParamAttrs(
unsigned int ArgNo,
const llvm::AttrBuilder& Attrs)
void removeParamAttrs(
unsigned int ArgNo,
const llvm::AttrBuilder& Attrs)
Description
removes the attribute from the list of attributes.
Declared at: llvm/include/llvm/IR/Function.h:395
Parameters
- unsigned int ArgNo
- const llvm::AttrBuilder& Attrs
¶bool returnDoesNotAlias() const
bool returnDoesNotAlias() const
Description
Determine if the parameter or return value is marked with NoAlias attribute.
Declared at: llvm/include/llvm/IR/Function.h:618
¶void setAttributes(llvm::AttributeList Attrs)
void setAttributes(llvm::AttributeList Attrs)
Description
Set the attribute list for this Function.
Declared at: llvm/include/llvm/IR/Function.h:226
Parameters
- llvm::AttributeList Attrs
¶void setCallingConv(CallingConv::ID CC)
void setCallingConv(CallingConv::ID CC)
Declared at: llvm/include/llvm/IR/Function.h:216
Parameters
- CallingConv::ID CC
¶void setCannotDuplicate()
void setCannotDuplicate()
Declared at: llvm/include/llvm/IR/Function.h:555
¶void setConvergent()
void setConvergent()
Declared at: llvm/include/llvm/IR/Function.h:563
¶void setDoesNotAccessMemory()
void setDoesNotAccessMemory()
Declared at: llvm/include/llvm/IR/Function.h:487
¶void setDoesNotFreeMemory()
void setDoesNotFreeMemory()
Declared at: llvm/include/llvm/IR/Function.h:582
¶void setDoesNotReadMemory()
void setDoesNotReadMemory()
Declared at: llvm/include/llvm/IR/Function.h:503
¶void setDoesNotRecurse()
void setDoesNotRecurse()
Declared at: llvm/include/llvm/IR/Function.h:591
¶void setDoesNotReturn()
void setDoesNotReturn()
Declared at: llvm/include/llvm/IR/Function.h:536
¶void setDoesNotThrow()
void setDoesNotThrow()
Declared at: llvm/include/llvm/IR/Function.h:547
¶void setEntryCount(
uint64_t Count,
llvm::Function::ProfileCountType Type =
PCT_Real,
const int* Imports = nullptr)
void setEntryCount(
uint64_t Count,
llvm::Function::ProfileCountType Type =
PCT_Real,
const int* Imports = nullptr)
Declared at: llvm/include/llvm/IR/Function.h:294
Parameters
- uint64_t Count
- llvm::Function::ProfileCountType Type = PCT_Real
- const int* Imports = nullptr
¶void setEntryCount(
llvm::Function::ProfileCount Count,
const int* Imports = nullptr)
void setEntryCount(
llvm::Function::ProfileCount Count,
const int* Imports = nullptr)
Declared at: llvm/include/llvm/IR/Function.h:290
Parameters
- llvm::Function::ProfileCount Count
- const int* Imports = nullptr
¶void setGC(std::string Str)
void setGC(std::string Str)
Declared at: llvm/include/llvm/IR/Function.h:358
Parameters
- std::string Str
¶void setHasUWTable()
void setHasUWTable()
Declared at: llvm/include/llvm/IR/Function.h:600
¶void setIsMaterializable(bool V)
void setIsMaterializable(bool V)
Declared at: llvm/include/llvm/IR/Function.h:181
Parameters
- bool V
¶void setNotConvergent()
void setNotConvergent()
Declared at: llvm/include/llvm/IR/Function.h:566
¶void setOnlyAccessesArgMemory()
void setOnlyAccessesArgMemory()
Declared at: llvm/include/llvm/IR/Function.h:512
¶void setOnlyAccessesInaccessibleMemOrArgMem()
void setOnlyAccessesInaccessibleMemOrArgMem()
Declared at: llvm/include/llvm/IR/Function.h:528
¶void setOnlyAccessesInaccessibleMemory()
void setOnlyAccessesInaccessibleMemory()
Declared at: llvm/include/llvm/IR/Function.h:519
¶void setOnlyReadsMemory()
void setOnlyReadsMemory()
Declared at: llvm/include/llvm/IR/Function.h:495
¶void setPersonalityFn(llvm::Constant* Fn)
void setPersonalityFn(llvm::Constant* Fn)
Declared at: llvm/include/llvm/IR/Function.h:749
Parameters
- llvm::Constant* Fn
¶void setPrefixData(llvm::Constant* PrefixData)
void setPrefixData(llvm::Constant* PrefixData)
Declared at: llvm/include/llvm/IR/Function.h:758
Parameters
- llvm::Constant* PrefixData
¶void setPrologueData(llvm::Constant* PrologueData)
void setPrologueData(llvm::Constant* PrologueData)
Declared at: llvm/include/llvm/IR/Function.h:767
Parameters
- llvm::Constant* PrologueData
¶void setReturnDoesNotAlias()
void setReturnDoesNotAlias()
Declared at: llvm/include/llvm/IR/Function.h:622
¶void setSectionPrefix(llvm::StringRef Prefix)
void setSectionPrefix(llvm::StringRef Prefix)
Description
Set the section prefix for this function.
Declared at: llvm/include/llvm/IR/Function.h:317
Parameters
- llvm::StringRef Prefix
¶void setSpeculatable()
void setSpeculatable()
Declared at: llvm/include/llvm/IR/Function.h:574
¶void setSubprogram(llvm::DISubprogram* SP)
void setSubprogram(llvm::DISubprogram* SP)
Description
Set the attached subprogram. Calls \a setMetadata() with \a LLVMContext::MD_dbg.
Declared at: llvm/include/llvm/IR/Function.h:828
Parameters
¶size_t size() const
size_t size() const
Declared at: llvm/include/llvm/IR/Function.h:696
¶void stealArgumentListFrom(llvm::Function& Src)
void stealArgumentListFrom(llvm::Function& Src)
Description
Steal arguments from another function. Drop this function's arguments and splice in the ones from \c Src. Requires that this has no function body.
Declared at: llvm/include/llvm/IR/Function.h:663
Parameters
- llvm::Function& Src
¶void viewCFG() const
void viewCFG() const
Description
viewCFG - This function is meant for use from the debugger. You can just say 'call F->viewCFG()' and a ghostview window should pop up from the program, displaying the CFG of the current function with the code for each basic block inside. This depends on there being a 'dot' and 'gv' program in your path.
Declared at: llvm/include/llvm/IR/Function.h:781
¶void viewCFGOnly() const
void viewCFGOnly() const
Description
viewCFGOnly - This function is meant for use from the debugger. It works just like viewCFG, but it does not include the contents of basic blocks into the nodes, just the label. If you are only interested in the CFG this can make the graph smaller.
Declared at: llvm/include/llvm/IR/Function.h:788
¶~Function()
~Function()
Declared at: llvm/include/llvm/IR/Function.h:128