[PATCH] Adding a timing option for IR parsing

Chandler Carruth chandlerc at google.com
Thu Mar 21 19:24:53 PDT 2013


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.

-Chandler


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/4ef553ef/attachment.html>


More information about the llvm-commits mailing list