diff options
author | Richard Biener <rguenther@suse.de> | 2018-09-17 10:21:21 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-09-17 10:21:21 +0000 |
commit | ecfb64f692c561ef16bca0ff17b3d7e9ee14b418 (patch) | |
tree | 4dea08a33e31624b173fce6f88262bcff5da2738 /gcc/tree-ssa-sccvn.c | |
parent | dda107dfb419d4272fdd10ccec93948d9fc7b6ba (diff) | |
download | gcc-ecfb64f692c561ef16bca0ff17b3d7e9ee14b418.zip gcc-ecfb64f692c561ef16bca0ff17b3d7e9ee14b418.tar.gz gcc-ecfb64f692c561ef16bca0ff17b3d7e9ee14b418.tar.bz2 |
re PR tree-optimization/87301 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't))
2018-09-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/87301
* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly
clean EH info from leftover copy assignments.
* gcc.dg/torture/pr87301.c: New testcase.
From-SVN: r264364
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index 1c95306..a9e4d34 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -5461,7 +5461,10 @@ eliminate_dom_walker::eliminate_cleanup (bool region_p) if (is_gimple_assign (stmt)) { gimple_assign_set_rhs_from_tree (&gsi, sprime); - update_stmt (gsi_stmt (gsi)); + stmt = gsi_stmt (gsi); + update_stmt (stmt); + if (maybe_clean_or_replace_eh_stmt (stmt, stmt)) + bitmap_set_bit (need_eh_cleanup, gimple_bb (stmt)->index); continue; } else |