Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-21 Thread James Molloy via cfe-commits
jmolloy accepted this revision. jmolloy added a reviewer: jmolloy. jmolloy added a comment. This revision is now accepted and ready to land. Hi, As we got to the bottom of why this is actually needed, I committed this with the changes suggested by Rafael in r256146. Cheers, James Repository:

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-19 Thread Mehdi Amini via cfe-commits
> On Dec 19, 2015, at 8:11 AM, James Molloy 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 refe

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-19 Thread James Molloy via cfe-commits
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 :) James On Sat, 19 Dec 2015 at 17:17, Mehdi Amini via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > > Sent from my iPhone > > >

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-19 Thread Mehdi Amini via cfe-commits
Sent from my iPhone > On Dec 18, 2015, at 11:11 PM, James Molloy wrote: > > Hi Mehdi, > >> On 18 Dec 2015, at 23:17, Mehdi Amini 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 h

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-19 Thread James Molloy via cfe-commits
Hi Mehdi, > On 18 Dec 2015, at 23:17, Mehdi Amini 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? James IMPORTANT NOTICE: The contents of this

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Rafael Espíndola via cfe-commits
>> This introduces a meaning to -ON during the link. That normally show up by >> people passing CFLAGS when linking. > > I'm not sure what you mean? When I build clang with cake the link is driven > by clang, it will accept the O flag by not propagate it to the actual linker. > How would CFLAGS

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Mehdi Amini via cfe-commits
Sent from my iPhone > On Dec 18, 2015, at 4:06 AM, Rafael Ávila de Espíndola > wrote: > > rafael added a subscriber: rafael. > rafael added a comment. > > This introduces a meaning to -ON during the link. That normally show up by > people passing CFLAGS when linking. I'm not sure what you

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread James Molloy via cfe-commits
Hi, I'll take a look and see what actual codepath is being triggered. That might give us some insight into the current behaviour. Because like you I don't like doing things when we don't exactly know why they're necessary. James On Fri, 18 Dec 2015 at 17:48 Joerg Sonnenberger via cfe-commits < c

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Joerg Sonnenberger via cfe-commits
On Fri, Dec 18, 2015 at 05:31:45PM +, James Molloy via cfe-commits wrote: > Evidently not, at least not completely. I see codegen differences with this > patch (and at least one significant improvement). I don't mind the patch as is, but it seems to be a move in the wrong direction by hiding t

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread James Molloy via cfe-commits
Evidently not, at least not completely. I see codegen differences with this patch (and at least one significant improvement). James On Fri, 18 Dec 2015 at 16:31, Joerg Sonnenberger via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Fri, Dec 18, 2015 at 03:59:03PM +, James Molloy via cf

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Joerg Sonnenberger via cfe-commits
On Fri, Dec 18, 2015 at 03:59:03PM +, James Molloy via cfe-commits wrote: > This is about the standard generic optimizer flags. Currently when using > -flto, the backend behaves always as if "-O2" were passed (because this is > the default codegen optimization level inside the gold plugin and i

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread James Molloy via cfe-commits
Hi Joerg, This is about the standard generic optimizer flags. Currently when using -flto, the backend behaves always as if "-O2" were passed (because this is the default codegen optimization level inside the gold plugin and it's never overridden!). So CodeGenOpt::Aggressive is never picked, and th

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Joerg Sonnenberger via cfe-commits
On Fri, Dec 18, 2015 at 01:53:58PM +, James Molloy wrote: > The gold plugin understands -O0..-O3, but these are not currently being > passed to it. Is this about generic optimizer flags in the sense of things that get back to LLVM or about linker-style optimizations? Joerg __

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread James Molloy via cfe-commits
jmolloy added a comment. Hi Rafael, Thanks for the review! > This introduces a meaning to -ON during the link. That normally show up by > people passing CFLAGS when linking. Yes. The rationale is that with -flto, the link is also part of the compile. I think it's more surprising that the com

Re: [PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread Rafael Ávila de Espíndola via cfe-commits
rafael added a subscriber: rafael. rafael added a comment. This introduces a meaning to -ON during the link. That normally show up by people passing CFLAGS when linking. I think that is OK, but would like a second opinion. Comment at: lib/Driver/Tools.cpp:1815 @@ +1814,3 @@ +

[PATCH] D15641: [Driver] Pass -O* to the gold plugin via -plugin-opt

2015-12-18 Thread James Molloy via cfe-commits
jmolloy created this revision. jmolloy added a reviewer: joerg. jmolloy added a subscriber: cfe-commits. jmolloy set the repository for this revision to rL LLVM. Herald added a subscriber: joker.eph. The gold plugin understands -O0..-O3, but these are not currently being passed to it. Repository