diff options
author | Jeff Law <law@torsion.usersys.redhat.com> | 2020-01-24 17:44:10 -0500 |
---|---|---|
committer | Jeff Law <law@torsion.usersys.redhat.com> | 2020-01-24 17:51:19 -0500 |
commit | 98181563dc4c65c9d23eaa99134e18876b6ec671 (patch) | |
tree | 86a915598733f1829455cbed2e49ef61266f5a00 /gcc/tree-ssa-threadedge.c | |
parent | 55dd44535d2e4e5703c0103c26e7c51ab8c502c4 (diff) | |
download | gcc-98181563dc4c65c9d23eaa99134e18876b6ec671.zip gcc-98181563dc4c65c9d23eaa99134e18876b6ec671.tar.gz gcc-98181563dc4c65c9d23eaa99134e18876b6ec671.tar.bz2 |
Fix ICE due to invalid jump threading request
PR tree-optimization/92788
* tree-ssa-threadedge.c (thread_across_edge): Check EDGE_COMPLEX
not EDGE_ABNORMAL.
PR tree-optimization/92788
* g++.dg/pr92788.C: New test.
Diffstat (limited to 'gcc/tree-ssa-threadedge.c')
-rw-r--r-- | gcc/tree-ssa-threadedge.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index 35440b0..c7c0821 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -1323,7 +1323,7 @@ thread_across_edge (gcond *dummy_cond, /* If E->dest has abnormal outgoing edges, then there's no guarantee we can safely redirect any of the edges. Just punt those cases. */ FOR_EACH_EDGE (taken_edge, ei, e->dest->succs) - if (taken_edge->flags & EDGE_ABNORMAL) + if (taken_edge->flags & EDGE_COMPLEX) { const_and_copies->pop_to_marker (); avail_exprs_stack->pop_to_marker (); |