------- 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