------- Comment #37 from steven at gcc dot gnu dot org 2007-12-19 22:13 -------
Brad,
I am looking at your dump and your backtraces (many many thanks!!!) and I think
I have an idea how to improve the situation a bit here:
> Program received signal SIGINT, Interrupt.
> 0x00000000004687c9 in bitmap_elt_insert_after (head=0x963b0f0,
> elt=0xd30a7a70, indx=561) at ../../../mainline/gcc/bitmap.c:203
> 203 if (element->next)
> (gdb) where
> #0 0x00000000004687c9 in bitmap_elt_insert_after (head=0x963b0f0,
> elt=0xd30a7a70, indx=561) at ../../../mainline/gcc/bitmap.c:203
> #1 0x000000000046a19b in bitmap_ior_into (a=0x963b0f0, b=Variable
> "b" is not available.
> ) at ../../../mainline/gcc/bitmap.c:913
> #2 0x00000000004adce6 in df_worklist_dataflow (dataflow=0x7829f20,
> blocks_to_consider=0x9c1f250, blocks_in_postorder=0x2ab81c6010,
> n_blocks=Variable "n_blocks" is not available.
> )
> at ../../../mainline/gcc/df-core.c:875
> #3 0x00000000004acd7e in df_analyze_problem (dflow=0x7829f20,
blocks_to_consider=0x9c1f250, postorder=0x2ab81c6010, n_blocks=59465)
> at ../../../mainline/gcc/df-core.c:1060
... and ...
> df live&initialized regs: 93.27 (37%) usr 2.67 (16%) sys 204.59
(41%) wall 0 kB ( 0%) ggc
I have seen this before :-) In fact, I already attached a patch implementing
this idea in another bug report, bug 34400.
This may be asking a lot, but could you do something for me please? Could you
install the patches df_hack2.diff and df_double_queue_worklist.diff, and redo
the timings? Both patches are attached to bug 34400.
If adding the patches I mentioned does not help, could you try to interrupt gdb
a few times more, and then look a few times in df_analyze_problem which problem
dflow is? I.e. "p dflow" or "p (timevar_id_t) dflow->tv_id", or whatever works
to see which problem we are in? I suspect we may be creating dataflow problems
that are too large to handle.
Many thanks for your help!
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |steven at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854