This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR29446, VRP ICE
- From: Roger Sayle <roger at eyesopen dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 13 Oct 2006 11:33:48 -0600 (MDT)
- Subject: Re: [PATCH] Fix PR29446, VRP ICE
On Fri, 13 Oct 2006, Richard Guenther wrote:
> 2006-10-13 Richard Guenther <rguenther@suse.de>
>
> PR tree-optimization/29446
> * tree-vrp.c (fix_equivalence_set): Remove.
> (extract_range_from_assert): Do not call fix_equivalence_set.
> (debug_value_range): Print a newline.
> (compare_name_with_value): For equivalence sets with
> inconsistent value ranges conservatively bail out.
> (compare_names): Likewise.
>
> * gcc.dg/torture/pr29446.c: New testcase.
This is OK for mainline. I like the idea of a tri-state result; true,
false and don't-know. I'm not as convinced about a fourth-state for
inconsistent, as (as you've pointed out), this normally reflects that
we just haven't performed a clean-up yet. I think its better to do
as little as possible ("first do no harm") in code that is unreachable
and scheduled for deletion.
Thanks for fixing this.
Roger
--