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)
commit328f462f3c0f21d36f7d0a4bd222e397b1df991f
tree354f55016567e198df8a7e158b9c7d1f214cb01a
parent98fe1d290c4ed286865e0aacb93d3508dda04eb0
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237708 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/llvm/CodeGen/MIR/MIRParser.h [new file with mode: 0644]
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
include/llvm/Support/YAMLTraits.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/LLVMBuild.txt
lib/CodeGen/LLVMTargetMachine.cpp
lib/CodeGen/MIR/CMakeLists.txt [new file with mode: 0644]
lib/CodeGen/MIR/LLVMBuild.txt [new file with mode: 0644]
lib/CodeGen/MIR/MIRParser.cpp [new file with mode: 0644]
lib/CodeGen/MIR/MIRPrinter.cpp [new file with mode: 0644]
lib/CodeGen/MIR/MIRPrinter.h [new file with mode: 0644]
lib/CodeGen/MIR/MIRPrintingPass.cpp [new file with mode: 0644]
lib/CodeGen/MIR/Makefile [new file with mode: 0644]
lib/CodeGen/Makefile
lib/Support/YAMLTraits.cpp
test/CodeGen/Generic/stop-after.ll
test/CodeGen/MIR/lit.local.cfg [new file with mode: 0644]
test/CodeGen/MIR/llvmIR.mir [new file with mode: 0644]
test/CodeGen/MIR/llvmIRMissing.mir [new file with mode: 0644]
tools/llc/llc.cpp