------- Additional Comments From law at redhat dot com 2004-12-13 23:00 ------- Subject: Re: [4.0 regression] ICE: tree check: expected ssa_name, have addr_expr in vrp_hash
On Mon, 2004-12-13 at 22:38 +0000, pinskia at gcc dot gnu dot org wrote: > ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-13 > 22:38 ------- > This patch fixes the problem but I don't know if it is the correct fix: > Index: tree-ssa-dom.c > =============================================================== > ==== > RCS file: /cvs/gcc/gcc/gcc/tree-ssa-dom.c,v > retrieving revision 2.80 > diff -u -p -r2.80 tree-ssa-dom.c > --- tree-ssa-dom.c 13 Dec 2004 20:12:33 -0000 2.80 > +++ tree-ssa-dom.c 13 Dec 2004 22:35:50 -0000 > @@ -3265,6 +3265,9 @@ record_range (tree cond, basic_block bb) > struct vrp_element *element; > varray_type *vrp_records_p; > void **slot; > + > + if (TREE_CODE (TREE_OPERAND (cond, 0)) != SSA_NAME) > + return; > > > vrp_hash_elt = xmalloc (sizeof (struct vrp_hash_elt)); So what does the condition look like? I don't think we should be getting into this code with anything other than an SSA_NAME as the first argument in a COND_EXPR. An analysis of the problem is a lot more useful to me than a patch with no analysis. jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18968