This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/80155] [7 regression] Performance regression with code hoisting enabled
- From: "thopre01 at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 07 Apr 2017 13:40:19 +0000
- Subject: [Bug tree-optimization/80155] [7 regression] Performance regression with code hoisting enabled
- Auto-submitted: auto-generated
- References: <bug-80155-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80155
--- Comment #28 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #27)
> On Fri, 7 Apr 2017, thopre01 at gcc dot gnu.org wrote:
>
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80155
> >
> > --- Comment #26 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> ---
> > Yes true.
> >
> > By the way, your first patch did improve things a bit. If it's not too invasive
> > could it be possible to commit it for GCC 7?
>
> It's not really in the shape for being committable. I'll see if I can
> come up with sth better early in stage1 that might be back-portable.
Thanks.
>
> > I think I'll try the approach you suggested in
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77498#c10 and see if I get some
> > better results.
>
> For this case distance is minimal already so I don't expect you can
> do anything (there's also not really separate dataflow for hoisting).
If I remember well the key in the benchmark was that the basic block where the
code was hoisted from could be reached by a much longer path. So although it
was hoisted to a direct predecessor, sometime that value had to be kept for a
very long time.