This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Ensure notes are correct in loop-iv (PR rtl-optimization/40209)
- From: Neil Vachharajani <nvachhar at google dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: ian at airs dot com, Diego Novillo <dnovillo at google dot com>
- Date: Thu, 23 Jul 2009 18:57:59 +0000
- Subject: Ensure notes are correct in loop-iv (PR rtl-optimization/40209)
Various code in loop-iv makes use of single_set. ?single_set uses the
REG_UNUSED note to return one set in a parallel set if all but one are
unused. ?This patch ensures that the notes are correct by adding the
note problem before calling df_analyze. ?PR 40209 has a test case
which causes an ICE due to this bug. ?The bug is not triggered on
trunk because previous optimization phases catch the opportunity that
previously was captured by GCSE. ?The bug is triggered for GCC 4.4.x.
I have verified that this patch fixes the ICE for GCC 4.4.x.
Bootstrapped/regtested on x86_64-linux and i686-linux, verified the
ICE is fixed with a 4.4.0 compiler. ?Ok for trunk?
2009-07-23 ?Neil Vachharajani ?<nvachhar@google.com>
? ? ? ?PR rtl-optimization/40573
? ? ? ?* loop-iv.c (iv_analysis_loop_init): Call df_note_add_problem.
--- loop-iv.c.orig ? 2009-07-22 10:57:51.000000000 -0700
+++ gcc/loop-iv.c ? ? 2009-07-22 10:44:33.616407305 -0700
@@ -278,6 +278,7 @@
? df_remove_problem (df_chain);
? df_process_deferred_rescans ();
? df_chain_add_problem (DF_UD_CHAIN);
+ ?df_note_add_problem ();
? df_set_blocks (blocks);
? df_analyze ();
? if (dump_file)