aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-08-25 21:51:00 +0930
committerAlan Modra <amodra@gcc.gnu.org>2017-08-25 21:51:00 +0930
commite2da9ffe3c90b3a460b5fbbea7ee3aa7941882d1 (patch)
treef735f420198ea1aea6d35896dd4690efd5e57b63 /gcc
parentbff8b385e997a85cce62031c80bac1b431659fcd (diff)
downloadgcc-e2da9ffe3c90b3a460b5fbbea7ee3aa7941882d1.zip
gcc-e2da9ffe3c90b3a460b5fbbea7ee3aa7941882d1.tar.gz
gcc-e2da9ffe3c90b3a460b5fbbea7ee3aa7941882d1.tar.bz2
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. From-SVN: r251349
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cse.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4f2350a..7d03c8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-25 Alan Modra <amodra@gmail.com>
+
+ 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.
+
2017-08-24 Martin Sebor <msebor@redhat.com>
PR middle-end/81908
diff --git a/gcc/cse.c b/gcc/cse.c
index dfcebbf..191fd06 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))