LLVM  12.0.0git
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 "Target/WebAssembly/WebAssemblyMachineFunctionInfo.h"

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

Public Member Functions

 WebAssemblyFunctionInfo (MachineFunction &MF)
 
 ~WebAssemblyFunctionInfo () override
 
void initializeBaseYamlFields (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 ()
 

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 32 of file WebAssemblyMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ WebAssemblyFunctionInfo()

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

◆ ~WebAssemblyFunctionInfo()

WebAssemblyFunctionInfo::~WebAssemblyFunctionInfo ( )
overridedefault

Member Function Documentation

◆ addLocal()

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

Definition at line 84 of file WebAssemblyMachineFunctionInfo.h.

◆ addParam()

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

Definition at line 71 of file WebAssemblyMachineFunctionInfo.h.

◆ addResult()

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

Definition at line 74 of file WebAssemblyMachineFunctionInfo.h.

◆ clearFrameBaseVreg()

void llvm::WebAssemblyFunctionInfo::clearFrameBaseVreg ( )
inline

Definition at line 102 of file WebAssemblyMachineFunctionInfo.h.

Referenced by findStartOfTree(), and moveAndTeeForMultiUse().

◆ clearParamsAndResults()

void llvm::WebAssemblyFunctionInfo::clearParamsAndResults ( )
inline

Definition at line 77 of file WebAssemblyMachineFunctionInfo.h.

◆ getBasePointerVreg()

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

Definition at line 93 of file WebAssemblyMachineFunctionInfo.h.

References assert().

◆ getFrameBaseLocal()

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

◆ getFrameBaseVreg()

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

◆ getLocals()

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

Definition at line 85 of file WebAssemblyMachineFunctionInfo.h.

◆ getParams()

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

Definition at line 72 of file WebAssemblyMachineFunctionInfo.h.

Referenced by findStartOfTree().

◆ getResults()

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

Definition at line 75 of file WebAssemblyMachineFunctionInfo.h.

References Results.

Referenced by getDepth().

◆ getVarargBufferVreg()

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

Definition at line 87 of file WebAssemblyMachineFunctionInfo.h.

References assert().

◆ getWAReg()

unsigned llvm::WebAssemblyFunctionInfo::getWAReg ( unsigned  VReg) const
inline

◆ getWARegStackId()

static unsigned llvm::WebAssemblyFunctionInfo::getWARegStackId ( unsigned  Reg)
inlinestatic

Definition at line 147 of file WebAssemblyMachineFunctionInfo.h.

References assert().

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

◆ initializeBaseYamlFields()

void WebAssemblyFunctionInfo::initializeBaseYamlFields ( const yaml::WebAssemblyFunctionInfo YamlMFI)

◆ initWARegs()

void WebAssemblyFunctionInfo::initWARegs ( MachineRegisterInfo MRI)

◆ 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

Definition at line 110 of file WebAssemblyMachineFunctionInfo.h.

References Reg.

◆ setCFGStackified()

void llvm::WebAssemblyFunctionInfo::setCFGStackified ( bool  Value = true)
inline

◆ setFrameBaseLocal()

void llvm::WebAssemblyFunctionInfo::setFrameBaseLocal ( unsigned  Local)
inline

Definition at line 105 of file WebAssemblyMachineFunctionInfo.h.

Referenced by checkFrameBase().

◆ setFrameBaseVreg()

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

Definition at line 97 of file WebAssemblyMachineFunctionInfo.h.

References Reg.

◆ setLocal()

void llvm::WebAssemblyFunctionInfo::setLocal ( size_t  i,
MVT  VT 
)
inline

Definition at line 83 of file WebAssemblyMachineFunctionInfo.h.

Referenced by findStartOfTree().

◆ setNumLocals()

void llvm::WebAssemblyFunctionInfo::setNumLocals ( size_t  NumLocals)
inline

Definition at line 82 of file WebAssemblyMachineFunctionInfo.h.

References llvm::MVT::i32.

Referenced by findStartOfTree().

◆ setVarargBufferVreg()

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

Definition at line 91 of file WebAssemblyMachineFunctionInfo.h.

References Reg.

◆ setWAReg()

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

Definition at line 134 of file WebAssemblyMachineFunctionInfo.h.

References assert(), I, and llvm::Register::virtReg2Index().

◆ stackifyVReg()

void llvm::WebAssemblyFunctionInfo::stackifyVReg ( MachineRegisterInfo MRI,
unsigned  VReg 
)
inline

◆ unstackifyVReg()

void llvm::WebAssemblyFunctionInfo::unstackifyVReg ( unsigned  VReg)
inline

Member Data Documentation

◆ UnusedReg

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

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