14 #ifndef LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H 15 #define LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H 23 class MachineBasicBlock;
24 class MachineFunction;
31 class TargetRegisterClass;
125 #endif // LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H 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
This class represents lattice values for constants.
DenseMap< unsigned, int > StackObjectSlots
DenseMap< unsigned, VRegInfo * > VRegInfos
bool parseMBBReference(PerFunctionMIParsingState &PFS, MachineBasicBlock *&MBB, StringRef Src, SMDiagnostic &Error)
const TargetRegisterClass * RC
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
union llvm::VRegInfo::@347 D
const Name2RegBankMap & Names2RegBanks
DenseMap< unsigned, int > FixedStackObjectSlots
bool parseVirtualRegisterReference(PerFunctionMIParsingState &PFS, VRegInfo *&Info, StringRef Src, SMDiagnostic &Error)
Analysis containing CSE Info
bool parseStackObjectReference(PerFunctionMIParsingState &PFS, int &FI, StringRef Src, SMDiagnostic &Error)
Allocate memory in an ever growing pool, as if by bump-pointer.
StringMap< VRegInfo * > VRegInfosNamed
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.
const Name2RegClassMap & Names2RegClasses
enum llvm::VRegInfo::uint8_t Kind
This class implements the register bank concept.
StringMap - This is an unconventional map that is specialized for handling keys that are "strings"...
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...