LLVM
8.0.1
|
Helper class that represents how the value of an instruction may be mapped and what is the related cost of such mapping. More...
#include "llvm/CodeGen/GlobalISel/RegisterBankInfo.h"
Public Member Functions | |
InstructionMapping (unsigned ID, unsigned Cost, const ValueMapping *OperandsMapping, unsigned NumOperands) | |
Constructor for the mapping of an instruction. More... | |
InstructionMapping ()=default | |
Default constructor. More... | |
unsigned | getCost () const |
Get the cost. More... | |
unsigned | getID () const |
Get the ID. More... | |
unsigned | getNumOperands () const |
Get the number of operands. More... | |
const ValueMapping & | getOperandMapping (unsigned i) const |
Get the value mapping of the ith operand. More... | |
void | setOperandsMapping (const ValueMapping *OpdsMapping) |
Set the mapping for all the operands. More... | |
bool | isValid () const |
Check whether this object is valid. More... | |
bool | verify (const MachineInstr &MI) const |
Verifiy that this mapping makes sense for MI . More... | |
void | dump () const |
Print this on dbgs() stream. More... | |
void | print (raw_ostream &OS) const |
Print this on OS ;. More... | |
Helper class that represents how the value of an instruction may be mapped and what is the related cost of such mapping.
Definition at line 899 of file RegisterBankInfo.h.
|
inline |
Constructor for the mapping of an instruction.
NumOperands
must be equal to number of all the operands of the related instruction. The rationale is that it is more efficient for the optimizers to be able to assume that the mapping of the ith operand is at the index i.
Definition at line 928 of file RegisterBankInfo.h.
|
default |
Default constructor.
Use this constructor to express that the mapping is invalid.
void InstructionMapping::dump | ( | ) | const |
Print this on dbgs() stream.
|
inline |
Get the cost.
Definition at line 942 of file RegisterBankInfo.h.
|
inline |
|
inline |
Get the number of operands.
Definition at line 948 of file RegisterBankInfo.h.
|
inline |
Get the value mapping of the ith operand.
Definition at line 953 of file RegisterBankInfo.h.
|
inline |
Check whether this object is valid.
This is a lightweight check for obvious wrong instance.
Definition at line 968 of file RegisterBankInfo.h.
void InstructionMapping::print | ( | raw_ostream & | OS | ) | const |
Print this on OS
;.
|
inline |
Set the mapping for all the operands.
In other words, OpdsMapping should hold at least getNumOperands ValueMapping.
Definition at line 962 of file RegisterBankInfo.h.
Verifiy that this mapping makes sense for MI
.
MI
must be connected to a MachineFunction.