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

Shankar Easwaran shankare at codeaurora.org
Wed Sep 4 14:32:50 PDT 2013


Hi Nick,

On 9/4/2013 4:04 PM, Nick Kledzik wrote:
> I do think we have too many classes.
Agree.
>   I thought InputGraph was going to replace InputFiles.
Interesting idea.
>   It seems link LinkerInput could be merged into FileNode.
Agree.
>
> 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.
Yes, this would be nice. I will try to write a proposal in the next few 
days.
> What should the interface be that the Resolver uses for handling groups?
bool resolveUndefines(std::vector<File> &files) ?

This has to iterate over the files until it reaches a stable point (that 
no more resolution is possible).

Thanks

Shankar Easwaran
>
> -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
>
>


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation




More information about the llvm-dev mailing list