re PR tree-optimization/56321 (ICE:segfault in midend for -funsafe-math-optimizations -O3)

2013-02-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56321
	* tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
	order SSA name release and virtual operand unlinking.

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

From-SVN: r196117
This commit is contained in:
Richard Biener 2013-02-18 12:11:47 +00:00 committed by Richard Biener
parent 8fe196a207
commit 5e97dfb679
4 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2013-02-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/56321
* tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
order SSA name release and virtual operand unlinking.
2013-02-17 Edgar E. Iglesias <edgar.iglesias@gmail.com>
* config/microblaze/microblaze.md (save_stack_block): Define.

View File

@ -1,3 +1,8 @@
2013-02-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/56321
* gcc.dg/torture/pr56321.c: New testcase.
2013-02-16 Edgar E. Iglesias <edgar.iglesias@gmail.com>
* gcc.dg/20020312-2.c: Define MicroBlaze PIC register

View File

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-ffast-math" } */
void foo(int n, int nreps, float tdgefa, float tdgesl)
{
float kflops,ops;
ops=((2.0*n*n*n)/3.0+2.0*n*n);
kflops=2.*nreps*ops/(1000.*(tdgefa+tdgesl));
__builtin_printf ("%f\n", kflops);
}

View File

@ -1062,11 +1062,9 @@ propagate_op_to_single_use (tree op, gimple stmt, tree *def)
if (TREE_CODE (op) != SSA_NAME)
update_stmt (use_stmt);
gsi = gsi_for_stmt (stmt);
unlink_stmt_vdef (stmt);
gsi_remove (&gsi, true);
release_defs (stmt);
if (is_gimple_call (stmt))
unlink_stmt_vdef (stmt);
}
/* Walks the linear chain with result *DEF searching for an operation