> On Dec 19, 2015, at 8:11 AM, James Molloy <ja...@jamesmolloy.co.uk> wrote:
> 
> It's interesting to think about, but not something I'm intending to attack 
> right now. 
> 
> I mainly just wanted to know the answer to Joerg's question, and now I do :)


I missed Joerg’s question earlier, I didn’t know what you were referring to. So 
I’ll answer here: AFAIK per-function attributes do not record the optimization 
level but only some optimization attributes: minsize, optsize, option. 
A fundamental issue is that the pipeline can change between O0/O1/O2/O3, and 
this is intrinsically problematic since the pipeline cannot be “per-function” 
overall.
What we were thinking to implement would be some information at the module 
level to instruct the ThinLTO optimizer of the flags to enable/disable, 
probably in global metadata.

The CodeGenOpt::Level has the same issue that it could be used to change the 
pipeline theoretically. It is not a problem at the time since (AFAIK) the 
CodeGen pipeline is intrinsically per function, but this may change with the 
new instruction selector.

— 
Mehdi


> 
> James
> On Sat, 19 Dec 2015 at 17:17, Mehdi Amini via cfe-commits 
> <cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>> wrote:
> 
> 
> Sent from my iPhone
> 
> > On Dec 18, 2015, at 11:11 PM, James Molloy <james.mol...@arm.com 
> > <mailto:james.mol...@arm.com>> wrote:
> >
> > Hi Mehdi,
> >
> >> On 18 Dec 2015, at 23:17, Mehdi Amini <mehdi.am...@apple.com 
> >> <mailto:mehdi.am...@apple.com>> wrote:
> >>
> >> The alternative to the command line flag is to encode the optimization 
> >> level in the bitcode itself.
> >
> > You may have answered Joerg's question here - I take it this is not yet 
> > implemented?
> 
> Not implemented. We have settled on the various tradeoff. Are you interested 
> to think about this?
> --
> Mehdi
> >
> > James
> > IMPORTANT NOTICE: The contents of this email and any attachments are 
> > confidential and may also be privileged. If you are not the intended 
> > recipient, please notify the sender immediately and do not disclose the 
> > contents to any other person, use it for any purpose, or store or copy the 
> > information in any medium. Thank you.
> >
> _______________________________________________
> cfe-commits mailing list
> cfe-commits@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits 
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to