summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIRParser/MIParser.h
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2015-06-26 16:46:11 +0000
committerAlex Lorenz <arphaman@gmail.com>2015-06-26 16:46:11 +0000
commit33f0aef32f92efe150ae18a9a5d2678a064517a3 (patch)
tree469e6267d09a320280b813753c89e61e5e437a83 /llvm/lib/CodeGen/MIRParser/MIParser.h
parenta67e50c301fc0bf2a0e84a819408354b38e51580 (diff)
downloadbcm5719-llvm-33f0aef32f92efe150ae18a9a5d2678a064517a3.tar.gz
bcm5719-llvm-33f0aef32f92efe150ae18a9a5d2678a064517a3.zip
MIR Serialization: Serialize machine basic block operands.
This commit serializes machine basic block operands. The machine basic block operands use the following syntax: %bb.<id>[.<name>] This commit also modifies the YAML representation for the machine basic blocks - a new, required field 'id' is added to the MBB YAML mapping. The id is used to resolve the MBB references to the actual MBBs. And while the name of the MBB can be included in a MBB reference, this name isn't used to resolve MBB references - as it's possible that multiple MBBs will reference the same BB and thus they will have the same name. If the name is specified, the parser will verify that it is equal to the name of the MBB with the specified id. Reviewers: Duncan P. N. Exon Smith Differential Revision: http://reviews.llvm.org/D10608 llvm-svn: 240792
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.h')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.h b/llvm/lib/CodeGen/MIRParser/MIParser.h
index b55d70a199b..5bb0570856c 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.h
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.h
@@ -14,17 +14,21 @@
#ifndef LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H
#define LLVM_LIB_CODEGEN_MIRPARSER_MIPARSER_H
+#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringRef.h"
namespace llvm {
+class MachineBasicBlock;
class MachineInstr;
class MachineFunction;
class SMDiagnostic;
class SourceMgr;
-MachineInstr *parseMachineInstr(SourceMgr &SM, MachineFunction &MF,
- StringRef Src, SMDiagnostic &Error);
+MachineInstr *
+parseMachineInstr(SourceMgr &SM, MachineFunction &MF, StringRef Src,
+ const DenseMap<unsigned, MachineBasicBlock *> &MBBSlots,
+ SMDiagnostic &Error);
} // end namespace llvm
OpenPOWER on IntegriCloud