On Wed, Sep 13, 2017 at 6:11 PM, Nikos Chantziaras <rea...@gmail.com> wrote: > On 12/09/17 16:57, Wilco Dijkstra wrote: >> >> [...] As a result users are >> required to enable several additional optimizations by hand to get good >> code. >> Other compilers enable more optimizations at -O2 (loop unrolling in LLVM >> was >> mentioned repeatedly) which GCC could/should do as well. >> [...] >> >> I'd welcome discussion and other proposals for similar improvements. > > > What's the status of graphite? It's been around for years. Isn't it mature > enough to enable these: > > -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block > > by default for -O2? (And I'm not even sure those are the complete set of > graphite optimization flags, or just the "useful" ones.)
It's not on by default at any optimization level. The main issue is the lack of maintainance and a set of known common internal compiler errors we hit. The other issue is that there's no benefit of turning those on for SPEC CPU benchmarking as far as I remember but quite a bit of extra compile-time cost. Richard.