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]

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
--


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