|
LLVM
4.0.0
|
This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More...
#include <WebAssemblyMachineFunctionInfo.h>
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 |
This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction.
Definition at line 26 of file WebAssemblyMachineFunctionInfo.h.
|
inlineexplicit |
Definition at line 54 of file WebAssemblyMachineFunctionInfo.h.
|
override |
Definition at line 22 of file WebAssemblyMachineFunctionInfo.cpp.
|
inline |
Definition at line 63 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 57 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 60 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 72 of file WebAssemblyMachineFunctionInfo.h.
References assert().
Definition at line 64 of file WebAssemblyMachineFunctionInfo.h.
Definition at line 58 of file WebAssemblyMachineFunctionInfo.h.
Definition at line 61 of file WebAssemblyMachineFunctionInfo.h.
Referenced by FixEndsAtEndOfFunction().
|
inline |
Definition at line 66 of file WebAssemblyMachineFunctionInfo.h.
References assert().
Definition at line 98 of file WebAssemblyMachineFunctionInfo.h.
References assert(), and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by llvm::WebAssemblyMCInstLower::Lower().
Definition at line 104 of file WebAssemblyMachineFunctionInfo.h.
References assert().
Referenced by llvm::WebAssemblyInstPrinter::printOperand().
| void WebAssemblyFunctionInfo::initWARegs | ( | ) |
Definition at line 24 of file WebAssemblyMachineFunctionInfo.cpp.
References assert(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineFunction::getRegInfo(), and UnusedReg.
Definition at line 86 of file WebAssemblyMachineFunctionInfo.h.
References llvm::BitVector::size(), llvm::BitVector::test(), and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by llvm::WebAssemblyInstrInfo::commuteInstructionImpl(), FindStartOfTree(), llvm::WebAssembly::isChild(), MaybeRewriteToFallthrough(), and OneUseDominatesOtherUses().
|
inline |
Definition at line 76 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 70 of file WebAssemblyMachineFunctionInfo.h.
Definition at line 93 of file WebAssemblyMachineFunctionInfo.h.
References assert(), UnusedReg, and llvm::TargetRegisterInfo::virtReg2Index().
|
inline |
Definition at line 80 of file WebAssemblyMachineFunctionInfo.h.
References assert(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::BitVector::resize(), llvm::BitVector::set(), llvm::BitVector::size(), and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by MaybeRewriteToDrop(), MaybeRewriteToFallthrough(), MoveAndTeeForMultiUse(), MoveForSingleUse(), and RematerializeCheapDef().
Definition at line 78 of file WebAssemblyMachineFunctionInfo.h.
Referenced by initWARegs(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printRegName(), and setWAReg().
1.8.6