This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Sep 2005 10:52:56 -0000
- Subject: [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
- References: <20040606191038.15855.abegel@cs.berkeley.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-12 10:52 -------
The second testcase works for me on current mainline if adding a class UltraRoot
forward declaration at the top. It takes around 1m30 to compile and uses up
max. 522913kB of memory (1GB box, P4 2.8GHz) at -O2. Still aliasing accounts for
the most time:
samples % image name symbol name
694 26.6411 cc1plus add_stmt_operand
209 8.0230 cc1plus ldst_entry
193 7.4088 cc1plus create_ssa_artficial_load_stmt
181 6.9482 cc1plus compute_global_livein
57 2.1881 cc1plus bitmap_bit_p
50 1.9194 no-vmlinux (no symbols)
45 1.7274 cc1plus compute_may_aliases
42 1.6123 cc1plus invalidate
36 1.3820 cc1plus bitmap_ior_and_compl_into
35 1.3436 cc1plus bitmap_set_bit
35 1.3436 cc1plus for_each_rtx_1
33 1.2668 cc1plus check_dependence
29 1.1132 cc1plus splay_tree_splay_helper
28 1.0749 cc1plus htab_find_slot_with_hash
The 2nd is from GCSE, 3rd from DOM, 4th from either into-ssa or ssa-loop-manip.
Time-report:
tree SSA incremental : 14.27 (17%) usr 0.11 ( 3%) sys 14.46 (16%) wall
12827 kB ( 2%) ggc
tree operand scan : 15.62 (18%) usr 0.27 ( 8%) sys 15.93 (18%) wall
59212 kB (10%) ggc
dominator optimization: 8.67 (10%) usr 0.05 ( 1%) sys 8.64 (10%) wall
110089 kB (19%) ggc
PRE : 6.14 ( 7%) usr 0.01 ( 0%) sys 6.13 ( 7%) wall
536 kB ( 0%) ggc
ldst_entry is walking a list to find an element by hash-id. Throw some
memory at it to add a real hashtable for lookup besides the list.
The DOM stuff looks like value numbering still in DOM, hopefully it will be
ripped out.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855