[Bug tree-optimization/35805] [ira] error in start_allocno_priorities, at ira-color.c:1806

Paolo Bonzini bonzini@gnu.org
Fri Jan 2 08:16:00 GMT 2009


Kenneth Zadeck wrote:
> 2009-01-01  Kenneth Zadeck <zadeck@naturalbridge.com>
> 
>     PR rtl-optimization/35805
>     * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
>     problem if fast dce is able to remove any instructions.
>     * dce.c (dce_process_block): Fix dump message.
>    
> This patch fixes the problem.  The comment in the patch describes the
> issue.    Since this was not really a failure, it would be hard to make
> this issue into a testcase.

IIUC the bugzilla comment trail, this caused
gcc.c-torture/compile/930523-1.c to fail with --enable-checking=df;
that's already a testcase.

> Ok to commit?

Hmmm... I am not sure I like this patch, for two reasons.

1) it might incur a compile-time penalty for the sake of verification,
even with df checking disabled.  OTOH having possibly different code for
checking and non-checking compilation is even worse.

2) there are already provisions in dce.c to redo the analysis.  But they
do not get to the least fixed point because they just rebuild the local
bitmaps and iterate from the existing solution.  Instead of iterating
"while (global_changed)", we could try doing only one iteration (it's a
fast DCE after all, and the pessimistic dataflow makes me guess that
subsequent DCE iterations won't find much?) and zap the solution there.
 This has the advantage that we can skip the recomputation if
global_changed is false.

Did I miss anything?

Paolo



More information about the Gcc-patches mailing list