This is the mail archive of the gcc-bugs@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]

[Bug other/55358] Valgrind errors


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55358

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-11-28
     Ever Confirmed|0                           |1

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-28 14:47:33 UTC ---
(In reply to comment #7)
> diff --git a/gcc/dse.c b/gcc/dse.c
> index f879adb..8d12e8d 100644
> --- a/gcc/dse.c
> +++ b/gcc/dse.c
> @@ -2869,7 +2869,7 @@ dse_step1 (void)
>                                  INSN_UID (s_info->redundant_reason->insn));
>                       delete_dead_store_insn (ptr);
>                     }
> -                 if (s_info)
> +                 if (ptr->store_rec && s_info)
>                     s_info->redundant_reason = NULL;
>                   free_store_info (ptr);
>                 }

Actually, I fail to see what is that if (s_info) s_info->redundant_reason =
NULL;
good for, the following free_store_info (ptr) should pool_free s_info if
delete_dead_store_insn hasn't already called free_store_info.  And it doesn't
seem that pool_alloced store info recs would rely on the field being cleared,
it seems we initialize it always:
  store_info->redundant_reason = redundant_reason;
Thus, my preference would be just drop the two lines instead.


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