aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadedge.c
diff options
context:
space:
mode:
authorJeff Law <law@torsion.usersys.redhat.com>2020-01-24 17:44:10 -0500
committerJeff Law <law@torsion.usersys.redhat.com>2020-01-24 17:51:19 -0500
commit98181563dc4c65c9d23eaa99134e18876b6ec671 (patch)
tree86a915598733f1829455cbed2e49ef61266f5a00 /gcc/tree-ssa-threadedge.c
parent55dd44535d2e4e5703c0103c26e7c51ab8c502c4 (diff)
downloadgcc-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.c2
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 ();