LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
llvm::WebAssemblyFunctionInfo Class Referencefinal

This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More...

#include <WebAssemblyMachineFunctionInfo.h>

Inheritance diagram for llvm::WebAssemblyFunctionInfo:
[legend]
Collaboration diagram for llvm::WebAssemblyFunctionInfo:
[legend]

Public Member Functions

 WebAssemblyFunctionInfo (MachineFunction &MF)
 
 ~WebAssemblyFunctionInfo () override
 
void addParam (MVT VT)
 
const std::vector< MVT > & getParams () const
 
void addResult (MVT VT)
 
const std::vector< MVT > & getResults () const
 
void addLocal (MVT VT)
 
const std::vector< MVT > & getLocals () const
 
unsigned getVarargBufferVreg () const
 
void setVarargBufferVreg (unsigned Reg)
 
unsigned getBasePointerVreg () const
 
void setBasePointerVreg (unsigned Reg)
 
void stackifyVReg (unsigned VReg)
 
bool isVRegStackified (unsigned VReg) const
 
void initWARegs ()
 
void setWAReg (unsigned VReg, unsigned WAReg)
 
unsigned getWAReg (unsigned Reg) const
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Static Public Member Functions

static unsigned getWARegStackId (unsigned Reg)
 
- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, MachineFunction &MF)
 Factory function: default behavior is to call new using the supplied allocator. More...
 

Static Public Attributes

static const unsigned UnusedReg = -1u
 

Detailed Description

This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction.

Definition at line 26 of file WebAssemblyMachineFunctionInfo.h.

Constructor & Destructor Documentation

llvm::WebAssemblyFunctionInfo::WebAssemblyFunctionInfo ( MachineFunction MF)
inlineexplicit

Definition at line 54 of file WebAssemblyMachineFunctionInfo.h.

WebAssemblyFunctionInfo::~WebAssemblyFunctionInfo ( )
override

Definition at line 22 of file WebAssemblyMachineFunctionInfo.cpp.

Member Function Documentation

void llvm::WebAssemblyFunctionInfo::addLocal ( MVT  VT)
inline

Definition at line 63 of file WebAssemblyMachineFunctionInfo.h.

void llvm::WebAssemblyFunctionInfo::addParam ( MVT  VT)
inline

Definition at line 57 of file WebAssemblyMachineFunctionInfo.h.

void llvm::WebAssemblyFunctionInfo::addResult ( MVT  VT)
inline

Definition at line 60 of file WebAssemblyMachineFunctionInfo.h.

unsigned llvm::WebAssemblyFunctionInfo::getBasePointerVreg ( ) const
inline

Definition at line 72 of file WebAssemblyMachineFunctionInfo.h.

References assert().

const std::vector<MVT>& llvm::WebAssemblyFunctionInfo::getLocals ( ) const
inline

Definition at line 64 of file WebAssemblyMachineFunctionInfo.h.

const std::vector<MVT>& llvm::WebAssemblyFunctionInfo::getParams ( ) const
inline

Definition at line 58 of file WebAssemblyMachineFunctionInfo.h.

const std::vector<MVT>& llvm::WebAssemblyFunctionInfo::getResults ( ) const
inline

Definition at line 61 of file WebAssemblyMachineFunctionInfo.h.

Referenced by FixEndsAtEndOfFunction().

unsigned llvm::WebAssemblyFunctionInfo::getVarargBufferVreg ( ) const
inline

Definition at line 66 of file WebAssemblyMachineFunctionInfo.h.

References assert().

unsigned llvm::WebAssemblyFunctionInfo::getWAReg ( unsigned  Reg) const
inline
static unsigned llvm::WebAssemblyFunctionInfo::getWARegStackId ( unsigned  Reg)
inlinestatic

Definition at line 104 of file WebAssemblyMachineFunctionInfo.h.

References assert().

Referenced by llvm::WebAssemblyInstPrinter::printOperand().

void WebAssemblyFunctionInfo::initWARegs ( )
bool llvm::WebAssemblyFunctionInfo::isVRegStackified ( unsigned  VReg) const
inline
void llvm::WebAssemblyFunctionInfo::setBasePointerVreg ( unsigned  Reg)
inline

Definition at line 76 of file WebAssemblyMachineFunctionInfo.h.

void llvm::WebAssemblyFunctionInfo::setVarargBufferVreg ( unsigned  Reg)
inline

Definition at line 70 of file WebAssemblyMachineFunctionInfo.h.

void llvm::WebAssemblyFunctionInfo::setWAReg ( unsigned  VReg,
unsigned  WAReg 
)
inline
void llvm::WebAssemblyFunctionInfo::stackifyVReg ( unsigned  VReg)
inline

Member Data Documentation

const unsigned llvm::WebAssemblyFunctionInfo::UnusedReg = -1u
static

The documentation for this class was generated from the following files: