18 #ifndef LLVM_IR_GLOBALIFUNC_H
19 #define LLVM_IR_GLOBALIFUNC_H
31 template <
typename ValueSubClass>
class SymbolTableListTraits;
70 return V->
getValueID() == Value::GlobalIFuncVal;
76 #endif // LLVM_IR_GLOBALIFUNC_H
static bool classof(const Value *V)
void setResolver(Constant *Resolver)
These methods retrieve and set ifunc resolver function.
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.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
void removeFromParent() final
This method unlinks 'this' from the containing module, but does not delete it.
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...
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important base class in LLVM.
unsigned getValueID() const
Return an ID for the concrete type of this object.
LinkageTypes
An enumeration for the kinds of linkage for global values.
GlobalIFunc & operator=(const GlobalIFunc &)=delete
void eraseFromParent() final
This method unlinks 'this' from the containing module and deletes it.
const Constant * getIndirectSymbol() const
LLVM Value Representation.
const Constant * getResolver() const