This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]