------- Comment #3 from rguenth at gcc dot gnu dot org  2006-04-17 10:51 -------
Hmm, looks more like a tree sharing problem

Breakpoint 5, fold_ternary (code=CALL_EXPR, type=0xb7d5fa6c, op0=0xb7d55540,
    op1=0xb7dd9048, op2=0x0)
    at /space/rguenther/src/svn/gcc-4_1-branch/gcc/fold-const.c:9945
9945      tree arg0 = NULL_TREE, arg1 = NULL_TREE;
(gdb) call debug_tree(op1)
 <tree_list 0xb7dd9048
    value <call_expr 0xb7dd1028
        type <real_type 0xb7d5fa6c double sizes-gimplified DF
            size <integer_cst 0xb7d50540 constant invariant 64>
            unit size <integer_cst 0xb7d50558 constant invariant 8>
            align 64 symtab 0 alias set -1 precision 64
            pointer_to_this <pointer_type 0xb7d5fb80>>
        nothrow
        arg 0 <addr_expr 0xb7d55240 type <pointer_type 0xb7dcf3f4>
            readonly constant invariant arg 0 <function_decl 0xb7d80d80
__builtin_pow>>
        arg 1 <tree_list 0xb7dd67e0 value <call_expr 0xb7dd1028>
            chain <tree_list 0xb7dd67c8
                value <real_cst 0xb7dd6798 type <real_type 0xb7d5fa6c double>
                    constant invariant 2.0e+0>>>
        t.c:5>
    chain <tree_list 0xb7dd9030
        value <real_cst 0xb7dd9000 type <real_type 0xb7d5fa6c double>
            constant invariant 3.2e+1>>>

we are self-referencing and so built up an infinite chain of pow (pow (..., 2)


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|missed-optimization         |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27136

Reply via email to