On Thu, Nov 13, 2008 at 5:25 PM, DJ Delorie <[EMAIL PROTECTED]> wrote:
>
>> I don't think this is a suitable general solution. Can you instead try the
>> attached which again tries to simply make sure we sign-extend a sizetype
>> offset if that is smaller than the pointer mode.
>
> Now I'm getting a ton of errors (like, around 5000) that look like this:
Just remove that assert for testing.
Richard.
> [ gdb ] up
> #1 0x0854aca0 in build2_stat (code=PLUS_EXPR, tt=0xb7efc680,
> arg0=0xb7f76420, arg1=0xb7f717fc)
> at ../../gcc/gcc/tree.c:3293
> 3293 gcc_assert (TREE_CODE (arg0) == INTEGER_CST && TREE_CODE (arg1)
> == INTEGER_CST);
>
> [ gdb ] call debug_tree(arg0)
> <addr_expr 0xb7f76420
> type <pointer_type 0xb7efc680
> type <integer_type 0xb7ef52d8 int sizes-gimplified public HI
> size <integer_cst 0xb7ee7428 constant 16>
> unit size <integer_cst 0xb7ee7444 constant 2>
> align 8 symtab 0 alias set 2 canonical type 0xb7ef52d8 precision
> 16 min <integer_cst 0xb7ee747c -32768> max <integer_cst 0xb7ee7498 32767>
> pointer_to_this <pointer_type 0xb7efc680>>
> unsigned PSI
> size <integer_cst 0xb7ee7540 constant 32>
> unit size <integer_cst 0xb7ee72bc constant 4>
> align 8 symtab 0 alias set -1 canonical type 0xb7efc680>
> constant
> arg 0 <var_decl 0xb7f6c420 test_var.48 type <integer_type 0xb7ef52d8 int>
> used static ignored HI file
> /greed/dj/m32c/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c line 10 col
> 6 size <integer_cst 0xb7ee7428 16> unit size <integer_cst 0xb7ee7444 2>
> align 8
> (mem:HI (symbol_ref:PSI ("test_var.48") [flags 0x2] <var_decl
> 0xb7f6c420 test_var.48>) [0 S2 A8])>>
>
> [ gdb ] call debug_tree(arg1)
> <integer_cst 0xb7f717fc type <pointer_type 0xb7efc680> constant 2000>
>
> [ gdb ] where
> #0 fancy_abort (file=0x87b9369 "../../gcc/gcc/tree.c", line=3293,
> function=0x87b8e84 "build2_stat") at ../../gcc/gcc/diagnostic.c:712
> #1 0x0854aca0 in build2_stat (code=PLUS_EXPR, tt=0xb7efc680,
> arg0=0xb7f76420, arg1=0xb7f717fc)
> at ../../gcc/gcc/tree.c:3293
> #2 0x081dd315 in expand_expr_real_1 (exp=0xb7f734c8, target=0x0,
> tmode=PSImode,
> modifier=EXPAND_NORMAL, alt_rtl=0x0) at ../../gcc/gcc/expr.c:8330
> #3 0x081edc48 in expand_expr_real (exp=0xb7f734c8, target=0x0, tmode=PSImode,
> modifier=EXPAND_NORMAL, alt_rtl=0x0) at ../../gcc/gcc/expr.c:7121
> #4 0x08494789 in computation_cost (expr=0xb7f734c8, speed=0 '\0') at
> ../../gcc/gcc/expr.h:538
> #5 0x084975b7 in force_expr_to_var_cost (expr=0xb7f71674, speed=1 '\001')
> at ../../gcc/gcc/tree-ssa-loop-ivopts.c:3243
> #6 0x08497e15 in force_var_cost (data=0xbfffe458, expr=0xb7f71674,
> depends_on=0xbfffe35c)
> at ../../gcc/gcc/tree-ssa-loop-ivopts.c:3360
> #7 0x0849da6c in determine_use_iv_cost (data=0xbfffe458, use=0x887a1c8,
> cand=0x887a1f0)
> at ../../gcc/gcc/tree-ssa-loop-ivopts.c:3873
> #8 0x0849dbca in determine_use_iv_costs (data=0xbfffe458)
> at ../../gcc/gcc/tree-ssa-loop-ivopts.c:3960
> #9 0x084a0de1 in tree_ssa_iv_optimize () at
> ../../gcc/gcc/tree-ssa-loop-ivopts.c:5549
> #10 0x084ad965 in tree_ssa_loop_ivopts () at ../../gcc/gcc/tree-ssa-loop.c:667
> #11 0x0830363f in execute_one_pass (pass=0x8802240) at
> ../../gcc/gcc/passes.c:1279
> #12 0x083038ac in execute_pass_list (pass=0x8802240) at
> ../../gcc/gcc/passes.c:1328
> #13 0x083038bf in execute_pass_list (pass=0x8801e00) at
> ../../gcc/gcc/passes.c:1329
> #14 0x083038bf in execute_pass_list (pass=0x8801680) at
> ../../gcc/gcc/passes.c:1329
> #15 0x084215f0 in tree_rest_of_compilation (fndecl=0xb7f5e600) at
> ../../gcc/gcc/tree-optimize.c:418
> #16 0x0858ef37 in cgraph_expand_function (node=0xb7f5e680) at
> ../../gcc/gcc/cgraphunit.c:1038
> #17 0x08590d6f in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1097
> #18 0x0805eb8b in c_write_global_declarations () at
> ../../gcc/gcc/c-decl.c:8074
> #19 0x083cbdf6 in toplev_main (argc=16, argv=0xbfffe714) at
> ../../gcc/gcc/toplev.c:979
> #20 0x080d6722 in main (argc=131140, argv=0x0) at ../../gcc/gcc/main.c:35
>