On Thu, Jan 29, 2009 at 1:06 PM, Vladimir Makarov <vmakarov@redhat.com> wrote:
H.J. Lu wrote:
On Thu, Jan 29, 2009 at 12:32 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
No, regmove for IRA does the same as before the patch.
Revision 143757 changed regmove.c:
/* We need fewer optimizations for IRA. */
- if ((! flag_regmove || flag_ira) && pass >=
flag_expensive_optimizations)
+ if (! flag_regmove && pass >= flag_expensive_optimizations)
goto done;
Since flag_regmove is 1 at -O2, remove flag_ira does change IRA code
generation.
FWIW, I am not against this change since it does fixes PR 37364.
I am running SPEC CPU 2K/2006 with revision 143757 on ia32
and Intel64.
I am not against it too :) Actually it was my intention to do this
originally. No harm to do some optimizations twice. I only wanted to
remove optimizations which is done by IRA. But it looks that I did a
stupid mistake and switched the second pass off for optimizations which
should work with IRA.
Shouldn't we remove the obsolete comments:
Index: regmove.c
===================================================================
--- regmove.c (revision 143757)
+++ regmove.c (working copy)
@@ -1089,7 +1089,6 @@ regmove_optimize (rtx f, int nregs)
for (pass = 0; pass <= 2; pass++)
{
- /* We need fewer optimizations for IRA. */
if (! flag_regmove && pass >= flag_expensive_optimizations)
goto done;