This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New bootstrap error on ia64 (stmt_ann)
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Mon, 17 Nov 2003 12:31:14 -0500
- Subject: Re: [tree-ssa] New bootstrap error on ia64 (stmt_ann)
- Organization: Red Hat Canada
- References: <200311171638.hAHGcp0d023561@speedy.slc.redhat.com>
On Mon, 2003-11-17 at 11:38, law@redhat.com wrote:
> In message <jek75zktpn.fsf@sykes.suse.de>, Andreas Schwab writes:
> >#1 0x40000000003f6460 in stmt_ann (t=0x2000000000537140)
> > at tree-flow-inline.h:54
> >#2 0x40000000003ecab0 in optimize_stmt (si=
> > {tsi = {ptr = 0x20000000008bcdc0, container = 0x20000000008508d0}, bb =
> > 0x6000000000209d28}, block_avail_exprs_p=0x2000000000d127c0)
> > at ../../gcc/tree-ssa-dom.c:2098
> >#3 0x40000000003d9c70 in dom_opt_walk_stmts (walk_data=0x60000fffffffa3f0,
> > bb=0x6000000000209d28, parent_block_last_stmt=0x20000000008b2170)
> > at ../../gcc/tree-ssa-dom.c:971
> >#4 0x40000000003f8080 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x6000000000209d28, last=0x20000000008b2170) at ../../gcc/domwalk.c:71
> >#5 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x6000000000209e78, last=0x20000000008b1bd0) at ../../gcc/domwalk.c:91
> >#6 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x6000000000209fc8, last=0x20000000008b1810) at ../../gcc/domwalk.c:91
> >#7 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020a118, last=0x20000000008b14f0) at ../../gcc/domwalk.c:91
> >#8 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020a268, last=0x20000000008b07d0) at ../../gcc/domwalk.c:91
> >#9 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020a310, last=0x20000000008b8480) at ../../gcc/domwalk.c:91
> >#10 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020aaf0, last=0x20000000008b0500) at ../../gcc/domwalk.c:91
> >#11 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020ab98, last=0x20000000008afd80) at ../../gcc/domwalk.c:91
> >#12 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020ace8, last=0x20000000008b00a0) at ../../gcc/domwalk.c:91
> >#13 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020ad90, last=0x20000000008afc00) at ../../gcc/domwalk.c:91
> >#14 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020aee0, last=0x20000000008a7f20) at ../../gcc/domwalk.c:91
> >#15 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020b030, last=0x20000000008a7e80) at ../../gcc/domwalk.c:91
> >#16 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x600000000020b180, last=0x0) at ../../gcc/domwalk.c:91
> >#17 0x40000000003f8720 in walk_dominator_tree (walk_data=0x60000fffffffa3f0,
> > bb=0x6000000000002418, last=0x0) at ../../gcc/domwalk.c:91
> >#18 0x40000000003d36e0 in tree_ssa_dominator_optimize_1 (
> > fndecl=0x2000000000632680, phase=TDI_dom_1,
> > timevar=TV_TREE_SSA_DOMINATOR_OPTS) at ../../gcc/tree-ssa-dom.c:388
> >#19 0x40000000003d30d0 in tree_ssa_dominator_optimize (
> > fndecl=0x2000000000632680, vars=0x6000000000211c70, phase=TDI_dom_1)
> > at ../../gcc/tree-ssa-dom.c:296
> >#20 0x40000000002e2f40 in optimize_function_tree (fndecl=0x2000000000632680,
> > chain=0x60000fffffffa4f8) at ../../gcc/tree-optimize.c:110
> >#21 0x40000000002e4a20 in tree_rest_of_compilation (fndecl=0x2000000000632680
> >,
> > nested_p=false) at ../../gcc/tree-optimize.c:316
> >#22 0x400000000007a290 in c_expand_body_1 (fndecl=0x2000000000632680,
> > nested_p=0) at ../../gcc/c-decl.c:6202
> >#23 0x400000000007a970 in c_expand_body (fndecl=0x2000000000632680)
> > at ../../gcc/c-decl.c:6232
> >#24 0x4000000000da0c10 in cgraph_expand_function (node=0x20000000008c7400)
> > at ../../gcc/cgraphunit.c:496
> >#25 0x4000000000da8240 in cgraph_expand_all_functions ()
> > at ../../gcc/cgraphunit.c:1316
> >#26 0x4000000000da8990 in cgraph_optimize () at ../../gcc/cgraphunit.c:1380
> >#27 0x40000000001b6730 in c_objc_common_finish_file ()
> > at ../../gcc/c-objc-common.c:243
> >#28 0x4000000000022ce0 in finish_file () at ../../gcc/c-lang.c:196
> >#29 0x4000000000185140 in c_common_parse_file (set_yydebug=0)
> > at ../../gcc/c-opts.c:1228
> >#30 0x4000000000c52590 in compile_file () at ../../gcc/toplev.c:1880
> >#31 0x4000000000c62ff0 in do_compile () at ../../gcc/toplev.c:4751
> >#32 0x4000000000c631f0 in toplev_main (argc=51, argv=0x60000fffffffa638)
> > at ../../gcc/toplev.c:4791
> >#33 0x4000000000255b00 in main (argc=51, argv=0x60000fffffffa638)
> > at ../../gcc/main.c:35
> >(gdb) up
> >#1 0x40000000003f6460 in stmt_ann (t=0x2000000000537140)
> > at tree-flow-inline.h:54
> >54 abort ();
> >(gdb) l
> >49 static inline stmt_ann_t
> >50 stmt_ann (tree t)
> >51 {
> >52 #if defined ENABLE_CHECKING
> >53 if (!is_gimple_stmt (t) && !is_essa_node (t))
> >54 abort ();
> >55 #endif
> >56
> >57 return (stmt_ann_t) t->common.ann;
> >58 }
> >(gdb) p t
> >$1 = 0x2000000000537140
> >(gdb) pt
> > <nop_expr 0x2000000000537140
> > type <pointer_type 0x200000000032f480
> > type <void_type 0x200000000032f3a0 void asm_written VOID
> > align 8 symtab 0 alias set -1
> > pointer_to_this <pointer_type 0x200000000032f480>>
> > unsigned asm_written DI
> > size <integer_cst 0x2000000000325560 constant invariant 64>
> > unit size <integer_cst 0x2000000000325620 constant invariant 8>
> > align 64 symtab 5276608 alias set 96
> > pointer_to_this <pointer_type 0x200000000050da40>>
> >
> > arg 0 <ssa_name 0x2000000000648f00
> > type <pointer_type 0x20000000003538e0 type <integer_type 0x2000000000
> >32c700 char>
> > unsigned asm_written DI size <integer_cst 0x2000000000325560 64>
> >unit size <integer_cst 0x2000000000325620 8>
> > align 64 symtab 3318448 alias set 5
> > pointer_to_this <pointer_type 0x2000000000550620>>
> > >>
> >
> Something is definitely wrong here. We shouldn't have statements such as
> <typecast> value
>
It's the memcpy folder. It's folding
memcpy (T.249_147, (const char *)"", 0);
into
(void *)T.249_147.
because builtins.c:fold_builtin_memcpy says
6266 /* If the LEN parameter is zero, return DEST. */
6267 if (integer_zerop (len))
6268 return omit_one_operand (TREE_TYPE (exp), dest, src);
6269
which is fine, but fold_stmt ought to be realizing that the result it
got has no side effects and so it ought to be replaced with (void)0.
I'm working on a fix.
Diego.