This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Fix gcc.dg/tree-ssa/20030530-2.c


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?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]