This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix code hoisting dataflow computation order
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: "Steven Bosscher" <stevenb dot gcc at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 1 Nov 2007 11:16:52 +0100
- Subject: Re: [PATCH] Fix code hoisting dataflow computation order
- References: <571f6b510710281437j6fe3304h421b035af5fceaae@mail.gmail.com>
> The computation of VBEIN and VBEOUT in gcse.c's code hoisting
> implementation appears to be performed in the wrong order, if you ask me.
>
> The explanation is in my list of issues with gcc's code hoisting
> implementation, see
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33828#c9
This seems quite obvious now. :-) Thanks for spotting it.
> With the attached patch, compute_code_hoist_vbeinout() does converge
> in two iterations for the test case in that Bugzilla comment.
>
> This patch has not been properly tested yet. I'm posting it mostly
> because this is such an embarrassing mistake, and because this might
> be acceptable for gcc 4.3 as a bug fix (there should be a noticeable
> compiler speed improvement when compiling large functions with -Os).
Yes, I think it's reasonable for 4.3.
> If someone wants to pick this up and give it the necessary TLC to get
> it into the FSF gcc,, please go ahead :-)
I'm going to try an -Os bootstrap w/ and w/o the change.
--
Eric Botcazou