[PATCH] Adding a timing option for IR parsing

Andrew Trick atrick at apple.com
Thu Mar 21 20:20:07 PDT 2013


On Mar 21, 2013, at 7:24 PM, Chandler Carruth <chandlerc at google.com> wrote:

> FYI, I reverted the patch in r177695 to fix our builds. We check that layering violations don't get any worse in our build system.
> 
> Fundamentally, the existing layering problem is "worked around" but there being no implementation. As long as thats true, all the Support library is providing is a text header file. As long as it is only included into source files that are part of a library which will eventually get linked with the core library, the AsmParser library, and the BitcodeReader library, all is well. Including it into a source file in Support makes the layering violation actively worse.
> 
> I think the correct solution is to do one of two things:
> 
> 1) Create a new library which depends on both AsmParser and BitcodeReader and which can be used by opt and friends. Put IRReader here.
> 2) Fold AsmParser into the IR library (where AsmWriter already lives). Put IRReader into the BitcodeReader library.
> 
> I thought about a third option: put both AsmParser and IRReader into the BitcodeReader library. But increasingly that seems like a really gross layering.

I like option #2, but some people might not want to link in the largish parser lib.

Seems like the IR library should provide a text header IRReader.h. Anyone calling it should also link AsmParser and BitcodeReader.  I don't think we need IRReader.cpp, but if we did it would be implemented in /IR and linked in LLVMCore.

-Andy

> On Wed, Mar 20, 2013 at 9:59 PM, Chandler Carruth <chandlerc at google.com> wrote:
> 
> On Wed, Mar 20, 2013 at 8:23 PM, Andrew Trick <atrick at apple.com> wrote:
> I don't pretend to understand the layering rules. But how can someone use IRReader without linking LLVMCore? I'm not even sure why IRReader is in Support given that it needs a context.
> 
> IRReader is the layering violation. We should fix that, and then this becomes a non-problem.
> 
> And yea, I think putting the flag in the context makes a lot of sense.
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130321/4598cc04/attachment.html>


More information about the llvm-commits mailing list