tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p before declaring inequality.

2007-07-03  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
	before declaring inequality.

From-SVN: r126252
This commit is contained in:
Daniel Berlin 2007-07-03 12:55:13 +00:00 committed by Daniel Berlin
parent b6bcd67696
commit 78d3c323b9
4 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-07-03 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
before declaring inequality.
2007-07-03 Rask Ingemann Lambertsen <rask@sygehus.dk>
* combine.c (recog_for_combine): Log the success or failure of

View File

@ -1,3 +1,7 @@
2007-07-02 Daniel Berlin <dberlin@dberlin.org>
* gcc.c-torture/compile/ssa-pre-1.c: New test.
2007-07-03 Tobias Burnus <burnus@net-b.de>
PR fortran/20888

View File

@ -0,0 +1,19 @@
void washQtoM3(double m[9], double q[4]);
double sqrt(double);
int f(int samp)
{
double clp[2], xyz[3], q[4], len;
double mRF[9];
int xi;
for (xi=0; xi<samp; xi++)
{
q[0] = 1.0;
q[1] = ( ((double)(1)-(-1))*((double)((float)xi)-(-0.5)) / ((double)(samp-0.5)-(-0.5)) + (-1));
q[2] = ( ((double)(1)-(-1))*((double)((float)0)-(-0.5)) / ((double)(samp-0.5)-(-0.5)) + (-1));
q[3] = ( ((double)(1)-(-1))*((double)((float)0)-(-0.5)) / ((double)(samp-0.5)-(-0.5)) + (-1));
len = (sqrt((((q))[0]*((q))[0] + ((q))[1]*((q))[1] + ((q))[2]*((q))[2] + ((q))[3]*((q))[3])));
((q)[0] = (q)[0]*1.0/len, (q)[1] = (q)[1]*1.0/len, (q)[2] = (q)[2]*1.0/len, (q)[3] = (q)[3]*1.0/len);
washQtoM3(mRF, q);
}
return 0;
}

View File

@ -1014,6 +1014,7 @@ print_scc (FILE *out, VEC (tree, heap) *scc)
static inline bool
set_ssa_val_to (tree from, tree to)
{
tree currval;
gcc_assert (to != NULL);
/* Make sure we don't create chains of copies, so that we get the
@ -1037,7 +1038,9 @@ set_ssa_val_to (tree from, tree to)
fprintf (dump_file, "\n");
}
if (SSA_VAL (from) != to)
currval = SSA_VAL (from);
if (currval != to && !operand_equal_p (currval, to, OEP_PURE_SAME))
{
SSA_VAL (from) = to;
return true;