LLVM
8.0.1
|
This class is derived from MachineFunctionInfo and contains private WebAssembly-specific information for each MachineFunction. More...
#include "Target/WebAssembly/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 | 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 | setBasePointerVreg (unsigned Reg) |
void | stackifyVReg (unsigned VReg) |
bool | isVRegStackified (unsigned VReg) const |
void | initWARegs () |
void | setWAReg (unsigned VReg, unsigned WAReg) |
unsigned | getWAReg (unsigned VReg) 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 28 of file WebAssemblyMachineFunctionInfo.h.
|
inlineexplicit |
Definition at line 56 of file WebAssemblyMachineFunctionInfo.h.
References ~WebAssemblyFunctionInfo().
|
override |
Definition at line 22 of file WebAssemblyMachineFunctionInfo.cpp.
Referenced by WebAssemblyFunctionInfo().
|
inline |
Definition at line 72 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 59 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 62 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 65 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 81 of file WebAssemblyMachineFunctionInfo.h.
References assert().
Definition at line 73 of file WebAssemblyMachineFunctionInfo.h.
Referenced by llvm::WebAssemblyAsmPrinter::EmitFunctionBodyStart().
Definition at line 60 of file WebAssemblyMachineFunctionInfo.h.
Referenced by findStartOfTree().
Definition at line 63 of file WebAssemblyMachineFunctionInfo.h.
|
inline |
Definition at line 75 of file WebAssemblyMachineFunctionInfo.h.
References assert().
Definition at line 110 of file WebAssemblyMachineFunctionInfo.h.
References assert(), I, and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by llvm::WebAssemblyMCInstLower::Lower(), and llvm::WebAssemblyAsmPrinter::regToString().
Definition at line 117 of file WebAssemblyMachineFunctionInfo.h.
References assert(), llvm::ComputeLegalValueVTs(), llvm::ComputeSignatureVTs(), F(), llvm::tgtok::In, llvm::SignatureFromMVTs(), llvm::SystemZISD::TM, and llvm::ValTypesFromMVTs().
Referenced by llvm::WebAssemblyInstPrinter::printOperand().
void WebAssemblyFunctionInfo::initWARegs | ( | ) |
Definition at line 24 of file WebAssemblyMachineFunctionInfo.cpp.
References assert(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineFunction::getRegInfo(), Reg, and UnusedReg.
Referenced by isVRegStackified().
Definition at line 96 of file WebAssemblyMachineFunctionInfo.h.
References I, initWARegs(), llvm::BitVector::size(), llvm::BitVector::test(), and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by llvm::WebAssemblyInstrInfo::commuteInstructionImpl(), findStartOfTree(), llvm::WebAssembly::isChild(), MoveAndTeeForMultiUse(), OneUseDominatesOtherUses(), and llvm::WebAssemblyAsmPrinter::regToString().
|
inline |
Definition at line 85 of file WebAssemblyMachineFunctionInfo.h.
References Reg.
Definition at line 71 of file WebAssemblyMachineFunctionInfo.h.
Referenced by findStartOfTree().
|
inline |
Definition at line 70 of file WebAssemblyMachineFunctionInfo.h.
References llvm::MVT::i32.
Referenced by findStartOfTree().
|
inline |
Definition at line 79 of file WebAssemblyMachineFunctionInfo.h.
References Reg.
Definition at line 104 of file WebAssemblyMachineFunctionInfo.h.
References assert(), I, and llvm::TargetRegisterInfo::virtReg2Index().
|
inline |
Definition at line 89 of file WebAssemblyMachineFunctionInfo.h.
References assert(), I, llvm::BitVector::resize(), llvm::BitVector::set(), llvm::BitVector::size(), and llvm::TargetRegisterInfo::virtReg2Index().
Referenced by findStartOfTree(), MaybeRewriteToDrop(), MoveAndTeeForMultiUse(), MoveForSingleUse(), and RematerializeCheapDef().
Definition at line 87 of file WebAssemblyMachineFunctionInfo.h.
Referenced by INITIALIZE_PASS(), initWARegs(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printRegName(), and llvm::WebAssemblyAsmPrinter::regToString().