[llvm-commits] [lld] r153589 - in /lld/trunk: include/lld/Core/Pass.h include/lld/Core/Platform.h include/lld/Platform/Platform.h lib/Passes/GOTPass.cpp lib/Passes/StubsPass.cpp tools/lld-core/lld-core.cpp

Chandler Carruth chandlerc at google.com
Wed Mar 28 17:04:53 PDT 2012


On Wed, Mar 28, 2012 at 4:57 PM, Michael Spencer <bigcheesegs at gmail.com>wrote:

> On Wed, Mar 28, 2012 at 4:37 PM, Chandler Carruth <chandlerc at google.com>
> wrote:
> > On Wed, Mar 28, 2012 at 11:49 AM, Michael J. Spencer <
> bigcheesegs at gmail.com>
> > wrote:
> >>
> >> Move Platform.h to Core as Core depends on Platform.h, and the Platform
> >> library depends on Core. This breaks that cycle.
> >
> >
> > Really? It sounds like it papers over the cycle. I suspect Core should
> not
> > depend on Platform.h if the Platform library depends on Core.
>
> I agree that it's weird. It's used by the Resolver and SymbolTable. I
> suppose these should be split out of Core.
>

I've not looked at all at these interfaces, so I really don't know.

If this is just a pure Platform interface with no implementation at all,
then perhaps it does indeed belong in Core. However, if that's what it is,
then I don't entirely understand what the "Platform" library is. Maybe the
Platform library is the library providing various different implementations
of this interface? If so, I would expect it more to be N libraries, with
each named after the particular implementation.

I should probably stop chiming in until I look through the code. I just
wanted something more than "move the header" to explain what was going on
here, lest we develop the really circular and confusing dependency tangle
here that we are stuck with currently in LLVM proper (VMCore vs. Support,
Target vs. CodeGen vs. Target/X86).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120328/2f106bdd/attachment.html>


More information about the llvm-commits mailing list