From: Brad Lucier <lucier@math.purdue.edu>
To: rth@cygnus.com (Richard Henderson)
Cc: lucier@math.purdue.edu (Brad Lucier), gcc@gcc.gnu.org
Subject: Re: if-conversion a performance bottleneck
Date: Mon, 01 May 2000 18:01:00 -0000 [thread overview]
Message-ID: <200005020101.UAA24342@polya.math.purdue.edu> (raw)
In-Reply-To: <20000501152934.F2964@cygnus.com>
> Oops. That call was supposed to be ifdef ENABLE_CHECKING.
> With that fixed, are compilation times mostly sane?
> r~
Yes, that helped a lot :-), but if-conversion still takes almost half
the CPU time to compile that file:
popov-211% /export/u10/egcs-profile/lib/gcc-lib/alphaev6-unknown-linux-gnu/2.96/cc1 -O1 -mcpu=ev6 -fno-math-errno -mieee _t-c-2.i
__copysignf copysignf __copysign copysign __fabsf fabsf __fabs fabs __floorf __floor floorf floor __fdimf fdimf __fdim fdim ___H__20___t_2d_c_2d_2 {GC 46791k -> 9596k} {GC 14695k -> 10090k} {GC 14135k -> 10558k} ___init_proc {GC 23543k -> 2096k} ____20___t_2d_c_2d_2
Execution times (seconds)
garbage collection : 0.70 ( 0%) usr 0.00 ( 0%) sys 0.70 ( 0%) wall
parser : 6.25 ( 3%) usr 0.18 (22%) sys 6.43 ( 3%) wall
varconst : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
integration : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
jump : 6.50 ( 3%) usr 0.38 (48%) sys 6.88 ( 3%) wall
CSE : 2.28 ( 1%) usr 0.00 ( 0%) sys 2.28 ( 1%) wall
global CSE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
loop analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
CSE 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
flow analysis : 58.86 (25%) usr 0.11 (14%) sys 58.99 (25%) wall
combiner : 2.87 ( 1%) usr 0.00 ( 0%) sys 2.87 ( 1%) wall
if-conversion : 59.53 (26%) usr 0.02 ( 3%) sys 59.59 (26%) wall
local alloc : 1.24 ( 1%) usr 0.00 ( 0%) sys 1.24 ( 1%) wall
global alloc : 2.37 ( 1%) usr 0.05 ( 6%) sys 2.42 ( 1%) wall
reload CSE regs : 3.88 ( 2%) usr 0.00 ( 0%) sys 3.88 ( 2%) wall
flow 2 : 27.86 (12%) usr 0.00 ( 0%) sys 27.86 (12%) wall
if-conversion 2 : 55.02 (24%) usr 0.01 ( 2%) sys 55.02 (24%) wall
shorten branches : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
final : 2.77 ( 1%) usr 0.01 ( 1%) sys 2.78 ( 1%) wall
symout : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
rest of compilation : 1.02 ( 0%) usr 0.00 ( 0%) sys 1.02 ( 0%) wall
TOTAL : 231.37 0.81 232.20
Flat profile:
Each sample counts as 0.000976562 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
57.51 111.67 111.67 40604 2.75 2.75 sbitmap_intersection_of_succs
12.83 136.59 24.92 15025 1.66 1.66 sbitmap_intersection_of_preds
9.58 155.19 18.60 20981 0.89 0.89 for_each_successor_phi
3.78 162.54 7.35 25079015 0.00 0.00 bitmap_operation
1.99 166.40 3.86 6 643.72 5013.82 calculate_global_regs_live
1.71 169.73 3.33 18 184.84 184.84 mark_critical_edges
1.57 172.78 3.05 9 338.87 15538.80 compute_flow_dominators
1.49 175.67 2.89 3 963.87 16982.59 flow_loops_find
...
-----------------------------------------------
1.02 45.60 3/9 flow_loops_find [9]
2.03 91.20 6/9 if_convert [8]
[6] 72.0 3.05 136.80 9 compute_flow_dominators [6]
111.67 0.00 40604/40604 sbitmap_intersection_of_succs [7]
24.92 0.00 15025/15025 sbitmap_intersection_of_preds [12]
0.18 0.00 55638/55638 sbitmap_a_and_b [77]
0.02 0.00 9/21 sbitmap_vector_alloc [217]
0.00 0.00 9/9 sbitmap_vector_ones [744]
0.00 0.00 9/12 sbitmap_vector_zero [758]
0.00 0.00 9/31743 sbitmap_zero [752]
-----------------------------------------------
111.67 0.00 40604/40604 compute_flow_dominators [6]
[7] 57.5 111.67 0.00 40604 sbitmap_intersection_of_succs [7]
0.00 0.00 40604/55629 sbitmap_copy [470]
-----------------------------------------------
0.00 96.36 9/9 rest_of_compilation [5]
[8] 49.6 0.00 96.36 9 if_convert [8]
2.03 91.20 6/9 compute_flow_dominators [6]
0.00 3.05 1/10 update_life_info [10]
0.03 0.00 9/18 compute_bb_for_insn [190]
0.00 0.02 9/37 free_basic_block_vars [135]
0.00 0.02 15384/15384 find_if_header [297]
0.01 0.00 6/21 sbitmap_vector_alloc [217]
0.00 0.00 1/25 allocate_reg_info [481]
0.00 0.00 9/5192 get_max_uid [727]
0.00 0.00 2/64864 max_reg_num [454]
0.00 0.00 1/31743 sbitmap_zero [752]
0.00 0.00 1/974 sbitmap_alloc [1076]
0.00 0.00 1/1 count_or_remove_death_notes [1385]
-----------------------------------------------
2.89 48.06 3/3 rest_of_compilation [5]
[9] 26.2 2.89 48.06 3 flow_loops_find [9]
1.02 45.60 3/9 compute_flow_dominators [6]
0.71 0.00 964/964 flow_loop_exits_find [31]
0.71 0.00 1/1 flow_depth_first_order_compute [32]
0.01 0.00 3/21 sbitmap_vector_alloc [217]
0.00 0.00 3/3 flow_loops_tree_build [604]
0.00 0.00 964/964 flow_loop_nodes_find [698]
0.00 0.00 964/964 sbitmap_first_set_bit [739]
0.00 0.00 964/964 flow_loop_pre_header_find [738]
0.00 0.00 2/31743 sbitmap_zero [752]
0.00 0.00 966/974 sbitmap_alloc [1076]
0.00 0.00 964/964 sbitmap_last_set_bit [1078]
0.00 0.00 3/3 flow_loops_level_compute [1331]
-----------------------------------------------
0.00 3.05 1/10 if_convert [8]
0.00 9.14 3/10 rest_of_compilation [5]
0.00 18.28 6/10 life_analysis [14]
[10] 15.7 0.00 30.47 10 update_life_info [10]
3.86 26.22 6/6 calculate_global_regs_live [11]
0.02 0.35 15374/27234 propagate_block [34]
0.00 0.00 15374/27239 free_propagate_block_info [389]
0.01 0.00 15374/72751 bitmap_copy [262]
0.00 0.00 5125/5125 verify_local_live_at_start [573]
0.00 0.00 10/257366 bitmap_clear [283]
0.00 0.00 10/124375 bitmap_initialize [407]
-----------------------------------------------
3.86 26.22 6/6 update_life_info [10]
[11] 15.5 3.86 26.22 6 calculate_global_regs_live [11]
18.60 0.00 20981/20981 for_each_successor_phi [13]
7.30 0.00 24929375/25079015 bitmap_operation [15]
0.01 0.27 11855/27234 propagate_block [34]
0.01 0.00 24210/72751 bitmap_copy [262]
0.00 0.00 52694/257366 bitmap_clear [283]
0.00 0.00 11855/27239 free_propagate_block_info [389]
0.00 0.00 11855/11855 bitmap_equal_p [525]
0.00 0.00 20981/488036 bitmap_set_bit [167]
0.00 0.00 10261/124375 bitmap_initialize [407]
-----------------------------------------------
24.92 0.00 15025/15025 compute_flow_dominators [6]
[12] 12.8 24.92 0.00 15025 sbitmap_intersection_of_preds [12]
0.00 0.00 15025/55629 sbitmap_copy [470]
-----------------------------------------------
18.60 0.00 20981/20981 calculate_global_regs_live [11]
[13] 9.6 18.60 0.00 20981 for_each_successor_phi [13]
-----------------------------------------------
next prev parent reply other threads:[~2000-05-01 18:01 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-05-01 10:54 Brad Lucier
2000-05-01 15:29 ` Richard Henderson
2000-05-01 18:01 ` Brad Lucier [this message]
2000-05-02 5:45 ` Michael Matz
2000-05-02 22:58 ` Michael Matz
2000-05-03 5:50 ` Brad Lucier
2000-05-03 20:05 ` Brad Lucier
2000-05-04 11:46 ` Michael Matz
2000-05-04 19:39 ` Brad Lucier
2000-05-04 22:16 ` Richard Henderson
2000-05-10 8:30 ` Andreas Schwab
2000-05-10 9:36 ` Joe Buck
2000-05-10 9:52 ` Jeffrey A Law
2000-05-10 10:49 ` Joe Buck
2000-05-10 14:17 ` Joern Rennecke
2000-05-10 14:24 ` GNU make options (was Re: if-conversion ...) Joe Buck
2000-05-04 11:55 ` if-conversion a performance bottleneck Richard Henderson
2000-05-05 12:01 ` Jeffrey A Law
2000-05-05 14:32 ` flow_d_f_o_compute misnamed? (was: if-conversion a performance...) Michael Matz
2000-05-05 14:53 ` Jeffrey A Law
2000-05-05 16:10 ` Michael Matz
2000-05-05 17:05 ` Jeffrey A Law
2000-05-05 18:21 ` Michael Matz
2000-05-05 19:04 ` Michael Hayes
2000-05-11 17:14 ` Jeffrey A Law
2000-05-04 22:32 if-conversion a performance bottleneck Mike Stump
2000-05-04 22:35 ` Richard Henderson
2000-05-05 6:12 ` Brad Lucier
2000-05-05 10:37 ` Richard Henderson
2000-05-05 13:35 ` Gerald Pfeifer
2000-05-04 23:28 Mathias Froehlich
2000-05-05 13:46 Brad Lucier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200005020101.UAA24342@polya.math.purdue.edu \
--to=lucier@math.purdue.edu \
--cc=gcc@gcc.gnu.org \
--cc=rth@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).