[PATCH] D16124: Add to the split module utility an SCC based method which allows not to globalize any local variables.

Sergei Larin via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 15:54:44 PST 2016


See my next reply... 

In here I can add that linker script can be written to appropriate _all_ objects from a certain library to a specified section... then a post-processing steps might look through the final binary expecting to find certain section with certain context in it. Reglobalization reliably breaks this for us...

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


> -----Original Message-----
> From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com]
> Sent: Tuesday, January 12, 2016 5:48 PM
> To: Sergei Larin
> Cc: reviews+D16124+public+8c11b3375e797d47 at reviews.llvm.org;
> peter at pcc.me.uk; mehdi_amini at apple.com; llvm-commits at lists.llvm.org
> Subject: Re: [PATCH] D16124: Add to the split module utility an SCC based
> method which allows not to globalize any local variables.
> 
> This looks like a good motivation to me :)
> 
> I’d rename them just like we do for ThinLTO, but I’m not sure what you mean
> by "our customers might rely on presence of specific symbols”, this is only for
> external symbol right?
> 
>> Mehdi
> 
> 
> > On Jan 12, 2016, at 3:45 PM, Sergei Larin via llvm-commits <llvm-
> commits at lists.llvm.org> wrote:
> >
> > Mehdi,
> >
> >  I think Tobias beat me to the answer - at the least we can have linker
> errors if we try to blindly globalize locals with identical names. Renaming
> them will not always work either, since our customers might rely on presence
> of specific symbols in the final image... There are also other reasons for that,
> but correctness of at least some corner cases seems like a hard justification
> on its own :-)
> >
> > Welcome to the embedded world :) :) :)
> >
> > Sergei
> >
> > ---
> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
> >
> >
> >> -----Original Message-----
> >> From: Mehdi AMINI [mailto:mehdi.amini at apple.com]
> >> Sent: Tuesday, January 12, 2016 4:29 PM
> >> To: slarin at codeaurora.org; peter at pcc.me.uk
> >> Cc: mehdi_amini at apple.com; tobias at codeaurora.org; llvm-
> >> commits at lists.llvm.org
> >> Subject: Re: [PATCH] D16124: Add to the split module utility an SCC based
> >> method which allows not to globalize any local variables.
> >>
> >> joker.eph added a comment.
> >>
> >> What is the issue with the current globalization? You mentioned that it
> >> "might not be desirable in some scenarios", can you elaborate?
> >>
> >>
> >> ================
> >> Comment at: include/llvm/CodeGen/ParallelCG.h:41
> >> @@ +40,3 @@
> >> +        SplitFunction,
> >> +    Reloc::Model RM = Reloc::Default, CodeModel::Model CM =
> >> CodeModel::Default,
> >> +    CodeGenOpt::Level OL = CodeGenOpt::Default,
> >> ----------------
> >> The added argument would probably benefit some documentation.
> >>
> >>
> >> http://reviews.llvm.org/D16124
> >>
> >>
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list