aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-forwprop.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-04-29 17:53:36 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-04-29 17:53:36 +0000
commit1978e62d47c8808f0535e7d69f3de64186e80e0e (patch)
treed4942419da0b1277286bb719c741c0e4bda7fd25 /gcc/tree-ssa-forwprop.c
parentd407e7f53b4a9c3f607b692d89b4ad7d87df5933 (diff)
downloadgcc-1978e62d47c8808f0535e7d69f3de64186e80e0e.zip
gcc-1978e62d47c8808f0535e7d69f3de64186e80e0e.tar.gz
gcc-1978e62d47c8808f0535e7d69f3de64186e80e0e.tar.bz2
re PR tree-optimization/90278 (ICE: verify_gimple failed (error: statement marked for throw, but doesn't))
2019-04-29 Richard Biener <rguenther@suse.de> PR tree-optimization/90278 * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean EH on comparison simplification. * gcc.dg/torture/pr90278.c: New testcase. From-SVN: r270657
Diffstat (limited to 'gcc/tree-ssa-forwprop.c')
-rw-r--r--gcc/tree-ssa-forwprop.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index eeb6281..bbfa1bc 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -2496,6 +2496,8 @@ pass_forwprop::execute (function *fun)
{
int did_something;
did_something = forward_propagate_into_comparison (&gsi);
+ if (maybe_clean_or_replace_eh_stmt (stmt, gsi_stmt (gsi)))
+ bitmap_set_bit (to_purge, bb->index);
if (did_something == 2)
cfg_changed = true;
changed = did_something != 0;