https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97445
--- Comment #20 from Jan Hubicka <hubicka at ucw dot cz> --- > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97445 > > --- Comment #19 from Jan Hubicka <hubicka at gcc dot gnu.org> --- > get_order unwinds to: > > <bb 2> [local count: 1073741824]: > _1 = __builtin_constant_p (size_68(D)); > if (_1 != 0) > goto <bb 3>; [50.00%] > else > goto <bb 71>; [50.00%] > > <bb 3> [local count: 536870913]: > if (size_68(D) == 0) > goto <bb 72>; [21.72%] > else > goto <bb 4>; [78.28%] > > <bb 4> [local count: 420262548]: > if (size_68(D) <= 4095) > goto <bb 72>; [50.00%] > else > goto <bb 5>; [50.00%] > > <bb 5> [local count: 210131274]: > _2 = size_68(D) + 18446744073709551615; > _3 = __builtin_constant_p (_2); Forgot to note, things would be easier if we folded this to _1 :) Among other we run on out of the limit on number of conditionals recorded by the fnsummary pass. Honza