https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85412
Sergei Trofimovich <slyfox at inbox dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |abel at ispras dot ru --- Comment #7 from Sergei Trofimovich <slyfox at inbox dot ru> --- (In reply to Sergei Trofimovich from comment #5) > Slightly shorter reproduced (shrunk with creduce): > > // a.c > int a, b, c; > int e(int h) { > double d; > int f = 1; > while (b < 1) { > c = d + f; > if (b) > a /= h; > else { > long unsigned g; > f = 0; > d = h / g + h; > } > b = a / 3; > } > } > > // command: > // x86_64-pc-linux-gnu-gcc-8.2.0 -c a.c -march=haswell -O2 > -fselective-scheduling2 -fsel-sched-pipelining -fno-tree-ch -fno-tree-loop-im Bisected this down from gcc-7.3.0 (did not ICE) to gcc-8. Looks reasonable? 91d7a2f98a6846d6a4ac215abbbcf8e6154b9984 is the first bad commit commit 91d7a2f98a6846d6a4ac215abbbcf8e6154b9984 Author: abel <abel@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Mon Apr 9 09:08:28 2018 +0000 PR rtl-optimization/83530 * sel-sched.c (force_next_insn): New global variable. (remove_insn_for_debug): When force_next_insn is true, also leave only next insn in the ready list. (sel_sched_region): When the region wasn't scheduled, make another pass over it with force_next_insn set to 1. * gcc.dg/pr83530.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259228 138bc75d-0d04-0410-961f-82ee72b054a4 :040000 040000 11825cae45f4d9839c242188123117a0a9f96803 87391fd9d4f97ee6fe456d1630f37801dc0bf8cc M gcc