struct PerTargetMIParsingState
Declaration
struct PerTargetMIParsingState { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:53
Member Variables
- private const llvm::TargetSubtargetInfo& Subtarget
- private StringMap<unsigned int> Names2InstrOpCodes
- Maps from instruction names to op codes.
- private StringMap<llvm::Register> Names2Regs
- Maps from register names to registers.
- private StringMap<const uint32_t*> Names2RegMasks
- Maps from register mask names to register masks.
- private StringMap<unsigned int> Names2SubRegIndices
- Maps from subregister names to subregister indices.
- private StringMap<int> Names2TargetIndices
- Maps from target index names to target indices.
- private StringMap<unsigned int> Names2DirectTargetFlags
- Maps from direct target flag names to the direct target flag values.
- private StringMap<unsigned int> Names2BitmaskTargetFlags
- Maps from direct target flag names to the bitmask target flag values.
- private StringMap<MachineMemOperand::Flags> Names2MMOTargetFlags
- Maps from MMO target flag names to MMO target flag values.
- private llvm::Name2RegClassMap Names2RegClasses
- Maps from register class names to register classes.
- private llvm::Name2RegBankMap Names2RegBanks
- Maps from register bank names to register banks.
Method Overview
- public PerTargetMIParsingState(const llvm::TargetSubtargetInfo & STI)
- public bool getBitmaskTargetFlag(llvm::StringRef Name, unsigned int & Flag)
- public bool getDirectTargetFlag(llvm::StringRef Name, unsigned int & Flag)
- public bool getMMOTargetFlag(llvm::StringRef Name, MachineMemOperand::Flags & Flag)
- public const llvm::RegisterBank * getRegBank(llvm::StringRef Name)
- public const llvm::TargetRegisterClass * getRegClass(llvm::StringRef Name)
- public const uint32_t * getRegMask(llvm::StringRef Identifier)
- public bool getRegisterByName(llvm::StringRef RegName, llvm::Register & Reg)
- public unsigned int getSubRegIndex(llvm::StringRef Name)
- public bool getTargetIndex(llvm::StringRef Name, int & Index)
- private void initNames2BitmaskTargetFlags()
- private void initNames2DirectTargetFlags()
- private void initNames2InstrOpCodes()
- private void initNames2MMOTargetFlags()
- private void initNames2RegBanks()
- private void initNames2RegClasses()
- private void initNames2RegMasks()
- private void initNames2Regs()
- private void initNames2SubRegIndices()
- private void initNames2TargetIndices()
- public bool parseInstrName(llvm::StringRef InstrName, unsigned int & OpCode)
- public void setTarget(const llvm::TargetSubtargetInfo & NewSubtarget)
- public ~PerTargetMIParsingState()
Methods
¶PerTargetMIParsingState(
const llvm::TargetSubtargetInfo& STI)
PerTargetMIParsingState(
const llvm::TargetSubtargetInfo& STI)
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:151
Parameters
- const llvm::TargetSubtargetInfo& STI
¶bool getBitmaskTargetFlag(llvm::StringRef Name,
unsigned int& Flag)
bool getBitmaskTargetFlag(llvm::StringRef Name,
unsigned int& Flag)
Description
Try to convert a name of a bitmask target flag to the corresponding target flag. Return true if the name isn't a name of a bitmask target flag.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:133
Parameters
- llvm::StringRef Name
- unsigned int& Flag
¶bool getDirectTargetFlag(llvm::StringRef Name,
unsigned int& Flag)
bool getDirectTargetFlag(llvm::StringRef Name,
unsigned int& Flag)
Description
Try to convert a name of a direct target flag to the corresponding target flag. Return true if the name isn't a name of a direct flag.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:127
Parameters
- llvm::StringRef Name
- unsigned int& Flag
¶bool getMMOTargetFlag(
llvm::StringRef Name,
MachineMemOperand::Flags& Flag)
bool getMMOTargetFlag(
llvm::StringRef Name,
MachineMemOperand::Flags& Flag)
Description
Try to convert a name of a MachineMemOperand target flag to the corresponding target flag. Return true if the name isn't a name of a target MMO flag.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:139
Parameters
- llvm::StringRef Name
- MachineMemOperand::Flags& Flag
¶const llvm::RegisterBank* getRegBank(
llvm::StringRef Name)
const llvm::RegisterBank* getRegBank(
llvm::StringRef Name)
Description
Check if the given identifier is a name of a register bank. Return null if the name isn't a register bank.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:149
Parameters
- llvm::StringRef Name
¶const llvm::TargetRegisterClass* getRegClass(
llvm::StringRef Name)
const llvm::TargetRegisterClass* getRegClass(
llvm::StringRef Name)
Description
Check if the given identifier is a name of a register class. Return null if the name isn't a register class.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:144
Parameters
- llvm::StringRef Name
¶const uint32_t* getRegMask(
llvm::StringRef Identifier)
const uint32_t* getRegMask(
llvm::StringRef Identifier)
Description
Check if the given identifier is a name of a register mask. Return null if the identifier isn't a register mask.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:111
Parameters
- llvm::StringRef Identifier
¶bool getRegisterByName(llvm::StringRef RegName,
llvm::Register& Reg)
bool getRegisterByName(llvm::StringRef RegName,
llvm::Register& Reg)
Description
Try to convert a register name to a register number. Return true if the register name is invalid.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:106
Parameters
- llvm::StringRef RegName
- llvm::Register& Reg
¶unsigned int getSubRegIndex(llvm::StringRef Name)
unsigned int getSubRegIndex(llvm::StringRef Name)
Description
Check if the given identifier is a name of a subregister index. Return 0 if the name isn't a subregister index class.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:116
Parameters
- llvm::StringRef Name
¶bool getTargetIndex(llvm::StringRef Name,
int& Index)
bool getTargetIndex(llvm::StringRef Name,
int& Index)
Description
Try to convert a name of target index to the corresponding target index. Return true if the name isn't a name of a target index.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:121
Parameters
- llvm::StringRef Name
- int& Index
¶void initNames2BitmaskTargetFlags()
void initNames2BitmaskTargetFlags()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:93
¶void initNames2DirectTargetFlags()
void initNames2DirectTargetFlags()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:92
¶void initNames2InstrOpCodes()
void initNames2InstrOpCodes()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:87
¶void initNames2MMOTargetFlags()
void initNames2MMOTargetFlags()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:94
¶void initNames2RegBanks()
void initNames2RegBanks()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:97
¶void initNames2RegClasses()
void initNames2RegClasses()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:96
¶void initNames2RegMasks()
void initNames2RegMasks()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:89
¶void initNames2Regs()
void initNames2Regs()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:88
¶void initNames2SubRegIndices()
void initNames2SubRegIndices()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:90
¶void initNames2TargetIndices()
void initNames2TargetIndices()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:91
¶bool parseInstrName(llvm::StringRef InstrName,
unsigned int& OpCode)
bool parseInstrName(llvm::StringRef InstrName,
unsigned int& OpCode)
Description
Try to convert an instruction name to an opcode. Return true if the instruction name is invalid.
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:102
Parameters
- llvm::StringRef InstrName
- unsigned int& OpCode
¶void setTarget(
const llvm::TargetSubtargetInfo& NewSubtarget)
void setTarget(
const llvm::TargetSubtargetInfo& NewSubtarget)
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:159
Parameters
- const llvm::TargetSubtargetInfo& NewSubtarget
¶~PerTargetMIParsingState()
~PerTargetMIParsingState()
Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:157