summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIR/MIRPrinter.h
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2015-05-21 20:54:45 +0000
committerAlex Lorenz <arphaman@gmail.com>2015-05-21 20:54:45 +0000
commitc37baf82a92ab6c1359a137862734c3dfe129472 (patch)
tree3c9897868b3768e241acf84b9887bdff6c1ea830 /llvm/lib/CodeGen/MIR/MIRPrinter.h
parente034a04e4fbfd9a1919d21600cb61eee0112a511 (diff)
downloadbcm5719-llvm-c37baf82a92ab6c1359a137862734c3dfe129472.tar.gz
bcm5719-llvm-c37baf82a92ab6c1359a137862734c3dfe129472.zip
Resubmit r237708 (MIR Serialization: print and parse LLVM IR using MIR format).
This commit is a 2nd attempt at committing the initial MIR serialization patch. The first commit (r237708) made the incremental buildbots unstable and was reverted in r237730. The original commit didn't add a terminating null character to the LLVM IR source which was passed to LLParser, and this sometimes caused the test 'llvmIR.mir' to fail with a parsing error because the LLVM IR source didn't have a null character immediately after the end and thus LLLexer encountered some garbage characters that ultimately caused the error. This commit also includes the other test fixes I committed in r237712 (llc path fix) and r237723 (remove target triple) which also got reverted in r237730. --Original Commit Message-- MIR Serialization: print and parse LLVM IR using MIR format. This commit is the initial commit for the MIR serialization project. It creates a new library under CodeGen called 'MIR'. This new library adds a new machine function pass that prints out the LLVM IR using the MIR format. This pass is then added as a last pass when a 'stop-after' option is used in llc. The new library adds the initial functionality for parsing of MIR files as well. This commit also extends the llc tool so that it can recognize and parse MIR input files. Reviewers: Duncan P. N. Exon Smith, Matthias Braun, Philip Reames Differential Revision: http://reviews.llvm.org/D9616 llvm-svn: 237954
Diffstat (limited to 'llvm/lib/CodeGen/MIR/MIRPrinter.h')
-rw-r--r--llvm/lib/CodeGen/MIR/MIRPrinter.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MIR/MIRPrinter.h b/llvm/lib/CodeGen/MIR/MIRPrinter.h
new file mode 100644
index 00000000000..2e6d645af71
--- /dev/null
+++ b/llvm/lib/CodeGen/MIR/MIRPrinter.h
@@ -0,0 +1,29 @@
+//===- MIRPrinter.h - MIR serialization format printer --------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the function that prints out the LLVM IR using the MIR
+// serialization format.
+// TODO: Print out machine functions.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIB_CODEGEN_MIR_MIRPRINTER_H
+#define LLVM_LIB_CODEGEN_MIR_MIRPRINTER_H
+
+namespace llvm {
+
+class Module;
+class raw_ostream;
+
+/// Print LLVM IR using the MIR serialization format to the given output stream.
+void printMIR(raw_ostream &OS, const Module &Mod);
+
+} // end namespace llvm
+
+#endif
OpenPOWER on IntegriCloud