+2008-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/35607
+ * tree-ssa-loop-niter.c (expand_simple_operations): Do not
+ expand TREE_INVARIANT operations that are not gimple invariant.
+
2008-03-16 Hans-Peter Nilsson <hp@axis.com>
* doc/extend.texi (Alignment): Say that the ABI controls
+2008-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/35607
+ * gcc.c-torture/compile/pr35607.c: New testcase.
+ * gcc.dg/tree-ssa/loop-19.c: Use -O2 to avoid vectorization.
+
2008-03-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35582
--- /dev/null
+extern void (*__fini_array_start []) (void);
+extern void (*__fini_array_end []) (void);
+void
+__libc_csu_fini (void)
+{
+ __SIZE_TYPE__ i = __fini_array_end - __fini_array_start;
+ while (i-- > 0)
+ (*__fini_array_start [i]) ();
+}
/* { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-*} } */
/* { dg-require-effective-target nonpic } */
-/* { dg-options "-O3 -fdump-tree-final_cleanup" } */
+/* { dg-options "-O2 -fdump-tree-final_cleanup" } */
# define N 2000000
static double a[N],c[N];
return expr;
e = GIMPLE_STMT_OPERAND (stmt, 1);
+ /* Do not expand random invariants. */
+ if (TREE_INVARIANT (e)
+ && !is_gimple_min_invariant (e))
+ return expr;
if (/* Casts are simple. */
TREE_CODE (e) != NOP_EXPR
&& TREE_CODE (e) != CONVERT_EXPR