struct RegisterBankInfo::PartialMapping
Declaration
struct RegisterBankInfo::PartialMapping { /* full declaration omitted */ };
Description
Helper struct that represents how a value is partially mapped into a register. The StartIdx and Length represent what region of the orginal value this partial mapping covers. This can be represented as a Mask of contiguous bit starting at StartIdx bit and spanning Length bits. StartIdx is the number of bits from the less significant bits.
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:48
Member Variables
- public unsigned int StartIdx
- Number of bits at which this partial mapping starts in the original value. The bits are counted from less significant bits to most significant bits.
- public unsigned int Length
- Length of this mapping in bits. This is how many bits this partial mapping covers in the original value: from StartIdx to StartIdx + Length -1.
- public const llvm::RegisterBank* RegBank
- Register bank where the partial value lives.
Method Overview
- public PartialMapping()
- public PartialMapping(unsigned int StartIdx, unsigned int Length, const llvm::RegisterBank & RegBank)
- public void dump() const
- public unsigned int getHighBitIdx() const
- public void print(llvm::raw_ostream & OS) const
- public bool verify() const
Methods
¶PartialMapping()
PartialMapping()
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:62
¶PartialMapping(unsigned int StartIdx,
unsigned int Length,
const llvm::RegisterBank& RegBank)
PartialMapping(unsigned int StartIdx,
unsigned int Length,
const llvm::RegisterBank& RegBank)
Description
Provide a shortcut for quickly building PartialMapping.
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:65
Parameters
- unsigned int StartIdx
- unsigned int Length
- const llvm::RegisterBank& RegBank
¶void dump() const
void dump() const
Description
Print this partial mapping on dbgs() stream.
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:74
¶unsigned int getHighBitIdx() const
unsigned int getHighBitIdx() const
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:71
Returns
the index of in the original value of the most significant bit that this partial mapping covers.
¶void print(llvm::raw_ostream& OS) const
void print(llvm::raw_ostream& OS) const
Description
Print this partial mapping on \p OS;
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:77
Parameters
¶bool verify() const
bool verify() const
Description
Check that the Mask is compatible with the RegBank. Indeed, if the RegBank cannot accomadate the "active bits" of the mask, there is no way this mapping is valid.
Declared at: llvm/include/llvm/CodeGen/RegisterBankInfo.h:86
Returns
True is the check was successful.