18 #ifndef LLVM_IR_GLOBALIFUNC_H 19 #define LLVM_IR_GLOBALIFUNC_H 31 template <
typename ValueSubClass>
class SymbolTableListTraits;
74 return V->
getValueID() == Value::GlobalIFuncVal;
80 #endif // LLVM_IR_GLOBALIFUNC_H static bool classof(const Value *V)
void copyAttributesFrom(const GlobalValue *Src)
Copy all additional attributes (those not needed to create a GlobalValue) from the GlobalValue Src to...
unsigned getValueID() const
Return an ID for the concrete type of this object.
void setResolver(Constant *Resolver)
These methods retrieve and set ifunc resolver function.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
void setIndirectSymbol(Constant *Symbol)
These methods set and retrieve indirect symbol.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
static GlobalIFunc * create(Type *Ty, unsigned AddressSpace, LinkageTypes Linkage, const Twine &Name, Constant *Resolver, Module *Parent)
If a parent module is specified, the ifunc is automatically inserted into the end of the specified mo...
const Constant * getResolver() const
void eraseFromParent()
This method unlinks 'this' from the containing module and deletes it.
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important base class in LLVM.
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
void copyAttributesFrom(const GlobalIFunc *Src)
LinkageTypes
An enumeration for the kinds of linkage for global values.
GlobalIFunc & operator=(const GlobalIFunc &)=delete
void removeFromParent()
This method unlinks 'this' from the containing module, but does not delete it.
const Constant * getIndirectSymbol() const
LLVM Value Representation.