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]

[PATCH] Fix freefem ICE


Freefem ICEs in SCCVN because I forgot a continue.  Oops.

Bootstrapped and tested on x86_64-unknown-linux-gnu,, applied to trunk.

Richard.

2009-04-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (valueize_refs): Do not continue to
	valueize random data.

Index: gcc/tree-ssa-sccvn.c
===================================================================
*** gcc/tree-ssa-sccvn.c	(revision 145753)
--- gcc/tree-ssa-sccvn.c	(working copy)
*************** valueize_refs (VEC (vn_reference_op_s, h
*** 833,839 ****
  	  if (i > 0 && TREE_CODE (vro->op0) == ADDR_EXPR
  	      && VEC_index (vn_reference_op_s,
  			    orig, i - 1)->opcode == INDIRECT_REF)
! 	    vn_reference_fold_indirect (&orig, &i);
  	}
        if (vro->op1 && TREE_CODE (vro->op1) == SSA_NAME)
  	vro->op1 = SSA_VAL (vro->op1);
--- 833,842 ----
  	  if (i > 0 && TREE_CODE (vro->op0) == ADDR_EXPR
  	      && VEC_index (vn_reference_op_s,
  			    orig, i - 1)->opcode == INDIRECT_REF)
! 	    {
! 	      vn_reference_fold_indirect (&orig, &i);
! 	      continue;
! 	    }
  	}
        if (vro->op1 && TREE_CODE (vro->op1) == SSA_NAME)
  	vro->op1 = SSA_VAL (vro->op1);


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