This is the mail archive of the gcc@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] New bootstrap error on ia64 (stmt_ann)


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.


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