1 msgSerious Bugs In Gcc Builds
1 msgproblems when move one pseudo reg to another (n...
5 msgIssue with fixincludes (?) and `limits.h'
1 msggcc-4.1-20071203 is now available
2 msgHow to reinterpret data in GIMPLE.
3 msg[RFC] Introduce middle-end expressions on arrays
84 msgRant about ChangeLog entries and commit messages
1 msg[RFC] Cleaning up latch blocks
1 msgADOPT A PUP OR KITTEN THIS XMAS.
2 msgproblems compiling a program with -m32
1 msggcc-4.3-20071130 is now available
11 msgvolatile and R/M/W operations
8 msgGNAT SVN trunk on PowerPC and SPARC
10 msgRe: Bug in builtins.def, the execve. don't use ...
9 msgDescribing commercial support on our website
2 msgBug in builtins.def, the execve.
1 msggcc-4.2-20071128 is now available
4 msgTestsuite infrastructure for comparing outputs
18 msgFunction specific optimizations call for discus...

gnat1 huge time
\ Joel Sherrill (28 Nov 2007)
. \ Krister Walfridsson (30 Nov 2007)
. . \ Joel Sherrill (30 Nov 2007)
. . . \ Eric Botcazou (30 Nov 2007)
. . . . \ Joel Sherrill (30 Nov 2007)
. . . . . \ Eric Botcazou (30 Nov 2007)
. . . . . . \ Joel Sherrill (30 Nov 2007)
. . . . . . . \ Eric Botcazou (30 Nov 2007)
. . . . . . . . \ Joel Sherrill (3 Dec 2007)
. . . \ Krister Walfridsson (30 Nov 2007)
. . . . \ Ludovic Brenta (8 Dec 2007)
. . \ Eric Botcazou (30 Nov 2007)

Subject:gnat1 huge time
Group:Gcc
From:Joel Sherrill
Date:28 Nov 2007


Hi,

I am trying to get the SVN head built locally again
and back at work on the GNAT/RTEMS work I was doing.
Unfortunately, I have tripped across something that
is quite bad. Compiling on Linux x86 targeting the
PowerPC or SPARC leads to a huge compilation time
on a single file.

joel 27918 27917 98 08:18 pts/11 02:46:24
/home/joel/work-gnat/svn/b-gcc2-powerpc/./gcc/gnat1 -quiet -nostdinc
-dumpbase g-catiio.adb -O2 -W -Wall -g -gnatpg -gnatO g-catiio.o
g-catiio.adb -o /tmp/cch0iMng.s

Here is the same process in top:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27918 joel 20 0 106m 95m 10m R 100 9.6 170:37.92 gnat1

This is with a PowerPC build. The SPARC eventually finished
in an over night build so I don't know how long it took.
It doesn't appear to be thrashing on memory. Just CPU time.

I attached to the gnat1 process in gdb and got this back trace:
(gdb) bt
#0 0x083f0231 in bitmap_elt_ior (dst=0xc688880, dst_elt=0xc4170d0,
dst_prev=0xafc2144, a_elt=0xc4170d0, b_elt=0xb1d551c, changed=0 '\0')
at ../../gcc/gcc/bitmap.c:1404
#1 0x083f03af in bitmap_ior_into (a=0xc688880, b=0xc6822f8)
at ../../gcc/gcc/bitmap.c:1511
#2 0x0842361e in df_live_confluence_n (e=0x42126e88)
at ../../gcc/gcc/df-problems.c:1524
#3 0x0841d8b5 in df_worklist_propagate_forward (dataflow=0xade6c60,
bb_index=1284, bbindex_to_postorder=0xc6d4050, pending=0xaf65f4c,
considered=0xc651eb8) at ../../gcc/gcc/df-core.c:875
#4 0x0841dfa8 in df_worklist_dataflow (dataflow=0xade6c60,
blocks_to_consider=0xaf65618, blocks_in_postorder=0xacd75d0,
n_blocks=1746)
at ../../gcc/gcc/df-core.c:999
#5 0x0841e17b in df_analyze_problem (dflow=0xade6c60,
blocks_to_consider=0xaf65618, postorder=0xacd75d0, n_blocks=1746)
at ../../gcc/gcc/df-core.c:1060
#6 0x0841e50e in df_analyze () at ../../gcc/gcc/df-core.c:1150
#7 0x08c48e6c in if_convert () at ../../gcc/gcc/ifcvt.c:4045
#8 0x08c49091 in rest_of_handle_if_conversion () at
../../gcc/gcc/ifcvt.c:4124
#9 0x086430ef in execute_one_pass (pass=0x8f19200)
at ../../gcc/gcc/passes.c:1118
#10 0x08643239 in execute_pass_list (pass=0x8f19200)
at ../../gcc/gcc/passes.c:1171
---Type <return> to continue, or q <return> to quit---
#11 0x08643255 in execute_pass_list (pass=0x8f13080)
at ../../gcc/gcc/passes.c:1172
#12 0x08792fa9 in tree_rest_of_compilation (fndecl=0x40048480)
at ../../gcc/gcc/tree-optimize.c:404
#13 0x08a1006b in cgraph_expand_function (node=0x400bd300)
at ../../gcc/gcc/cgraphunit.c:1151
#14 0x08a101fc in cgraph_expand_all_functions ()
at ../../gcc/gcc/cgraphunit.c:1214
#15 0x08a1080d in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1421
#16 0x080a549d in gnat_write_global_declarations ()
at ../../gcc/gcc/ada/utils.c:4024
#17 0x08705647 in compile_file () at ../../gcc/gcc/toplev.c:1055
#18 0x0870706e in do_compile () at ../../gcc/gcc/toplev.c:2245
#19 0x087070d0 in toplev_main (argc=15, argv=0xbf8d1484)
at ../../gcc/gcc/toplev.c:2277
#20 0x083daa6e in main (argc=Cannot access memory at address 0xffffff3a
) at ../../gcc/gcc/main.c:35
(gdb)

Single stepping for a while, I didn't see it get up the call
chain farther than df_worklist_propagate_forward before it
descended again.

Any ideas?

--joel



© 2004-2008 readlist.com