summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-25 12:21:00 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-25 12:21:00 +0000
commit1a0056ba14578e289082dfff4e6dcd9118866c78 (patch)
treef735f420198ea1aea6d35896dd4690efd5e57b63 /gcc/cse.c
parent2edde49591cbdb8e412177aad231b1afaa743435 (diff)
downloadgcc-1a0056ba14578e289082dfff4e6dcd9118866c78.tar.gz
PR81747, ICE in operator[]
PR rtl-optimization/81747 * cse.c (cse_extended_basic_block): Don't attempt to record equivalences for degenerate conditional branches that branch to their fall-through. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251349 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index dfcebbfbc02..191fd0699fb 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -6640,6 +6640,7 @@ cse_extended_basic_block (struct cse_basic_block_data *ebb_data)
equivalences due to the condition being tested. */
insn = BB_END (bb);
if (path_entry < path_size - 1
+ && EDGE_COUNT (bb->succs) == 2
&& JUMP_P (insn)
&& single_set (insn)
&& any_condjump_p (insn))