https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102736
Andrew Macleod <amacleod at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aldyh at redhat dot com, | |amacleod at redhat dot com --- Comment #2 from Andrew Macleod <amacleod at redhat dot com> --- works with --disable-tree-vrp-thread1 Looking at the .vrp-thread1 listing, I see a lot of Registering value_relation (_4 >= a.4_14) on (3->4) Registering value_relation (path_oracle) (_5 == iftmp.6_13) (bb4) [1] Registering jump thread: (4, 5) incoming edge; (5, 7) joiner (7, 8) normal (8, 9) nocopy; Registering value_relation (path_oracle) (iftmp.6_12 == iftmp.6_13) (bb6) Registering value_relation (path_oracle) (iftmp.6_12 == iftmp.6_13) (bb6) [2] Registering jump thread: (6, 7) incoming edge; (7, 9) joiner; Registering value_relation (path_oracle) (iftmp.6_12 == iftmp.6_13) (bb6) [3] Registering jump thread: (6, 7) incoming edge; (7, 8) joiner (8, 9) nocopy; Registering value_relation (path_oracle) (_5 == iftmp.6_13) (bb5) Registering value_relation (path_oracle) (_5 == iftmp.6_13) (bb5) Registering value_relation (path_oracle) (_5 == iftmp.6_13) (bb5) Registering value_relation (path_oracle) (_4 < a.4_14) (bb3) Registering value_relation (path_oracle) (_3 == iftmp.3_15) (bb3) Registering value_relation (path_oracle) (_4 < a.4_14) (bb3) Registering value_relation (path_oracle) (_3 == iftmp.3_15) (bb3) Registering value_relation (path_oracle) (_5 == iftmp.6_13) (bb3) And then 2 blocks get removed. I'd hazard a guess that we're getting a relation wrong... but we shall see.