https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77484
--- Comment #20 from Jan Hubicka <hubicka at ucw dot cz> --- Hi, it turns out that Martin added another column to his statistics script which I have misinterpretted. https://gcc.opensuse.org/SPEC/CINT/sb-terbium-head-64/recent.html also shows interesting reaction to the change. I will update the probabilities to correct values one by one and let us see how benchmarks react. Is changing one a day enough for periodic testers to catch up? The hitrates on spec2k6 combined with spec v6 is as follows. It means that indirect call should have 14%, call 67% and polymorphic call should have oposite outcime and 59% The statistic samples are quite small and dominated by one use, so we may diverge from those values if it seem to make sense. Honza COMBINED ======== HEURISTICS BRANCHES (REL) BR. HITRATE HITRATE COVERAGE COVERAGE (REL) loop guard with recursion 13 0.0% 92.31% 85.06% / 85.06% 6672440267 6.67G 0.4% Fortran loop preheader 42 0.0% 97.62% 97.78% / 99.07% 1448718 1.45M 0.0% loop iv compare 71 0.1% 78.87% 49.26% / 63.89% 163168352 163.17M 0.0% loop exit with recursion 85 0.1% 75.29% 84.89% / 86.96% 9873741435 9.87G 0.6% extra loop exit 98 0.1% 71.43% 31.39% / 76.96% 312263024 312.26M 0.0% recursive call 121 0.1% 64.46% 37.55% / 82.78% 531996473 532.00M 0.0% Fortran repeated allocation/deallocation 392 0.4% 100.00% 100.00% / 100.00% 630 630.00 0.0% guess loop iv compare 402 0.4% 90.05% 95.82% / 96.04% 5683151771 5.68G 0.3% indirect call 425 0.4% 52.00% 14.06% / 91.41% 3815332963 3.82G 0.2% Fortran zero-sized array 549 0.6% 99.64% 100.00% / 100.00% 20794317 20.79M 0.0% const return 651 0.7% 94.93% 84.04% / 93.18% 1067774653 1.07G 0.1% null return 716 0.7% 92.18% 91.83% / 93.39% 3421321956 3.42G 0.2% negative return 734 0.8% 97.14% 64.62% / 65.01% 4744886315 4.74G 0.3% continue 773 0.8% 66.11% 79.71% / 87.43% 29089649102 29.09G 1.6% polymorphic call 803 0.8% 43.59% 59.05% / 86.63% 3828555030 3.83G 0.2% Fortran fail alloc 944 1.0% 100.00% 100.00% / 100.00% 167691 167.69K 0.0% Fortran overflow 1237 1.3% 100.00% 100.00% / 100.00% 55197159 55.20M 0.0% loop guard 1861 1.9% 48.90% 69.86% / 84.62% 17979028127 17.98G 1.0% noreturn call 3769 3.9% 99.95% 100.00% / 100.00% 8175053425 8.18G 0.5% loop exit 5017 5.2% 83.50% 90.01% / 91.68% 143815212145 143.82G 8.1% opcode values positive (on trees) 5763 6.0% 66.23% 60.41% / 86.25% 43349211449 43.35G 2.4% loop iterations 6276 6.6% 99.94% 78.54% / 78.54% 662671304506 662.67G 37.3% early return (on trees) 9512 9.9% 61.02% 58.05% / 85.82% 56222551226 56.22G 3.2% pointer (on trees) 10969 11.5% 63.29% 75.18% / 89.33% 23318221976 23.32G 1.3% opcode values nonequal (on trees) 11633 12.2% 63.23% 74.53% / 85.23% 118246028039 118.25G 6.7% guessed loop iterations 13631 14.2% 96.54% 92.61% / 93.12% 417886815060 417.89G 23.5% call 20747 21.7% 54.47% 67.24% / 92.56% 50096613362 50.10G 2.8%