This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC gprof statistics



GCC gprof statistics

Many people seem to think the recent GCC is slow.
I have observed it certainly is a little sluggish under
Sun UltraSparc Blade 1500.
(Yes, the cheap and yet fast x86 CPU masks its slowness.)

I wonder where gcc spends its time.
So, as an investigation, I collected gprof prfile under
Debian GNU/Linux for x86 .

Rather than moaning on the slowness in general, the
statistics can get us started in concrete analysis.
(Of course tcov-like micro-analysis would be also
useful once we eliminate major bottlenecks.)


I used  a source file that takes about 9.3 user seconds for 
cc1 to compile into assembler source 
on AMD athlon xp1800+ under linux 2.4.21.
(The source doesn't use floating point operation if I am not mistaken,
and so the functions to handle such data inside GCC won't be called.)

I compiled GCC 3.3 using

   make BOOT_CFLAGS="-g -pg -O2" bootstrap-lean

This is the command run to the cc1 compilation

time  /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1  -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -DHOST_DEBUG=1 mylib.c -quiet -dumpbase mylib.c -auxbase-strip mylib.o -g -O2 -Wall -version -o /tmp/cccEDsHE.s
GNU C version 3.3 (i686-pc-linux-gnu)
	compiled by GNU C version 3.3.
GGC heuristics: --param ggc-min-expand=81 --param ggc-min-heapsize=96816
ignoring nonexistent directory "NONE/include"
ignoring nonexistent directory "/usr/local/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3/include
 /usr/include
End of search list.

Attached below is the first portion of the prof statistics (flat) and
gprof call graph.

Some may find it useful.

A cursory observation.

For example, I looked at how for_each_rtx, worst offender in terms of
time spent in flat profile, is called so many times.  It was not so
evident how possibly to reduce the calls.

However, I figured that maybe we can eliminate the check in 
if ( x && ...)   of approx_reg_cost_1. (Maybe I am mistaken.) Again, however,
the overhead eliminated would be very small.

(Or maybe, we can rewrite the part of gcc so that
RTX contains the accumulated register cost of itself and
its siblings (and update the top-node's value when
a new RTL tree is created.) Then the for_each_rtx call
for obtaining approximate register cost can be eliminated.)

Maybe, we should provide specific version of for_each_rtx
for various functions and specialize/optimize them.

In any case, a statistics should get us started
in the right direction.

I can send the entire output of gprof on request to anyone interested.

Happy Hacking,

Ishikawa, Chiaki

----------------------------------------
Start of gprof output
----------------------------------------

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
  5.05      0.26     0.26  1109427     0.00     0.00  for_each_rtx
  3.11      0.42     0.16  4154256     0.00     0.00  canon_rtx
  2.52      0.55     0.13  1229455     0.00     0.00  mark_set_1
  2.33      0.67     0.12  1222352     0.00     0.00  find_base_term
  2.33      0.79     0.12   224919     0.00     0.00  cse_insn
  2.14      0.90     0.11   711175     0.00     0.00  side_effects_p
  1.94      1.00     0.10   200171     0.00     0.00  constrain_operands
  1.75      1.09     0.09   820005     0.00     0.00  canon_hash
  1.75      1.18     0.09   521578     0.00     0.00  canon_reg
  1.75      1.27     0.09   425486     0.00     0.00  fold_rtx
  1.55      1.35     0.08   976769     0.00     0.00  ggc_alloc
  1.55      1.43     0.08   843759     0.00     0.00  note_stores
  1.55      1.51     0.08    34860     0.00     0.00  invalidate_for_call
  1.55      1.59     0.08                             htab_traverse
  1.36      1.66     0.07   768888     0.00     0.00  rtx_equal_for_memref_p
  1.36      1.73     0.07   267386     0.00     0.00  invalidate
  1.17      1.79     0.06  2314167     0.00     0.00  get_cse_reg_info
  0.97      1.84     0.05  2603060     0.00     0.00  ix86_find_base_term
  0.97      1.89     0.05  1966491     0.00     0.00  find_reg_note
  0.97      1.94     0.05  1776462     0.00     0.00  delete_reg_equiv
  0.97      1.99     0.05   995543     0.00     0.00  check_dependence
  0.97      2.04     0.05   634982     0.00     0.00  rtx_cost
  0.97      2.09     0.05   546018     0.00     0.00  ix86_decompose_address
  0.97      2.14     0.05   513245     0.00     0.00  constant_address_p
  0.97      2.19     0.05   511105     0.00     0.00  exp_equiv_p
  0.97      2.24     0.05   169675     0.00     0.00  mark_used_regs
  0.97      2.29     0.05   157512     0.00     0.00  reg_scan_mark_refs
  0.97      2.34     0.05    61955     0.00     0.00  invalidate_memory
  0.97      2.39     0.05    25075     0.00     0.00  reload_cse_simplify_operands
  0.78      2.43     0.04  1548102     0.00     0.00  rtx_equal_p
  0.78      2.47     0.04   936615     0.00     0.00  cselib_invalidate_mem_1
  0.78      2.51     0.04   527281     0.00     0.00  notreg_cost
  0.78      2.55     0.04   298804     0.00     0.00  insert
  0.78      2.59     0.04   228755     0.00     0.00  propagate_one_insn
  0.78      2.63     0.04   183098     0.00     0.00  simplify_binary_operation
  0.78      2.67     0.04    26644     0.00     0.00  record_reg_classes
  0.78      2.71     0.04     5519     0.00     0.00  cse_basic_block
  0.78      2.75     0.04     1008     0.00     0.00  init_alias_analysis
  0.58      2.78     0.03  1604677     0.00     0.00  bitmap_bit_p
  0.58      2.81     0.03   399671     0.00     0.00  legitimate_address_p
  0.58      2.84     0.03   373222     0.00     0.00  commutative_operand_precedence
  0.58      2.87     0.03   207352     0.00     0.00  mention_regs
  0.58      2.90     0.03   186970     0.00     0.00  lookup_as_function
  0.58      2.93     0.03    92165     0.00     0.00  volatile_refs_p
  0.58      2.96     0.03    85801     0.00     0.00  mark_jump_label
  0.58      2.99     0.03                             htab_find_slot_with_hash
  0.39      3.01     0.02  1377376     0.00     0.00  approx_reg_cost_1
  0.39      3.03     0.02   643427     0.00     0.00  lookup
  0.39      3.05     0.02   434100     0.00     0.00  nonoverlapping_memrefs_p
  0.39      3.07     0.02   313277     0.00     0.00  change_address_1
  0.39      3.09     0.02   284086     0.00     0.00  alloc_INSN_LIST

  [[ the rest of the list omitted ]]

 %         the percentage of the total running time of the
time       program used by this function.

cumulative a running sum of the number of seconds accounted
 seconds   for by this function and those listed above it.

 self      the number of seconds accounted for by this
seconds    function alone.  This is the major sort for this
           listing.

calls      the number of times this function was invoked, if
           this function is profiled, else blank.
 
 self      the average number of milliseconds spent in this
ms/call    function per call, if this function is profiled,
	   else blank.

 total     the average number of milliseconds spent in this
ms/call    function and its descendents per call, if this 
	   function is profiled, else blank.

name       the name of the function.  This is the minor sort
           for this listing. The index shows the location of
	   the function in the gprof listing. If the index is
	   in parenthesis it shows where it would appear in
	   the gprof listing if it were to be printed.

		     Call graph (explanation follows)


granularity: each sample hit covers 4 byte(s) for 0.19% of 5.15 seconds

index % time    self  children    called     name
                0.00    4.85       1/1           toplev_main [2]
[1]     94.1    0.00    4.85       1         do_compile [1]
                0.00    4.84       1/1           compile_file [4]
                0.00    0.00       1/1           backend_init [536]
                0.00    0.00       1/1           lang_dependent_init [546]
                0.00    0.00       1/1           c_common_post_options [2692]
                0.00    0.00       1/1           process_options [2768]
                0.00    0.00       1/1           init_timevar [2746]
                0.00    0.00       1/1           timevar_start [2783]
                0.00    0.00       1/1           finalize [2715]
                0.00    0.00       1/1           timevar_stop [2784]
                0.00    0.00       1/1           timevar_print [2782]
                0.00    0.00       1/2           expand_dummy_function_end [2665]
-----------------------------------------------
                0.00    4.85       1/1           main [3]
[2]     94.1    0.00    4.85       1         toplev_main [2]
                0.00    4.85       1/1           do_compile [1]
                0.00    0.00       1/1           init_ttree [2747]
                0.00    0.00       1/1           general_init [2723]
                0.00    0.00       1/1           parse_options_and_default_flags [2763]
-----------------------------------------------
                                                 <spontaneous>
[3]     94.1    0.00    4.85                 main [3]
                0.00    4.85       1/1           toplev_main [2]
-----------------------------------------------
                0.00    4.84       1/1           do_compile [1]
[4]     94.0    0.00    4.84       1         compile_file [4]
                0.00    4.79       1/1           c_common_parse_file [5]
                0.00    0.03       1/1           dwarf2out_finish [175]
                0.00    0.02       1/1           write_global_declarations [243]
                0.00    0.00       1/1           dwarf2out_frame_finish [692]
                0.00    0.00       2/130368      timevar_push [1546]
                0.00    0.00       2/130368      timevar_pop [1545]
                0.00    0.00       1/1           init_final [2736]
                0.00    0.00       1/1           init_branch_prob [2733]
                0.00    0.00       1/1           free_parser_stacks [2720]
                0.00    0.00       1/1           lhd_clear_binding_stack [2753]
                0.00    0.00       1/1           output_func_start_profiler [2761]
                0.00    0.00       1/1           weak_finish [2785]
                0.00    0.00       1/13508       dwarf2out_do_frame [1677]
                0.00    0.00       1/1           dw2_output_indirect_constants [2710]
                0.00    0.00       1/1           end_final [2712]
                0.00    0.00       1/1           ix86_asm_file_end [2751]
                0.00    0.00       1/2329        open_dump_file [1913]
-----------------------------------------------
                0.00    4.79       1/1           compile_file [4]
[5]     93.0    0.00    4.79       1         c_common_parse_file [5]
                0.02    4.77       1/1           yyparse [6]
                0.00    0.00       1/1           cpp_finish_options [504]
                0.00    0.00       1/78          dwarf2out_start_source_file [2460]
                0.00    0.00       1/2           free_chain [2668]
-----------------------------------------------
                0.02    4.77       1/1           c_common_parse_file [5]
[6]     93.0    0.02    4.77       1         yyparse [6]
                0.00    3.55     118/118         finish_function [9]
                0.00    0.99       1/1           c_objc_common_finish_file [14]
                0.00    0.05   59987/59987       yylex [101]
                0.00    0.05    2176/2176        push_parm_decl [116]
                0.01    0.02    2002/2319        build_function_call [157]
                0.00    0.02    1299/4190        finish_decl [80]
                0.00    0.01     715/715         grokfield [281]
                0.00    0.01   20336/20710       build_tree_list [314]
                0.00    0.01    1299/1299        start_decl [441]
                0.00    0.00    1369/1686        fix_string_type [442]
                0.00    0.00    2239/5229        add_stmt [375]
                0.00    0.00    2100/2100        process_init_element [482]
                0.00    0.00    1388/1388        add_scope_stmt [499]
                0.00    0.00     161/161         finish_struct [577]
                0.00    0.00     118/118         store_parm_decls [583]
                0.00    0.00     697/697         c_begin_compound_stmt [593]
                0.00    0.00    1431/1431        parser_build_binary_op [607]
                0.00    0.00     118/118         start_function [646]
                0.00    0.00   10886/30262       tree_cons [517]
                0.00    0.00    1900/1900        c_expand_expr_stmt [663]
                0.00    0.00     224/224         build_enumerator [664]
                0.00    0.00     837/837         build_modify_expr [677]
                0.00    0.00     435/435         c_expand_start_cond [688]
                0.00    0.00     384/384         build_c_cast [710]
                0.00    0.00    1159/1159        build_component_ref [712]
                0.00    0.00     635/9198        build_unary_op <cycle 3> [592]
                0.00    0.00     632/9198        c_common_truthvalue_conversion <cycle 3> [2066]
                0.00    0.00     161/161         start_struct [748]
                0.00    0.00     222/222         c_expand_return [764]
                0.00    0.00     710/710         c_sizeof_or_alignof_type [773]
                0.00    0.00     384/384         c_cast_expr [793]
                0.00    0.00     661/661         get_parm_info [806]
                0.00    0.00     661/1104        build_nt [737]
                0.00    0.00     329/713         groktypename [711]
                0.00    0.00     225/225         build_array_ref [828]
                0.00    0.00     913/913         build_indirect_ref [835]
                0.00    0.00      67/67          do_case [844]
                0.00    0.00     435/435         c_begin_if_stmt [864]
                0.00    0.00       6/6           finish_enum [899]
                0.00    0.00      73/73          build_conditional_expr [920]
                0.00    0.00     308/308         build_array_declarator [922]
                0.00    0.00    1450/1450        make_pointer_declarator [935]
                0.00    0.00     268/53707       fold <cycle 4> [287]
                0.00    0.00    1355/1473        poplevel [966]
                0.00    0.00    5493/5493        build_compound_expr [984]
                0.00    0.00     153/7425        default_conversion [606]
                0.00    0.00      78/78          xref_tag [1157]
                0.00    0.00      51/5268        build_stmt [535]
                0.00    0.00       6/6           start_enum [1210]
                0.00    0.00      38/38          build_break_stmt [1211]
                0.00    0.00     720/10420       decl_attributes <cycle 1> [888]
                0.00    0.00      16/16          c_start_case [1257]
                0.00    0.00      19/19          pop_init_level [1278]
                0.00    0.00      17/17          really_start_incremental_init [1316]
                0.00    0.00      12/12          c_begin_while_stmt [1331]
                0.00    0.00       5/65          invert_truthvalue [1100]
                0.00    0.00       2/2           push_init_level [1420]
                0.00    0.00       6/11          lookup_label [1386]
                0.00    0.00       3/53707       convert <cycle 4> [731]
                0.00    0.00       5/5           define_label [1441]
                0.00    0.00    1355/1474        pushlevel [1469]
                0.00    0.00      18/50658       size_int_type_wide [788]
                0.00    0.00      12/2404        non_lvalue [1169]
                0.00    0.00    9376/10655       chainon [1711]
                0.00    0.00    6644/6644        build_external_ref [1750]
                0.00    0.00    4972/4972        pending_xref_error [1794]
                0.00    0.00    4259/6449        split_specs_attrs [1754]
                0.00    0.00    3150/26912       lookup_name [1606]
                0.00    0.00    1710/8556        require_complete_type [1727]
                0.00    0.00    1446/36227       current_stmt_tree [1593]
                0.00    0.00    1040/2771        ggc_collect [1893]
                0.00    0.00     896/1762        get_pending_sizes [1958]
                0.00    0.00     694/2215        clear_last_expr [1922]
                0.00    0.00     694/694         kept_level_p [2099]
                0.00    0.00     661/661         clear_parm_order [2114]
                0.00    0.00     661/779         declare_parm_level [2078]
                0.00    0.00     661/661         parmlist_tags_warning [2116]
                0.00    0.00     617/4431        overflow_warning [1810]
                0.00    0.00     435/435         c_finish_then [2185]
                0.00    0.00     435/435         c_expand_end_cond [2184]
                0.00    0.00     308/308         set_array_declarator_type [2217]
                0.00    0.00      59/60          global_bindings_p [2483]
                0.00    0.00      58/58          push_string [2487]
                0.00    0.00      58/58          start_init [2488]
                0.00    0.00      58/58          finish_init [2486]
                0.00    0.00      39/39          c_expand_start_else [2511]
                0.00    0.00      39/39          c_finish_else [2512]
                0.00    0.00      27/27          shadow_tag [2537]
                0.00    0.00      18/61911       tree_low_cst [1568]
                0.00    0.00      18/9835        size_int_wide [1717]
                0.00    0.00      17/17          pedantic_non_lvalue [2574]
                0.00    0.00      16/16          c_finish_case [2576]
                0.00    0.00      12/12          c_finish_while_stmt_cond [2597]
                0.00    0.00       6/4504        nreverse [1809]
                0.00    0.00       1/119         finish_fname_decls [2358]
                0.00    0.00       1/1           finish_file [2716]
-----------------------------------------------
                0.00    0.99      33/151         c_expand_deferred_function [13]
                0.00    3.55     118/151         finish_function [9]
[7]     88.2    0.00    4.54     151         c_expand_body [7]
                0.00    4.46     118/118         rest_of_compilation [8]
                0.00    0.02     118/118         expand_function_start [196]
                0.00    0.02     151/151         tree_inlinable_function_p [207]
                0.00    0.02     118/118         optimize_inline_calls [240]
                0.00    0.01     118/1850        expand_stmt <cycle 17> [813]
                0.00    0.00     118/236         init_function_start [713]
                0.00    0.00     118/118         expand_function_end [960]
                0.00    0.00      33/33          defer_fn [1535]
                0.00    0.00     269/130368      timevar_push [1546]
                0.00    0.00     118/130368      timevar_pop [1545]
                0.00    0.00     118/118         force_next_line_note [2372]
                0.00    0.00     118/12851       decl_function_context [1684]
                0.00    0.00     118/118         expand_fixups [2367]
                0.00    0.00      85/85          dump_enabled_p [2419]
                0.00    0.00      33/151         debug_nothing_tree [2326]
-----------------------------------------------
                0.00    4.46     118/118         c_expand_body [7]
[8]     86.7    0.00    4.46     118         rest_of_compilation [8]
                0.00    2.05     330/330         cse_main [10]
                0.00    0.36    1216/1744        cleanup_cfg <cycle 19> [114]
                0.00    0.33      85/85          schedule_insns [26]
                0.00    0.21      85/85          gcse_main [38]
                0.00    0.17      85/85          global_alloc [42]
                0.01    0.12      85/85          combine_instructions [53]
                0.00    0.12     670/702         delete_trivially_dead_insns [54]
                0.00    0.10     170/170         life_analysis [65]
                0.00    0.09      85/85          reload_cse_regs [72]
                0.00    0.08      85/170         reload_cse_regs_1 [44]
                0.01    0.07      85/85          regclass [79]
                0.01    0.07     255/255         split_all_insns [85]
                0.00    0.05     755/773         reg_scan [100]
                0.00    0.05      85/85          peephole2_optimize [119]
                0.00    0.05      85/85          copyprop_hardreg_forward [120]
                0.00    0.04      85/85          regmove_optimize [127]
                0.00    0.04      85/85          purge_addressof [128]
                0.00    0.04      85/85          assemble_start_function [129]
                0.00    0.04      85/85          estimate_probability [135]
                0.00    0.04      85/85          local_alloc [139]
                0.00    0.04      85/85          shorten_branches [144]
                0.00    0.04     458/458         find_basic_blocks [158]
                0.01    0.02      85/85          final [159]
                0.00    0.03     458/458         rebuild_jump_labels [172]
                0.00    0.03      85/85          recompute_reg_usage [183]
                0.00    0.03      85/85          optimize_sibling_and_tail_recursive_calls [185]
                0.00    0.02     170/170         loop_optimize [211]
                0.00    0.02      85/85          instantiate_virtual_regs [265]
                0.00    0.01      85/85          mark_constant_function [283]
                0.01    0.00     203/203         find_exception_handler_labels [385]
                0.01    0.00      85/85          purge_hard_subreg_sets [386]
                0.00    0.01     170/170         delete_null_pointer_checks [408]
                0.00    0.01      85/85          optimize_mode_switching [419]
                0.00    0.01     203/362         reorder_blocks [299]
                0.00    0.01     255/255         if_convert [439]
                0.00    0.01      85/85          final_start_function [447]
                0.00    0.01     415/500         purge_all_dead_edges [437]
                0.00    0.00      85/261         unshare_all_rtl [284]
                0.00    0.00      85/85          note_prediction_to_br_prob [498]
                0.00    0.00      85/85          flow_loops_find [502]
                0.00    0.00      85/85          scope_to_insns_initialize [515]
                0.00    0.00      85/85          thread_prologue_and_epilogue_insns [532]
                0.00    0.00      85/1945        dwarf2out_decl [212]
                0.00    0.00      75/75          cfg_layout_finalize [671]
                0.00    0.00      85/85          reorder_basic_blocks [702]
                0.00    0.00      85/1373        allocate_reg_info [333]
                0.00    0.00      85/85          copy_loop_headers [733]
                0.00    0.00      85/85          combine_stack_adjustments [759]
                0.00    0.00     118/118         convert_from_eh_region_ranges [853]
                0.00    0.00      85/1627        delete_unreachable_blocks [520]
                0.00    0.00      85/170         remove_unnecessary_notes [1241]
                0.00    0.00      85/85          assemble_end_function [1334]
                0.00    0.00      85/85          uninitialized_vars_warning [1341]
                0.00    0.00      33/33          save_for_inline [1369]
                0.00    0.00      85/85          final_end_function [1393]
                0.00    0.00      85/85          init_function_for_compilation [1429]
                0.00    0.00      85/85          flow_loops_free [1522]
                0.00    0.00    3685/130368      timevar_pop [1545]
                0.00    0.00    3227/130368      timevar_push [1546]
                0.00    0.00    2468/16739       max_reg_num [1635]
                0.00    0.00    2328/2329        open_dump_file [1913]
                0.00    0.00    2125/2125        close_dump_file [1929]
                0.00    0.00    1563/2771        ggc_collect [1893]
                0.00    0.00     713/39759       get_insns [1592]
                0.00    0.00     491/491         free_bb_for_insn [2164]
                0.00    0.00     255/255         delete_dead_jumptables [2242]
                0.00    0.00     255/255         cleanup_barriers [2241]
                0.00    0.00     203/713         free_basic_block_vars [2095]
                0.00    0.00     170/170         purge_line_number_notes [2303]
                0.00    0.00     170/170         renumber_insns [2304]
                0.00    0.00     118/118         init_flow [2373]
                0.00    0.00     118/356         init_temp_slots [2206]
                0.00    0.00     118/118         init_insn_lengths [2374]
                0.00    0.00     118/491         init_recog_no_volatile [2165]
                0.00    0.00     118/238         free_after_parsing [2259]
                0.00    0.00     118/118         set_nothrow_function_flags [2379]
                0.00    0.00      85/205         free_after_compilation [2280]
                0.00    0.00      85/85          check_function_return_warnings [2408]
                0.00    0.00      85/85          doing_eh [2418]
                0.00    0.00      85/85          emit_initial_value_sets [2420]
                0.00    0.00      85/85          regclass_init [2443]
                0.00    0.00      85/85          leaf_function_p [2434]
                0.00    0.00      85/866         cselib_finish [2069]
                0.00    0.00      85/85          reg_to_stack [2442]
                0.00    0.00      85/85          compute_alignments [2411]
                0.00    0.00      85/85          x86_machine_dependent_reorg [2450]
                0.00    0.00      85/85          convert_to_eh_region_ranges [2414]
                0.00    0.00      85/85          output_after_function_constants [2439]
                0.00    0.00      85/85          output_function_exception_table [2440]
                0.00    0.00      85/85          bitmap_release_memory [2407]
                0.00    0.00      85/85          regset_release_memory [2444]
                0.00    0.00      85/85          allocate_initial_values [2406]
                0.00    0.00      85/85          initialize_uninitialized_subregs [2430]
                0.00    0.00      85/85          expected_value_to_br_prob [2421]
                0.00    0.00      85/415         remove_fake_edges [2191]
                0.00    0.00      75/3056        clear_aux_for_blocks [1876]
                0.00    0.00      75/245         free_aux_for_blocks [2250]
                0.00    0.00      33/151         debug_nothing_tree [2326]
-----------------------------------------------
                0.00    3.55     118/118         yyparse [6]
[9]     68.9    0.00    3.55     118         finish_function [9]
                0.00    3.55     118/151         c_expand_body [7]
                0.00    0.00     118/1473        poplevel [966]
                0.00    0.00     118/119         finish_fname_decls [2358]
                0.00    0.00     118/118         finish_stmt_tree [2370]
                0.00    0.00     118/238         free_after_parsing [2259]
                0.00    0.00     118/205         free_after_compilation [2280]
                0.00    0.00     118/130368      timevar_pop [1545]
-----------------------------------------------
                0.00    2.05     330/330         rest_of_compilation [8]
[10]    39.7    0.00    2.05     330         cse_main [10]
                0.04    1.94    5519/5519        cse_basic_block [11]
                0.01    0.04     330/1008        init_alias_analysis [46]
                0.01    0.00     330/330         ggc_pop_context [384]
                0.00    0.00    5580/5593        cse_end_of_basic_block [627]
                0.00    0.00     660/2829        get_max_uid [1889]
                0.00    0.00     330/756         init_recog [2087]
                0.00    0.00     330/330         ggc_push_context [2215]
                0.00    0.00     330/1008        end_alias_analysis [2050]
                0.00    0.00     168/2771        ggc_collect [1893]
-----------------------------------------------
                0.04    1.94    5519/5519        cse_main [10]
[11]    38.5    0.04    1.94    5519         cse_basic_block [11]
                0.12    1.60  224919/224919      cse_insn [12]
                0.04    0.07  190357/1104383     for_each_rtx <cycle 14> [17]
                0.00    0.06    4527/4527        invalidate_skipped_block [99]
                0.00    0.02    2581/8332        record_jump_equiv [87]
                0.01    0.01  290242/291270      any_uncondjump_p [258]
                0.00    0.00   77828/1966491     find_reg_note [109]
                0.00    0.00   38925/38925       cse_process_notes [655]
                0.00    0.00      60/60          cse_around_loop [791]
                0.00    0.00      13/5593        cse_end_of_basic_block [627]
                0.00    0.00    5532/25812       prev_nonnote_insn [1608]
                0.00    0.00    5519/5519        new_basic_block [1780]
-----------------------------------------------
                0.12    1.60  224919/224919      cse_basic_block [11]
[12]    33.5    0.12    1.60  224919         cse_insn [12]
                0.10    0.39  319559/351586      fold_rtx <cycle 8> [27]
                0.04    0.22  292785/298804      insert [30]
                0.06    0.16  229622/267386      invalidate [31]
                0.06    0.07   27502/34860       invalidate_for_call [45]
                0.09    0.00  516695/521578      canon_reg [68]
                0.00    0.09  146540/565900      approx_reg_cost [24]
                0.00    0.05    5751/8332        record_jump_equiv [87]
                0.04    0.00  335633/820005      canon_hash [69]
                0.02    0.01  201582/408209      mention_regs <cycle 7> [162]
                0.02    0.01  198350/408209      insert_regs <cycle 7> [165]
                0.02    0.00   27480/61955       invalidate_memory [97]
                0.01    0.02  224919/270171      invalidate_from_clobbers [182]
                0.01    0.01  218781/643427      lookup [89]
                0.01    0.01  122350/527281      notreg_cost [77]
                0.01    0.01  450450/484458      apply_change_group [246]
                0.01    0.00   60909/161391      copy_rtx [163]
                0.01    0.00  406743/1548102     rtx_equal_p [145]
                0.00    0.01   98798/106756      rehash_using_reg [309]
                0.01    0.00  394511/422332      validate_change [316]
                0.01    0.00   72307/511105      exp_equiv_p [104]
                0.01    0.00  432945/648451      preferrable [391]
                0.00    0.00  163523/1966491     find_reg_note [109]
                0.00    0.00    1409/1564        remove_invalid_refs [472]
                0.00    0.00  102653/2314167     get_cse_reg_info [92]
                0.00    0.00    2904/14103       recog_memoized_1 [417]
                0.00    0.00    4832/4832        use_related_value [659]
                0.00    0.00    7225/7939        set_unique_reg_note [755]
                0.00    0.00    2301/70338       plus_constant_wide [456]
                0.00    0.00     180/385762      gen_lowpart_if_possible <cycle 12> [1720]
                0.00    0.00      76/107522      gen_rtx_fmt_ee [216]
                0.00    0.00      18/88028       gen_rtx_fmt_ue [244]
                0.00    0.00       7/132753      reg_mentioned_p [335]
                0.00    0.00       1/1005        gen_jump [827]
                0.00    0.00       8/6915        delete_insn [917]
                0.00    0.00       1/2066        emit_barrier_after [869]
                0.00    0.00       1/488         emit_jump_insn_after [1083]
                0.00    0.00       6/106743      single_set_2 [770]
                0.00    0.00      44/87          replace_rtx [2404]
                0.00    0.00       7/339         remove_note [2212]
                0.00    0.00       1/628         never_reached_warning [2122]
                0.00    0.00       1/1           condjump_p [2697]
-----------------------------------------------
                0.00    0.99      33/33          expand_deferred_fns [15]
[13]    19.3    0.00    0.99      33         c_expand_deferred_function [13]
                0.00    0.99      33/151         c_expand_body [7]
                0.00    0.00      33/130368      timevar_pop [1545]
-----------------------------------------------
                0.00    0.99       1/1           yyparse [6]
[14]    19.3    0.00    0.99       1         c_objc_common_finish_file [14]
                0.00    0.99       1/1           expand_deferred_fns [15]
                0.00    0.00       1/1           dump_begin [2709]
-----------------------------------------------
                0.00    0.99       1/1           c_objc_common_finish_file [14]
[15]    19.3    0.00    0.99       1         expand_deferred_fns [15]
                0.00    0.99      33/33          c_expand_deferred_function [13]
-----------------------------------------------
[16]    13.4    0.26    0.43 1104383+23679   <cycle 14 as a whole> [16]
                0.26    0.43 1109427+2958195     for_each_rtx <cycle 14> [17]
                0.00    0.00    4522             nonlocal_referenced_p_1 <cycle 14> [1807]
                0.00    0.00    4173             nonlocal_mentioned_p <cycle 14> [1820]
                0.00    0.00    1947             nonlocal_set_p <cycle 14> [1948]
-----------------------------------------------
                             2958195             for_each_rtx <cycle 14> [17]
                                1880             nonlocal_set_p <cycle 14> [1948]
                                4173             nonlocal_mentioned_p <cycle 14> [1820]
                0.00    0.00      28/1104383     prescan_loop [747]
                0.00    0.00      30/1104383     dead_or_predicable [831]
                0.00    0.00     539/1104383     thread_jump [278]
                0.00    0.00     742/1104383     combine_stack_adjustments_for_block [758]
                0.00    0.00     863/1104383     nonlocal_referenced_p [743]
                0.00    0.00     935/1104383     global_reg_mentioned_p [734]
                0.00    0.00    7032/1104383     returnjump_p [469]
                0.00    0.01   13818/1104383     copyprop_hardreg_forward_1 [126]
                0.00    0.01   17459/1104383     mark_used_regs [64]
                0.01    0.01   27960/1104383     compute_insns_for_mem [256]
                0.01    0.01   29111/1104383     mark_set_1 [37]
                0.04    0.07  190357/1104383     cse_basic_block [11]
                0.06    0.10  248600/1104383     invalidate [31]
                0.13    0.22  565900/1104383     approx_reg_cost [24]
[17]    13.4    0.26    0.43 1109427+2958195 for_each_rtx <cycle 14> [17]
                0.05    0.33  995543/995543      check_dependence [23]
                0.02    0.00  253144/253144      insns_for_mem_walk [227]
                0.02    0.00 1377376/1377376     approx_reg_cost_1 [229]
                0.01    0.00 1022927/1022927     check_for_label_ref [338]
                0.00    0.00    8246/8246        nonlocal_mentioned_p_1 [914]
                0.00    0.00    2746/2746        record_stack_memrefs [1074]
                0.00    0.00  268096/268096      invalidate_mems_from_autoinc [1242]
                0.00    0.00    1085/1085        mentions_nonequal_regs [1274]
                0.00    0.00     146/146         insert_loop_mem [1514]
                0.00    0.00   79243/79243       kill_autoinc_value [1560]
                0.00    0.00   41298/41298       returnjump_p_1 [1587]
                0.00    0.00    5167/5167        global_reg_mentioned_p_1 [1790]
                0.00    0.00      90/90          find_memory [2401]
                                7993             nonlocal_set_p_1 <cycle 14> [1729]
                                4522             nonlocal_referenced_p_1 <cycle 14> [1807]
                                2361             nonlocal_mentioned_p <cycle 14> [1820]
                                 938             nonlocal_set_p <cycle 14> [1948]
                             2958195             for_each_rtx <cycle 14> [17]
-----------------------------------------------
[18]    10.4    0.11    0.42  351586+265120  <cycle 8 as a whole> [18]
                0.09    0.21  425486+158557      fold_rtx <cycle 8> [27]
                0.02    0.20  120569             find_best_addr <cycle 8> [34]
                0.00    0.00   56244             equiv_constant <cycle 8> [931]
-----------------------------------------------
[19]     9.9    0.00    0.51    1744+155     <cycle 19 as a whole> [19]
                0.00    0.05    1318             cleanup_cfg <cycle 19> [114]
                0.00    0.00     157             update_life_info_in_dirty_blocks <cycle 19> [2323]
-----------------------------------------------
                0.00    0.00      14/228755      dead_or_predicable [831]
                0.00    0.03   14004/228755      peephole2_optimize [119]
                0.04    0.42  214737/228755      propagate_block [21]
[20]     9.6    0.04    0.45  228755         propagate_one_insn [20]
                0.11    0.07 1050732/1229455     mark_set_1 [37]
                0.02    0.10  100385/100385      insn_dead_p [55]
                0.05    0.05  169675/169675      mark_used_regs [64]
                0.01    0.03  169814/169814      mark_set_regs [141]
                0.01    0.00  169744/285414      bitmap_clear [351]
                0.00    0.00  169884/1966491     find_reg_note [109]
                0.00    0.00   75851/175383      mark_used_reg [404]
                0.00    0.00   22820/49801       free_EXPR_LIST_list [610]
                0.00    0.00   22842/897572      bitmap_set_bit [339]
                0.00    0.00      70/70          propagate_block_delete_insn [1359]
                0.00    0.00       5/108937      prologue_epilogue_contains [236]
                0.00    0.00      22/439137      invalidate_mems_from_set [326]
                0.00    0.00       5/5           sibcall_epilogue_contains [1508]
-----------------------------------------------

[[ ... rest omitted ... ]]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]