[LLVMdev] [lld] Modeling ELF FileNodes/ControlNodes (Group's) in lld

Michael Spencer bigcheesegs at gmail.com
Wed Sep 4 15:50:10 PDT 2013


On Wed, Sep 4, 2013 at 2:04 PM, Nick Kledzik <kledzik at apple.com> wrote:

> I do think we have too many classes.  I thought InputGraph was going to
> replace InputFiles.  It seems link LinkerInput could be merged into
> FileNode.
>
> Originally InputFiles was the abstract interface that he Resolver used to
> see all the inputs.  If InputGraph supported the methods
>  forEachInitalAtom() and searchLibraries() then we could get rid of
> InputFiles and have the Resolver uses InputGraph directly.
>

This is how I imaginged it would work.

- Michael Spencer


>
> What should the interface be that the Resolver uses for handling groups?
>
> -Nick
>
> On Sep 4, 2013, at 1:42 PM, Shankar Easwaran <shankare at codeaurora.org>
> wrote:
>
> > Hi,
> >
> > With the inputGraph now, lld models command line options, input files as
> nodes in the InputGraph called InputElements.
> >
> > In the current approach, each InputElement is converted to a
> LinkerInput, which works if all lld deals with individual files.
> >
> > Dealing with ControlNodes (Groups), have a problem with it, on how to
> model that as a LinkerInput.
> >
> > Joerg/Me were chatting on the IRC about this and we came up with the
> following approach.
> >
> > - LinkerInput will contain a single file(lld::File), if the node that
> its pointing to appears to be a FileNode
> > - LinkerInput will contain a vector(lld::Group) of files(lld::Files) ,
> if the node that its pointing appears to be a Group
> >
> > The resolver would need to be modified to consider lld::Groups in
> addition to lld::File.
> >
> > Does this sound like the approach we want to take ?
> >
> > Thanks
> >
> > Shankar Easwaran
> >
> > --
> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by the Linux Foundation
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130904/6ccd9e27/attachment.html>


More information about the llvm-dev mailing list