diff options
author | Richard Guenther <rguenther@suse.de> | 2008-07-30 15:43:42 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-07-30 15:43:42 +0000 |
commit | 5f8ecf453f015c3862113b1fa22bbf0e6b03f7b9 (patch) | |
tree | 382670be0d4d0cb5420b247b45c8d6b190270f51 /gcc/tree-predcom.c | |
parent | 44bfa35b17b683a5c29dcb512b7f6ec17470ae1f (diff) | |
download | gcc-5f8ecf453f015c3862113b1fa22bbf0e6b03f7b9.zip gcc-5f8ecf453f015c3862113b1fa22bbf0e6b03f7b9.tar.gz gcc-5f8ecf453f015c3862113b1fa22bbf0e6b03f7b9.tar.bz2 |
re PR tree-optimization/36967 (segfault in is_gimple_real_type with -fpredictive-commoning -ffast-math)
2008-07-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36967
* tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p.
Release defs of statements we remove.
* gfortran.dg/pr36967.f: New testcase.
From-SVN: r138318
Diffstat (limited to 'gcc/tree-predcom.c')
-rw-r--r-- | gcc/tree-predcom.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c index 63911b3..94245a4 100644 --- a/gcc/tree-predcom.c +++ b/gcc/tree-predcom.c @@ -1707,7 +1707,7 @@ remove_stmt (gimple stmt) remove_phi_node (&psi, true); if (!next - || !gimple_assign_copy_p (next) + || !gimple_assign_ssa_name_copy_p (next) || gimple_assign_rhs1 (next) != name) return; @@ -1727,9 +1727,10 @@ remove_stmt (gimple stmt) mark_virtual_ops_for_renaming (stmt); gsi_remove (&bsi, true); + release_defs (stmt); if (!next - || !gimple_assign_copy_p (next) + || !gimple_assign_ssa_name_copy_p (next) || gimple_assign_rhs1 (next) != name) return; |