+2013-06-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/56977
+ * passes.c (init_optimization_passes): Move pass_fold_builtins
+ and pass_dce earlier with -Og.
+
2013-06-25 Eric Botcazou <ebotcazou@adacore.com>
* expr.c (expand_expr_real_1) <ARRAY_REF>: Fix formatting glitches.
/* Perform simple scalar cleanup which is constant/copy propagation. */
NEXT_PASS (pass_ccp);
NEXT_PASS (pass_object_sizes);
+ /* Fold remaining builtins. */
+ NEXT_PASS (pass_fold_builtins);
/* Copy propagation also copy-propagates constants, this is necessary
- to forward object-size results properly. */
+ to forward object-size and builtin folding results properly. */
NEXT_PASS (pass_copy_prop);
+ NEXT_PASS (pass_dce);
NEXT_PASS (pass_asan);
NEXT_PASS (pass_tsan);
NEXT_PASS (pass_rename_ssa_copies);
- NEXT_PASS (pass_dce);
- /* Fold remaining builtins. */
- NEXT_PASS (pass_fold_builtins);
/* ??? We do want some kind of loop invariant motion, but we possibly
need to adjust LIM to be more friendly towards preserving accurate
debug information here. */
+2013-06-25 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/56977
+ * gcc.dg/pr56977.c: New testcase.
+
2013-06-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/57358
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-Og" } */
+
+__attribute__((__error__("error"))) void error ();
+
+void f (int i) {
+ if (__builtin_constant_p (i)) {
+ error ();
+ }
+}