|
LLVM
4.0.0
|
Helper class that represents how the value of an instruction may be mapped and what is the related cost of such mapping. More...
#include <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 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 825 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 851 of file RegisterBankInfo.h.
|
inline |
Default constructor.
Use this constructor to express that the mapping is invalid.
Definition at line 862 of file RegisterBankInfo.h.
| void InstructionMapping::dump | ( | ) | const |
Print this on dbgs() stream.
|
inline |
Get the cost.
Definition at line 865 of file RegisterBankInfo.h.
|
inline |
Get the ID.
Definition at line 868 of file RegisterBankInfo.h.
|
inline |
Get the number of operands.
Definition at line 871 of file RegisterBankInfo.h.
|
inline |
Get the value mapping of the ith operand.
Definition at line 876 of file RegisterBankInfo.h.
|
inline |
Check whether this object is valid.
This is a lightweight check for obvious wrong instance.
Definition at line 891 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 885 of file RegisterBankInfo.h.
Verifiy that this mapping makes sense for MI.
MI must be connected to a MachineFunction.
1.8.6