[Diffusion] rL237954: Resubmit r237708 (MIR Serialization: print and parse LLVM IR using MIR format).

Alex L arphaman at gmail.com
Fri May 22 14:11:50 PDT 2015


2015-05-22 11:00 GMT-07:00 Duncan P. N. Exon Smith <dexonsmith at apple.com>:

> Why not move the machine IR state into lib/CodeGen/MIR?  Then it
> won't depend on lib/CodeGen.
>

While moving the cpp files for MachineFunction, MachineBasicBlock, etc. to
MIR
would be easy, moving the headers will require changes to all the targets.
At the same time the headers
can stay under CodeGen just like the header file for AsmPrinter, but I
would prefer either to move
everything or move nothing at all. I attached a patch below that moves the
necessary files from CodeGen
to a new library called MIR, but I don't think this kind of change will be
accepted.

I think the best approach here would be to move everything from CodeGen/MIR
to CodeGen so that
the serialization will be inside of a CodeGen library. The approach that I
outlined in my previous email where
only the MIRParser is a separate library should also work.

Cheers,
Alex.


>
> > On 2015 May 22, at 09:38, Alex L <arphaman at gmail.com> wrote:
> >
> > Hi,
> >
> > I'm not sure if it would possible to break this circular dependency.
> >
> > LLVMMIR has to depend on LLVMCodeGen as it needs to access all the
> machine IR state.
> > But at the same time LLVMCodeGen has to connect to LLVMMIR to create a
> printing pass and
> > then later to parse the machine functions, as llc does all the pass
> setup with LLVMCodeGen.
> >
> > If this dependency is a problem maybe LLVMMIR should be a part of
> LLVMCodeGen?
> >
> > Alex.
> >
> > 2015-05-22 7:48 GMT-07:00 NAKAMURA Takumi <geek4civic at gmail.com>:
> > Reverted in r238007. Could you reorganize MIR to dissolve dependencies
> between LLVMCodeGen and LLVMMIR?
> >
> >
> > /llvm/trunk/lib/CodeGen/MIR/MIRPrintingPass.cpp:18 This depends on
> LLVMCodeGen.
> > /llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp:153 This depends on
> LLVMMIR.
> > /llvm/trunk/include/llvm/CodeGen/Passes.h:379 I suggest it might be
> logically in include/llvm/CodeGen/MIR.
> >
> > USERS
> >   arphaman (Author)
> >
> > http://reviews.llvm.org/rL237954
> >
> > EMAIL PREFERENCES
> >   http://reviews.llvm.org/settings/panel/emailpreferences/
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150522/a86fbb71/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mir-move.patch
Type: application/octet-stream
Size: 1367088 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150522/a86fbb71/attachment.obj>


More information about the llvm-commits mailing list