This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Fix gcc.dg/tree-ssa/20030530-2.c
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 12 Jun 2003 11:47:58 -0600
- Subject: Re: [tree-ssa] Fix gcc.dg/tree-ssa/20030530-2.c
- Reply-to: law at redhat dot com
In message <1055439583.13007.32.camel@frodo.toronto.redhat.com>, Diego Novillo
writes:
>
>--=-ppk1ojsa0h7vXp0udFP4
>Content-Type: text/plain
>Content-Transfer-Encoding: 7bit
>
>On Wed, 2003-06-11 at 10:12, law@redhat.com wrote:
>
>> This patch fixes all those issues. And (of course) gcc.dg/tree-ssa/2003053
>0-2
>> now passes :-)
>>
>Unfortunately, it also causes a bootstrap regression on PPC32. It's one
>of those nasty memory corruption problems because I can't reproduce it
>with -save-temps.
>
>I had to disable the attached patches in order. The problem seems to be
>in the second patch. We fail compiling insn-extract.c with the stage1
>compiler (full log attached):
>
>GNU C version 3.5-tree-ssa 20030612 (merged 20030525) (powerpc-unknown-linux-
>gnu)
> compiled by GNU C version 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-
>2a).
>GGC heuristics: --param ggc-min-expand=38 --param ggc-min-heapsize=15720
>
>Program received signal SIGSEGV, Segmentation fault.
>htab_remove_elt (htab=0x108aed28, element=0x30b2b340)
> at /home/dnovillo/perf/sbox/tree-ssa-branch/local/src/libiberty/hashtab.c
>:570
>570 if (*slot == EMPTY_ENTRY)
>(gdb) up
>#1 0x1009632c in rewrite_block (bb=0x108a8960, eq_expr_value=0x0)
> at /home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/tree-ssa.c:837
>837 htab_remove_elt (avail_exprs, stmt);
>(gdb) ptu stmt
>
># BLOCK 134 (insn-extract.c:1544). PRED: 0. SUCC: 160.
>pat.161_8444 = (union rtunion[1] *)pat_17(gdb)
>
>
>Something is confusing the avail_exprs hash table. I'm now
>bootstrapping with ENABLED_CHECKING, maybe we get lucky and catch this
>earlier.
>
>Undoing these two patches lets me build insn-extract.c again.
99.9% of the time if you get this you've entered something into the
avail_expr hash table that doesn't belong.
What does
debug_tree(element)
return?