Resubmit r237954 (MIR Serialization: print and parse LLVM IR using MIR format).
authorAlex Lorenz <arphaman@gmail.com>
Wed, 27 May 2015 18:02:19 +0000 (18:02 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Wed, 27 May 2015 18:02:19 +0000 (18:02 +0000)
commit61aecc8c2398177b76888f345416efc54cb4ade2
tree2412c62cdc7ea0f4771edbedd6b9a35483d154c1
parente93c0d6817cf74fbfd1686bb3db2d1506e8e27fe
Resubmit r237954 (MIR Serialization: print and parse LLVM IR using MIR format).

This commit a 3rd attempt at comitting the initial MIR serialization patch.
The first commit (r237708) was reverted in 237730. Then the second commit
(r237954) was reverted in r238007, as the MIR library under CodeGen caused
a circular dependency where the CodeGen library depended on MIR and MIR
library depended on CodeGen.

This commit has fixed the dependencies between CodeGen and MIR by
reorganizing the MIR serialization code - the code that prints out
MIR has been moved to CodeGen, and the MIR library has been renamed
to MIRParser. Now the CodeGen library doesn't depend on the
MIRParser library, thus the circular dependency no longer exists.

--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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238341 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
include/llvm/CodeGen/MIRParser/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/MIRParser/CMakeLists.txt [new file with mode: 0644]
lib/CodeGen/MIRParser/LLVMBuild.txt [new file with mode: 0644]
lib/CodeGen/MIRParser/MIRParser.cpp [new file with mode: 0644]
lib/CodeGen/MIRParser/Makefile [new file with mode: 0644]
lib/CodeGen/MIRPrintingPass.cpp [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/CMakeLists.txt
tools/llc/LLVMBuild.txt
tools/llc/Makefile
tools/llc/llc.cpp