diff options
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.h')
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.h | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.h b/llvm/lib/CodeGen/MIRParser/MIParser.h index 3557b9a6d5d..ab160dcf91c 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.h +++ b/llvm/lib/CodeGen/MIRParser/MIParser.h @@ -22,14 +22,17 @@ namespace llvm { class StringRef; class BasicBlock; class MachineBasicBlock; -class MachineInstr; class MachineFunction; +class MachineInstr; +class MachineRegisterInfo; class MDNode; struct SlotMapping; class SMDiagnostic; class SourceMgr; struct PerFunctionMIParsingState { + MachineFunction &MF; + DenseMap<unsigned, MachineBasicBlock *> MBBSlots; DenseMap<unsigned, unsigned> VirtualRegisterSlots; DenseMap<unsigned, int> FixedStackObjectSlots; @@ -38,6 +41,8 @@ struct PerFunctionMIParsingState { DenseMap<unsigned, unsigned> JumpTableSlots; /// Hold the generic virtual registers. SmallSet<unsigned, 8> GenericVRegs; + + PerFunctionMIParsingState(MachineFunction &MF); }; /// Parse the machine basic block definitions, and skip the machine @@ -52,8 +57,8 @@ struct PerFunctionMIParsingState { /// resolve the machine basic block references. /// /// Return true if an error occurred. -bool parseMachineBasicBlockDefinitions(MachineFunction &MF, StringRef Src, - PerFunctionMIParsingState &PFS, +bool parseMachineBasicBlockDefinitions(PerFunctionMIParsingState &PFS, + StringRef Src, const SlotMapping &IRSlots, SMDiagnostic &Error); @@ -67,35 +72,32 @@ bool parseMachineBasicBlockDefinitions(MachineFunction &MF, StringRef Src, /// on the given source string. /// /// Return true if an error occurred. -bool parseMachineInstructions(MachineFunction &MF, StringRef Src, - const PerFunctionMIParsingState &PFS, - const SlotMapping &IRSlots, SMDiagnostic &Error); - -bool parseMBBReference(MachineBasicBlock *&MBB, SourceMgr &SM, - MachineFunction &MF, StringRef Src, - const PerFunctionMIParsingState &PFS, - const SlotMapping &IRSlots, SMDiagnostic &Error); - -bool parseNamedRegisterReference(unsigned &Reg, SourceMgr &SM, - MachineFunction &MF, StringRef Src, - const PerFunctionMIParsingState &PFS, - const SlotMapping &IRSlots, +bool parseMachineInstructions(const PerFunctionMIParsingState &PFS, + StringRef Src, const SlotMapping &IRSlots, + SMDiagnostic &Error); + +bool parseMBBReference(const PerFunctionMIParsingState &PFS, + MachineBasicBlock *&MBB, SourceMgr &SM, + StringRef Src, const SlotMapping &IRSlots, + SMDiagnostic &Error); + +bool parseNamedRegisterReference(const PerFunctionMIParsingState &PFS, + unsigned &Reg, SourceMgr &SM, + StringRef Src, const SlotMapping &IRSlots, SMDiagnostic &Error); -bool parseVirtualRegisterReference(unsigned &Reg, SourceMgr &SM, - MachineFunction &MF, StringRef Src, - const PerFunctionMIParsingState &PFS, - const SlotMapping &IRSlots, +bool parseVirtualRegisterReference(const PerFunctionMIParsingState &PFS, + unsigned &Reg, SourceMgr &SM, + StringRef Src, const SlotMapping &IRSlots, SMDiagnostic &Error); -bool parseStackObjectReference(int &FI, SourceMgr &SM, MachineFunction &MF, - StringRef Src, - const PerFunctionMIParsingState &PFS, +bool parseStackObjectReference(const PerFunctionMIParsingState &PFS, + int &FI, SourceMgr &SM, StringRef Src, const SlotMapping &IRSlots, SMDiagnostic &Error); -bool parseMDNode(MDNode *&Node, SourceMgr &SM, MachineFunction &MF, - StringRef Src, const PerFunctionMIParsingState &PFS, - const SlotMapping &IRSlots, SMDiagnostic &Error); +bool parseMDNode(const PerFunctionMIParsingState &PFS, MDNode *&Node, + SourceMgr &SM, StringRef Src, const SlotMapping &IRSlots, + SMDiagnostic &Error); } // end namespace llvm |