This simply prevents valgrind from complaining about an invalid read when 
pass_free_cfg::execute calls df_analyze for targets with delay slots, because 
var_location instructions are present in the RTL stream at this point.

Tested on x86_64-suse-linux, applied on the mainline as obvious.


2016-06-09  Eric Botcazou  <ebotca...@adacore.com>

        * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.

-- 
Eric Botcazou
Index: df-problems.c
===================================================================
--- df-problems.c	(revision 237165)
+++ df-problems.c	(working copy)
@@ -3498,13 +3498,13 @@ df_note_bb_compute (unsigned int bb_inde
 
   FOR_BB_INSNS_REVERSE (bb, insn)
     {
+      if (!INSN_P (insn))
+	continue;
+
       df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
       df_mw_hardreg *mw;
       int debug_insn;
 
-      if (!INSN_P (insn))
-	continue;
-
       debug_insn = DEBUG_INSN_P (insn);
 
       bitmap_clear (do_not_gen);

Reply via email to