Commit 09fdb701 by Richard Biener Committed by Richard Biener

re PR tree-optimization/82320 (Compile time hog w/ -O)

2017-09-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82320
	* tree-ssa-sccvn.c (set_ssa_val_to): Changing undef to undef
	isn't a change.

	* gcc.dg/torture/pr82320.c: New testcase.

From-SVN: r253188
parent df2a1a26
2017-09-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/82320
* tree-ssa-sccvn.c (set_ssa_val_to): Changing undef to undef
isn't a change.
2017-09-25 Jeff Law <law@redhat.com>
* config/rs6000/rs6000-protos.h (output_probe_stack_range): Update
2017-09-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/82320
* gcc.dg/torture/pr82320.c: New testcase.
2017-09-26 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp (check_effective_target_vect_hw_misalign):
......
/* { dg-do compile } */
void
ec (int n4, short int ea)
{
if (1)
{
if (ea != 0)
{
int *c1 = (int *)&ea;
nn:
for (;;)
++*c1;
}
}
else
{
int *lq = &n4;
int *md;
int da;
goto nn;
r1:
md = lq;
for (da = 0; da < 1; ++da)
{
ig:
++n4;
*md += n4;
}
}
for (ea = 0; ea < 1; ++ea)
goto r1;
goto ig;
}
......@@ -3355,6 +3355,12 @@ set_ssa_val_to (tree from, tree to)
if (currval != to
&& !operand_equal_p (currval, to, 0)
/* Different undefined SSA names are not actually different. See
PR82320 for a testcase were we'd otherwise not terminate iteration. */
&& !(TREE_CODE (currval) == SSA_NAME
&& TREE_CODE (to) == SSA_NAME
&& ssa_undefined_value_p (currval, false)
&& ssa_undefined_value_p (to, false))
/* ??? For addresses involving volatile objects or types operand_equal_p
does not reliably detect ADDR_EXPRs as equal. We know we are only
getting invariant gimple addresses here, so can use
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment