9#ifndef LLVM_SANDBOXIR_FUNCTION_H
10#define LLVM_SANDBOXIR_FUNCTION_H
19 GlobalObject, llvm::GlobalObject> {
53 LLVMBBToBB BBGetter(
Ctx);
57 LLVMBBToBB BBGetter(
Ctx);
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This class represents an incoming formal argument to a Function.
LLVM Basic Block Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
Argument of a sandboxir::Function.
Argument * getArg(unsigned Idx) const
LLVM_ABI FunctionType * getFunctionType() const
void dumpOS(raw_ostream &OS) const final
LLVM_ABI void setAlignment(MaybeAlign Align)
Sets the alignment attribute of the Function.
void dumpNameAndArgs(raw_ostream &OS) const
MaybeAlign getAlign() const
Returns the alignment of the given function.
void verify() const final
Should crash if there is something wrong with the instruction.
static bool classof(const sandboxir::Value *From)
For isa/dyn_cast.
mapped_iterator< llvm::Function::iterator, LLVMBBToBB > iterator
GlobalWithNodeAPI(Value::ClassID ID, llvm::GlobalObject *C, Context &Ctx)
In SandboxIR the Module is mainly used to access the list of global objects.
A SandboxIR Value has users. This is the base class.
llvm::Value * Val
The LLVM Value that corresponds to this SandboxIR Value.
ClassID getSubclassID() const
Context & Ctx
All values point to the context.
BasicBlock(llvm::BasicBlock *BB, Context &SBCtx)
bool isa(const From &Val)
isa<X> - Return true if the parameter to the template is an instance of one of the template type argu...
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.
This struct is a compact representation of a valid (non-zero power of two) alignment.
This struct is a compact representation of a valid (power of two) or undefined (0) alignment.