LLVM
10.0.0svn
|
#include "llvm/CodeGen/MIRParser/MIParser.h"
Public Member Functions | |
bool | parseInstrName (StringRef InstrName, unsigned &OpCode) |
Try to convert an instruction name to an opcode. More... | |
bool | getRegisterByName (StringRef RegName, unsigned &Reg) |
Try to convert a register name to a register number. More... | |
const uint32_t * | getRegMask (StringRef Identifier) |
Check if the given identifier is a name of a register mask. More... | |
unsigned | getSubRegIndex (StringRef Name) |
Check if the given identifier is a name of a subregister index. More... | |
bool | getTargetIndex (StringRef Name, int &Index) |
Try to convert a name of target index to the corresponding target index. More... | |
bool | getDirectTargetFlag (StringRef Name, unsigned &Flag) |
Try to convert a name of a direct target flag to the corresponding target flag. More... | |
bool | getBitmaskTargetFlag (StringRef Name, unsigned &Flag) |
Try to convert a name of a bitmask target flag to the corresponding target flag. More... | |
bool | getMMOTargetFlag (StringRef Name, MachineMemOperand::Flags &Flag) |
Try to convert a name of a MachineMemOperand target flag to the corresponding target flag. More... | |
const TargetRegisterClass * | getRegClass (StringRef Name) |
Check if the given identifier is a name of a register class. More... | |
const RegisterBank * | getRegBank (StringRef Name) |
Check if the given identifier is a name of a register bank. More... | |
PerTargetMIParsingState (const TargetSubtargetInfo &STI) | |
~PerTargetMIParsingState ()=default | |
void | setTarget (const TargetSubtargetInfo &NewSubtarget) |
Definition at line 50 of file MIParser.h.
|
inline |
Definition at line 148 of file MIParser.h.
|
default |
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.
Definition at line 243 of file MIParser.cpp.
References assert(), llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getInstrInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TII.
Referenced by verifyAddrSpace().
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.
Definition at line 221 of file MIParser.cpp.
References assert(), llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::HexagonInstrInfo::getSerializableBitmaskMachineOperandTargetFlags(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TII.
Referenced by verifyAddrSpace().
bool PerTargetMIParsingState::getMMOTargetFlag | ( | StringRef | Name, |
MachineMemOperand::Flags & | Flag | ||
) |
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.
Definition at line 264 of file MIParser.cpp.
References E, llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::RegisterBankInfo::getNumRegBanks(), llvm::TargetRegisterInfo::getNumRegClasses(), llvm::RegisterBankInfo::getRegBank(), llvm::TargetSubtargetInfo::getRegBankInfo(), llvm::TargetRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassName(), llvm::TargetSubtargetInfo::getRegisterInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TRI.
Referenced by verifyAddrSpace().
const RegisterBank * PerTargetMIParsingState::getRegBank | ( | StringRef | Name | ) |
Check if the given identifier is a name of a register bank.
Return null if the name isn't a register bank.
Definition at line 311 of file MIParser.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::end(), and llvm::StringMap< ValueTy, AllocatorTy >::find().
Referenced by isImplicitOperandIn().
const TargetRegisterClass * PerTargetMIParsingState::getRegClass | ( | StringRef | Name | ) |
Check if the given identifier is a name of a register class.
Return null if the name isn't a register class.
Definition at line 304 of file MIParser.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::end(), and llvm::StringMap< ValueTy, AllocatorTy >::find().
Referenced by isImplicitOperandIn().
Try to convert a register name to a register number.
Return true if the register name is invalid.
Definition at line 123 of file MIParser.cpp.
References assert(), E, llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getInstrInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TII.
Referenced by isImplicitOperandIn().
Check if the given identifier is a name of a register mask.
Return null if the identifier isn't a register mask.
Definition at line 165 of file MIParser.cpp.
References E, llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::MCRegisterInfo::getNumSubRegIndices(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterInfo::getSubRegIndexName(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TRI.
Referenced by verifyAddrSpace().
Check if the given identifier is a name of a subregister index.
Return 0 if the name isn't a subregister index class.
Definition at line 182 of file MIParser.cpp.
References assert(), llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getInstrInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TII.
Referenced by isImplicitOperandIn(), and verifyAddrSpace().
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.
Definition at line 200 of file MIParser.cpp.
References assert(), llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::HexagonInstrInfo::getSerializableDirectMachineOperandTargetFlags(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TII.
Referenced by verifyAddrSpace().
Try to convert an instruction name to an opcode.
Return true if the instruction name is invalid.
Definition at line 142 of file MIParser.cpp.
References assert(), E, llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::TargetSubtargetInfo::getRegisterInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), llvm::ArrayRef< T >::size(), and TRI.
Referenced by isImplicitOperandIn().
void PerTargetMIParsingState::setTarget | ( | const TargetSubtargetInfo & | NewSubtarget | ) |
Definition at line 85 of file MIParser.cpp.
References assert(), llvm::StringMap< ValueTy, AllocatorTy >::clear(), E, llvm::StringMapImpl::empty(), llvm::TargetSubtargetInfo::getRegisterInfo(), I, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and TRI.