+2010-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
+
2010-07-05 Anatoly Sokolov <aesok@post.ru>
* double-int.h (fit_double_type): Remove declaration.
2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/42505
-
* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
comments about cost model.
(try_add_cand_for): Add second strategy for choosing initial set
+2010-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/guality/nrv-1.c: New test.
+
2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
PR middle-end/42505
-
* gcc.target/arm/pr42505.c: New test case.
2010-07-05 Jakub Jelinek <jakub@redhat.com>
--- /dev/null
+/* { dg-do run } */
+/* { dg-options "-g -fno-tree-sra" } */
+
+void abort (void);
+
+struct A
+{
+ int i[100];
+};
+
+struct A a1, a3;
+
+__attribute__((noinline)) struct A
+f ()
+{
+ struct A a2;
+ a2.i[0] = 42;
+ if (a3.i[0] != 0)
+ abort ();
+ a2.i[4] = 7; /* { dg-final { gdb-test 20 "a2.i\[0\]" "42" } } */
+ return a2;
+}
+
+int
+main ()
+{
+ a1 = f ();
+ return 0;
+}
}
}
+ SET_DECL_VALUE_EXPR (found, result);
+ DECL_HAS_VALUE_EXPR_P (found) = 1;
+
/* FOUND is no longer used. Ensure it gets removed. */
var_ann (found)->used = 0;
return 0;