This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/37448] gcc 4.3.1 cannot compile big function
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 18 Jan 2011 14:58:29 +0000
- Subject: [Bug middle-end/37448] gcc 4.3.1 cannot compile big function
- Auto-submitted: auto-generated
- References: <bug-37448-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448
--- Comment #44 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-18 14:58:04 UTC ---
and later IRA
samples % app name symbol name
25826 56.8667 cc1 allocno_spill_priority_compare
6812 14.9994 cc1 ira_build_conflicts
4308 9.4859 cc1 splay_tree_splay
2847 6.2689 cc1 color_pass
1661 3.6574 cc1 push_allocno_to_stack
1336 2.9418 cc1 build_object_conflicts
468 1.0305 cc1 bitmap_bit_p
443 0.9754 cc1 splay_tree_insert
df reaching defs : 1.65 ( 1%) usr 0.42 (10%) sys 2.10 ( 1%) wall
0 kB ( 0%) ggc
df live regs : 4.27 ( 2%) usr 0.00 ( 0%) sys 4.24 ( 2%) wall
0 kB ( 0%) ggc
df live&initialized regs: 1.31 ( 1%) usr 0.01 ( 0%) sys 1.32 ( 1%) wall
0 kB ( 0%) ggc
df use-def / def-use chains: 0.72 ( 0%) usr 0.00 ( 0%) sys 0.72 ( 0%)
wall 0 kB ( 0%) ggc
df reg dead/unused notes: 4.32 ( 2%) usr 0.00 ( 0%) sys 4.31 ( 2%) wall
8508 kB ( 1%) ggc
register information : 2.05 ( 1%) usr 0.00 ( 0%) sys 2.02 ( 1%) wall
0 kB ( 0%) ggc
362 0.7971 cc1 splay_tree_remove
193 0.4250 cc1 splay_tree_free
167 0.3677 cc1 add_copies
inline heuristics : 81.88 (35%) usr 0.04 ( 1%) sys 82.07 (35%) wall
44238 kB ( 5%) ggc
CSE : 4.09 ( 2%) usr 0.00 ( 0%) sys 4.12 ( 2%) wall
138 kB ( 0%) ggc
CSE 2 : 4.13 ( 2%) usr 0.00 ( 0%) sys 4.12 ( 2%) wall
125 kB ( 0%) ggc
integrated RA : 50.18 (22%) usr 0.18 ( 4%) sys 50.48 (21%) wall
7472 kB ( 1%) ggc
reload : 9.21 ( 4%) usr 0.00 ( 0%) sys 9.25 ( 4%) wall
12180 kB ( 1%) ggc
scheduling 2 : 3.81 ( 2%) usr 0.00 ( 0%) sys 3.79 ( 2%) wall
356 kB ( 0%) ggc
So mostly IRA and main inliner. I am not sure how much I can do for main
inliner except for adding some hard limit on how much work we put into updating
the priority queue and ignoring inconsistencies when it is met...
Honza