Jim Grosbach
2015-Feb-27 23:06 UTC
[LLVMdev] [RFC] AArch64: Should we disable GlobalMerge?
> On Feb 27, 2015, at 2:15 PM, Ahmed Bougacha <ahmed.bougacha at gmail.com> wrote: > > On Fri, Feb 27, 2015 at 2:01 PM, Renato Golin <renato.golin at linaro.org> wrote: >> On 27 February 2015 at 21:26, Ahmed Bougacha <ahmed.bougacha at gmail.com> wrote: >>> Which brings us to my fallback proposal: what about disabling the >>> pass on darwin only? >> >> That's a decision for Jim/Evan. I'm ok if they are. > > Jim, thoughts?I would prefer Darwin not differ in this regard, but I don’t feel incredibly strongly about it. Just a general preference to keeping platform dependencies and differences to a minimum. Whatever y’all decide is fine with me.> >> >>> As for other targets, as a first step, making the pass run under -O3 >>> rather than -O1 is hopefully agreeable to everyone? >> >> Sounds reasonable. > > Great! > >> Even though it conflicts with LTO, that's what O3 means, as you said, >> instability. People at O3 might want to fiddle with the passes >> (on/off) to get the best performance for their own code/workload. > > By the way, I'm not convinced LTO being either -O3 or -O0 is sensible. > But that's a discussion for another day =) > > -Ahmed > >> cheers, >> --renato
Ahmed Bougacha
2015-Feb-27 23:20 UTC
[LLVMdev] [RFC] AArch64: Should we disable GlobalMerge?
On Fri, Feb 27, 2015 at 3:06 PM, Jim Grosbach <grosbach at apple.com> wrote:> I would prefer Darwin not differ in this regard, but I don’t feel incredibly strongly about it. Just a general preference to keeping platform dependencies and differences to a minimum.Same.> Whatever y’all decide is fine with me.We might not need this after all =) With a module-level flag, we could only enable it under -O3 even for LTO, which is fine no matter the platform. -Ahmed
Ahmed Bougacha
2015-Feb-28 02:59 UTC
[LLVMdev] [RFC] AArch64: Should we disable GlobalMerge?
On Fri, Feb 27, 2015 at 3:20 PM, Ahmed Bougacha <ahmed.bougacha at gmail.com> wrote:> We might not need this after all =) With a module-level flag, we > could only enable it under -O3 even for LTO, which is fine no matter > the platform.Done, in: clang: http://reviews.llvm.org/D7968 LLVM: http://reviews.llvm.org/D7969 The clang patch also only enables the pass with -O3 on AArch64. I kept -O1 for ARM because I need to do some sanity checks, but the goal is to have it enabled on both AArch64 and ARM only with -O3. -Ahmed
Ahmed Bougacha
2015-Mar-23 21:29 UTC
[LLVMdev] [RFC] AArch64: Should we disable GlobalMerge?
Alright, I switched both AArch64 and ARM (which looks about the same) to enable GlobalMerge with -O3 rather than -O1, in r233024. There are recent LTO changes that should take care of the opt-level issue, so that part should be covered as well. As for actual improvements, I submitted some patches (though not for the module pass issue yet), we'll see how that goes. Thanks all! -Ahmed
Jim Grosbach
2015-Mar-23 21:45 UTC
[LLVMdev] [RFC] AArch64: Should we disable GlobalMerge?
Nice! Thanks, Ahmed.> On Mar 23, 2015, at 2:29 PM, Ahmed Bougacha <ahmed.bougacha at gmail.com> wrote: > > Alright, I switched both AArch64 and ARM (which looks about the same) > to enable GlobalMerge with -O3 rather than -O1, in r233024. There are > recent LTO changes that should take care of the opt-level issue, so > that part should be covered as well. > > As for actual improvements, I submitted some patches (though not for > the module pass issue yet), we'll see how that goes. > > Thanks all! > > -Ahmed