https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72772
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The patch has quite some fallout, including ICEs and wrong-code :/ FAIL: c-c++-common/ubsan/pr71403-1.c -O3 -g execution test FAIL: gcc.dg/graphite/pr35356-1.c scan-tree-dump graphite "if \\\\(P_9 >= P_10 \ \\\+ 1 && P_10 >= 0\\\\) \\\\{" FAIL: gcc.dg/tree-ssa/20030714-2.c scan-tree-dump-times dom2 "if " 3 FAIL: gcc.dg/tree-ssa/ivopt_5.c scan-tree-dump-times ivopts "ivtmp.[0-9_]* = PHI <[^0]" 0 FAIL: gcc.dg/tree-ssa/loadpre2.c scan-tree-dump-times pre "Eliminated: 1" 1 FAIL: gcc.dg/tree-ssa/loadpre21.c scan-tree-dump-times pre "Eliminated: 1" 1 FAIL: gcc.dg/tree-ssa/loadpre22.c scan-tree-dump-times pre "Eliminated: 1" 1 FAIL: gcc.dg/tree-ssa/pr21417.c scan-tree-dump-times thread4 "FSM jump thread" 1 FAIL: gcc.dg/tree-ssa/pr59597.c scan-tree-dump vrp1 "Cancelling" FAIL: gcc.dg/tree-ssa/ssa-pre-23.c scan-tree-dump pre "Eliminated: 3" FAIL: gcc.target/i386/pr60901.c (internal compiler error) FAIL: gcc.target/i386/pr60901.c (test for excess errors) and with -m32 additionally FAIL: gcc.dg/pr45570.c (internal compiler error) FAIL: gcc.dg/pr45570.c (test for excess errors) FAIL: gcc.dg/pr70920-4.c scan-tree-dump forwprop1 "if \\\\(_[0-9]* == 0\\\\)" FAIL: gcc.dg/graphite/scop-dsyr2k.c scan-tree-dump-times graphite "number of SCoPs: 1" 1 FAIL: gcc.dg/graphite/scop-dsyrk.c scan-tree-dump-times graphite "number of SCoPs: 1" 1 FAIL: gcc.dg/tree-ssa/pr22051-2.c scan-tree-dump-times optimized "r_. = \\\\(int\\\\) q" 1 FAIL: gcc.dg/tree-ssa/pr71078-3.c scan-tree-dump forwprop1 "__builtin_copysign" I fixed the PRE testcases sofar, need to investigate the above some more. The pasted patch contained an error, the if (single_edge) condition has to be if (nentry == 1).