https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119516
--- Comment #3 from Sam James <sjames at gcc dot gnu.org> --- At -O1, I see: ``` 8.97% cc1plus cc1plus [.] gt_ggc_mx_lang_tree_node 2.85% cc1plus cc1plus [.] verify_gimple_in_cfg 2.05% cc1plus cc1plus [.] hash_table<default_hash_traits<tree_node*>, false, xcallocator>::find_slot_with_hash 1.94% cc1plus libc.so.6 [.] __memset_avx2_unaligned_erms 1.93% cc1plus cc1plus [.] push_to_top_level 1.68% cc1plus cc1plus [.] verify_ssa 1.64% cc1plus cc1plus [.] ggc_internal_alloc_no_dtor 1.49% cc1plus cc1plus [.] walk_tree_1 1.40% cc1plus cc1plus [.] (anonymous namespace)::dom_info::calc_idoms 1.24% cc1plus cc1plus [.] reset_all_used_flags 0.91% cc1plus cc1plus [.] (anonymous namespace)::dom_info::calc_dfs_tree 0.76% cc1plus cc1plus [.] verify_rtx_sharing 0.71% cc1plus libc.so.6 [.] _int_malloc 0.70% cc1plus cc1plus [.] poison_pages 0.70% cc1plus cc1plus [.] hash_set<void*, false, default_hash_traits<void*> >::add 0.63% cc1plus cc1plus [.] bitmap_set_bit 0.63% cc1plus cc1plus [.] operands_scanner::get_expr_operands 0.62% cc1plus cc1plus [.] htab_find_slot_with_hash 0.57% cc1plus cc1plus [.] walk_gimple_op 0.56% cc1plus cc1plus [.] verify_gimple_stmt 0.56% cc1plus cc1plus [.] calculate_dominance_info 0.54% cc1plus cc1plus [.] gt_ggc_mx_lang_decl 0.53% cc1plus cc1plus [.] iterative_hash_template_arg 0.53% cc1plus cc1plus [.] verify_flow_info 0.53% cc1plus cc1plus [.] df_ref_create_structure 0.53% cc1plus cc1plus [.] et_splay 0.52% cc1plus libc.so.6 [.] cfree@GLIBC_2.2.5 ``` At -O2, I see (again, with checking, so I'd ignore the GC): ``` 9.22% cc1plus cc1plus [.] gt_ggc_mx_lang_tree_node 2.69% cc1plus cc1plus [.] verify_gimple_in_cfg 2.24% cc1plus libc.so.6 [.] __memset_avx2_unaligned_erms 2.12% cc1plus cc1plus [.] ggc_internal_alloc_no_dtor 1.72% cc1plus cc1plus [.] verify_ssa 1.44% cc1plus cc1plus [.] (anonymous namespace)::dom_info::calc_idoms 1.36% cc1plus cc1plus [.] poison_pages 1.24% cc1plus cc1plus [.] reset_all_used_flags 1.09% cc1plus cc1plus [.] hash_table<default_hash_traits<tree_node*>, false, xcallocator>::find_slot_with_hash 1.04% cc1plus cc1plus [.] walk_tree_1 0.96% cc1plus cc1plus [.] push_to_top_level 0.94% cc1plus cc1plus [.] (anonymous namespace)::dom_info::calc_dfs_tree 0.80% cc1plus cc1plus [.] calculate_dominance_info 0.77% cc1plus cc1plus [.] bitmap_set_bit 0.69% cc1plus libc.so.6 [.] _int_malloc 0.68% cc1plus cc1plus [.] base_pool_allocator<memory_block_pool>::allocate 0.64% cc1plus cc1plus [.] verify_rtx_sharing 0.60% cc1plus libc.so.6 [.] __memmove_avx_unaligned_erms 0.59% cc1plus cc1plus [.] cgraph_node::verify_node 0.54% cc1plus cc1plus [.] verify_gimple_stmt 0.54% cc1plus cc1plus [.] rtl_verify_flow_info_1 0.53% cc1plus cc1plus [.] operands_scanner::get_expr_operands 0.50% cc1plus cc1plus [.] hash_set<void*, false, default_hash_traits<void*> >::add 0.50% cc1plus cc1plus [.] gt_ggc_mx_lang_decl 0.50% cc1plus cc1plus [.] et_splay ```