MIR Serialization: print and parse LLVM IR using MIR format.
authorAlex Lorenz <arphaman@gmail.com>
Tue, 19 May 2015 18:17:39 +0000 (18:17 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Tue, 19 May 2015 18:17:39 +0000 (18:17 +0000)
commitc5e0d4d146bed47b4e306b8f9fa0a2766d14a641
treead7b2580b67bd1764285c10a094acd7794b129fd
parent17a75d61b95fdc99edc7058aa87fa87d35cdeca4
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: 237708
21 files changed:
llvm/include/llvm/CodeGen/MIR/MIRParser.h [new file with mode: 0644]
llvm/include/llvm/CodeGen/Passes.h
llvm/include/llvm/InitializePasses.h
llvm/include/llvm/Support/YAMLTraits.h
llvm/lib/CodeGen/CMakeLists.txt
llvm/lib/CodeGen/LLVMBuild.txt
llvm/lib/CodeGen/LLVMTargetMachine.cpp
llvm/lib/CodeGen/MIR/CMakeLists.txt [new file with mode: 0644]
llvm/lib/CodeGen/MIR/LLVMBuild.txt [new file with mode: 0644]
llvm/lib/CodeGen/MIR/MIRParser.cpp [new file with mode: 0644]
llvm/lib/CodeGen/MIR/MIRPrinter.cpp [new file with mode: 0644]
llvm/lib/CodeGen/MIR/MIRPrinter.h [new file with mode: 0644]
llvm/lib/CodeGen/MIR/MIRPrintingPass.cpp [new file with mode: 0644]
llvm/lib/CodeGen/MIR/Makefile [new file with mode: 0644]
llvm/lib/CodeGen/Makefile
llvm/lib/Support/YAMLTraits.cpp
llvm/test/CodeGen/Generic/stop-after.ll
llvm/test/CodeGen/MIR/lit.local.cfg [new file with mode: 0644]
llvm/test/CodeGen/MIR/llvmIR.mir [new file with mode: 0644]
llvm/test/CodeGen/MIR/llvmIRMissing.mir [new file with mode: 0644]
llvm/tools/llc/llc.cpp