https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109143
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- It's now at 27s on trunk. callgraph ipa passes : 6.04 ( 22%) 0.24 ( 16%) 6.28 ( 22%) 184M ( 17%) tree PTA : 10.28 ( 37%) 0.16 ( 11%) 10.38 ( 36%) 10M ( 1%) integrated RA : 1.34 ( 5%) 0.00 ( 0%) 1.29 ( 4%) 37M ( 3%) TOTAL : 27.65 1.49 29.15 1084M Samples: 115K of event 'cycles:u', Event count (approx.): 148070760732 Overhead Samples Command Shared Object Symbol 10.03% 11250 cc1plus cc1plus [.] bitmap_set_bit 9.38% 10648 cc1plus cc1plus [.] solve_constraints 6.12% 6847 cc1plus cc1plus [.] find_what_var_points_to 4.52% 5092 cc1plus cc1plus [.] bitmap_bit_p 2.27% 2520 cc1plus cc1plus [.] bitmap_ior_into 2.14% 2429 cc1plus cc1plus [.] solution_set_expand from bitmap_set_bit the worst bitmaps are (searches vs. walk steps) tree-ssa-structalias.cc:6798 (find_what_var_poin 13M: 0.9% 13M 1056k: 0.9% 137k 222k heap it's by far the most bit-operated on bitmap and the order bits are set are somewhat random. solve_constraints () re-orders vars to make bitmaps less sparse but it fails to order them according to DECL_UID.