14 #ifndef LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H
15 #define LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H
24 class MachineBasicBlock;
25 class MachineFunction;
27 class MachineRegisterInfo;
33 class TargetRegisterClass;
bool parseMachineBasicBlockDefinitions(PerFunctionMIParsingState &PFS, StringRef Src, SMDiagnostic &Error)
Parse the machine basic block definitions, and skip the machine instructions.
DenseMap< unsigned, unsigned > JumpTableSlots
DenseMap< unsigned, unsigned > ConstantPoolSlots
union llvm::VRegInfo::@253 D
DenseMap< unsigned, int > StackObjectSlots
DenseMap< unsigned, VRegInfo * > VRegInfos
bool parseMBBReference(PerFunctionMIParsingState &PFS, MachineBasicBlock *&MBB, StringRef Src, SMDiagnostic &Error)
const TargetRegisterClass * RC
Reg
All possible values of the reg field in the ModR/M byte.
DenseMap< unsigned, int > FixedStackObjectSlots
bool parseVirtualRegisterReference(PerFunctionMIParsingState &PFS, VRegInfo *&Info, StringRef Src, SMDiagnostic &Error)
VRegInfo & getVRegInfo(unsigned VReg)
bool parseStackObjectReference(PerFunctionMIParsingState &PFS, int &FI, StringRef Src, SMDiagnostic &Error)
Allocate memory in an ever growing pool, as if by bump-pointer.
PerFunctionMIParsingState(MachineFunction &MF, SourceMgr &SM, const SlotMapping &IRSlots)
BumpPtrAllocator Allocator
bool parseNamedRegisterReference(PerFunctionMIParsingState &PFS, unsigned &Reg, StringRef Src, SMDiagnostic &Error)
This owns the files read by a parser, handles include stacks, and handles diagnostic wrangling...
const SlotMapping & IRSlots
bool parseMachineInstructions(PerFunctionMIParsingState &PFS, StringRef Src, SMDiagnostic &Error)
Parse the machine instructions.
enum llvm::VRegInfo::uint8_t Kind
This class implements the register bank concept.
This struct contains the mappings from the slot numbers to unnamed metadata nodes, global values and types.
bool parseMDNode(PerFunctionMIParsingState &PFS, MDNode *&Node, StringRef Src, SMDiagnostic &Error)
bool Explicit
VReg was explicitly specified in the .mir file.
DenseMap< unsigned, MachineBasicBlock * > MBBSlots
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
const RegisterBank * RegBank
bool parseRegisterReference(PerFunctionMIParsingState &PFS, unsigned &Reg, StringRef Src, SMDiagnostic &Error)
Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a ca...