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

Methods

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)

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)

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)

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)

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)

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)

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)

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)

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)

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()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:93

void initNames2DirectTargetFlags()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:92

void initNames2InstrOpCodes()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:87

void initNames2MMOTargetFlags()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:94

void initNames2RegBanks()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:97

void initNames2RegClasses()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:96

void initNames2RegMasks()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:89

void initNames2Regs()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:88

void initNames2SubRegIndices()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:90

void initNames2TargetIndices()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:91

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)

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:159

Parameters

const llvm::TargetSubtargetInfo& NewSubtarget

~PerTargetMIParsingState()

Declared at: llvm/include/llvm/CodeGen/MIRParser/MIParser.h:157