LLVM: llvm::WebAssemblyFunctionInfo Class Reference (original) (raw)
This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More...
#include "[Target/WebAssembly/WebAssemblyMachineFunctionInfo.h](WebAssemblyMachineFunctionInfo%5F8h%5Fsource.html)"
Public Member Functions |
|
|
WebAssemblyFunctionInfo (const Function &F, const TargetSubtargetInfo *STI) |
|
|
|
~WebAssemblyFunctionInfo () override |
|
|
MachineFunctionInfo * |
clone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override |
|
Make a functionally equivalent copy of this MachineFunctionInfo in MF. |
|
|
void |
initializeBaseYamlFields (MachineFunction &MF, const yaml::WebAssemblyFunctionInfo &YamlMFI) |
|
|
void |
addParam (MVT VT) |
|
|
const std::vector< MVT > & |
getParams () const |
|
|
void |
addResult (MVT VT) |
|
|
const std::vector< MVT > & |
getResults () const |
|
|
void |
clearParamsAndResults () |
|
|
void |
setNumLocals (size_t NumLocals) |
|
|
void |
setLocal (size_t i, MVT VT) |
|
|
void |
addLocal (MVT VT) |
|
|
const std::vector< MVT > & |
getLocals () const |
|
|
unsigned |
getVarargBufferVreg () const |
|
|
void |
setVarargBufferVreg (unsigned Reg) |
|
|
unsigned |
getBasePointerVreg () const |
|
|
void |
setFrameBaseVreg (unsigned Reg) |
|
|
unsigned |
getFrameBaseVreg () const |
|
|
void |
clearFrameBaseVreg () |
|
|
bool |
isFrameBaseVirtual () const |
|
|
void |
setFrameBaseLocal (unsigned Local) |
|
|
unsigned |
getFrameBaseLocal () const |
|
|
void |
setBasePointerVreg (unsigned Reg) |
|
|
void |
stackifyVReg (MachineRegisterInfo &MRI, unsigned VReg) |
|
|
void |
unstackifyVReg (unsigned VReg) |
|
|
bool |
isVRegStackified (unsigned VReg) const |
|
|
void |
initWARegs (MachineRegisterInfo &MRI) |
|
|
void |
setWAReg (unsigned VReg, unsigned WAReg) |
|
|
unsigned |
getWAReg (unsigned VReg) const |
|
|
bool |
isCFGStackified () const |
|
|
void |
setCFGStackified (bool Value=true) |
|
|
Public Member Functions inherited from llvm::MachineFunctionInfo |
|
virtual |
~MachineFunctionInfo () |
|
|
virtual MachineFunctionInfo * |
clone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const |
|
Make a functionally equivalent copy of this MachineFunctionInfo in MF. |
|
|
This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction.
Definition at line 34 of file WebAssemblyMachineFunctionInfo.h.
◆ ~WebAssemblyFunctionInfo()
WebAssemblyFunctionInfo::~WebAssemblyFunctionInfo ( ) |
overridedefault |
◆ addLocal()
void llvm::WebAssemblyFunctionInfo::addLocal ( MVT VT) |
inline |
◆ addParam()
void llvm::WebAssemblyFunctionInfo::addParam ( MVT VT) |
inline |
◆ addResult()
void llvm::WebAssemblyFunctionInfo::addResult ( MVT VT) |
inline |
◆ clearFrameBaseVreg()
void llvm::WebAssemblyFunctionInfo::clearFrameBaseVreg ( ) |
inline |
◆ clearParamsAndResults()
void llvm::WebAssemblyFunctionInfo::clearParamsAndResults ( ) |
inline |
◆ clone()
◆ getBasePointerVreg()
unsigned llvm::WebAssemblyFunctionInfo::getBasePointerVreg ( ) const |
inline |
◆ getFrameBaseLocal()
unsigned llvm::WebAssemblyFunctionInfo::getFrameBaseLocal ( ) const |
inline |
◆ getFrameBaseVreg()
unsigned llvm::WebAssemblyFunctionInfo::getFrameBaseVreg ( ) const |
inline |
◆ getLocals()
const std::vector< MVT > & llvm::WebAssemblyFunctionInfo::getLocals ( ) const |
inline |
◆ getParams()
const std::vector< MVT > & llvm::WebAssemblyFunctionInfo::getParams ( ) const |
inline |
◆ getResults()
const std::vector< MVT > & llvm::WebAssemblyFunctionInfo::getResults ( ) const |
inline |
◆ getVarargBufferVreg()
unsigned llvm::WebAssemblyFunctionInfo::getVarargBufferVreg ( ) const |
inline |
◆ getWAReg()
◆ initializeBaseYamlFields()
◆ initWARegs()
◆ isCFGStackified()
bool llvm::WebAssemblyFunctionInfo::isCFGStackified ( ) const |
inline |
◆ isFrameBaseVirtual()
bool llvm::WebAssemblyFunctionInfo::isFrameBaseVirtual ( ) const |
inline |
◆ isVRegStackified()
bool llvm::WebAssemblyFunctionInfo::isVRegStackified ( unsigned VReg) const |
inline |
◆ setBasePointerVreg()
void llvm::WebAssemblyFunctionInfo::setBasePointerVreg ( unsigned Reg) |
inline |
◆ setCFGStackified()
void llvm::WebAssemblyFunctionInfo::setCFGStackified ( bool Value = true) |
inline |
◆ setFrameBaseLocal()
void llvm::WebAssemblyFunctionInfo::setFrameBaseLocal ( unsigned Local) |
inline |
◆ setFrameBaseVreg()
void llvm::WebAssemblyFunctionInfo::setFrameBaseVreg ( unsigned Reg) |
inline |
◆ setLocal()
void llvm::WebAssemblyFunctionInfo::setLocal ( size_t i, MVT VT ) |
inline |
◆ setNumLocals()
void llvm::WebAssemblyFunctionInfo::setNumLocals ( size_t NumLocals) |
inline |
◆ setVarargBufferVreg()
void llvm::WebAssemblyFunctionInfo::setVarargBufferVreg ( unsigned Reg) |
inline |
◆ setWAReg()
void llvm::WebAssemblyFunctionInfo::setWAReg ( unsigned VReg, unsigned WAReg ) |
inline |
◆ stackifyVReg()
Definition at line 122 of file WebAssemblyMachineFunctionInfo.h.
References assert(), I, MRI, llvm::BitVector::resize(), llvm::BitVector::set(), llvm::BitVector::size(), and llvm::Register::virtReg2Index().
Referenced by maybeRewriteToDrop(), maybeRewriteToFallthrough(), moveAndTeeForMultiUse(), moveForSingleUse(), and rematerializeCheapDef().
◆ unstackifyVReg()
void llvm::WebAssemblyFunctionInfo::unstackifyVReg ( unsigned VReg) |
inline |
The documentation for this class was generated from the following files: