------- Comment #2 from rguenth at gcc dot gnu dot org  2006-04-17 10:34 -------

#5  0x081a8738 in get_val_for (x=0xb7dedea0, base=0xb7d70480)
    at /space/rguenther/src/svn/gcc-4_1-branch/gcc/tree-ssa-loop-niter.c:1254
1254          val = fold (TREE_OPERAND (stmt, 1));
(gdb) call debug_generic_expr(stmt)
xD.1278_3 = __builtin_pow (4.0e+0, 2.0e+0)

which we don't evaluate at compile-time.  So loop_niter_by_eval builds
(gdb) call debug_generic_expr(expr)
__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow (__builtin_pow
(__builtin_pow ......

on which we punt at some point.  Now, we definitely should fold 4.0**2.0 at
compile time, too.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org, rakdver at gcc dot gnu
                   |                            |dot org
           Keywords|                            |missed-optimization


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

Reply via email to