https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64284
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2014-12-12 CC| |spop at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Registering jump thread: (4, 5) incoming edge; (5, 55) joiner; (55, 63) normal; Registering FSM jump thread: (94, 5) incoming edge; (6, 20) nocopy; Registering jump thread: (61, 6) incoming edge; (6, 20) normal; Registering jump thread: (77, 6) incoming edge; (6, 20) normal; Registering jump thread: (69, 6) incoming edge; (6, 20) normal; Registering FSM jump thread: (94, 5) incoming edge; (55, 56) nocopy; ... Threaded jump 69 --> 6 to 109 Threaded jump 77 --> 6 to 109 Threaded jump 61 --> 6 to 109 and then we end up with an invalid loop. FSM threads the latch edge but doesn't update the loop structure accordingly so later asking for the loop latch edge fails (because the loop isn't anymore it seems - or header and latch are no longer valid). Let me have a look.