summaryrefslogtreecommitdiff
path: root/libmudflap
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-14 09:13:36 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-14 09:13:36 +0000
commit228bf2b89cffbf4bd36f5b3febeb2e83e956e096 (patch)
tree20df72f941802d316ad1e5b63a60b221cc29586a /libmudflap
parentfc162120aa488ce27609d407021e098f9b6d9a02 (diff)
downloadgcc-228bf2b89cffbf4bd36f5b3febeb2e83e956e096.tar.gz
PR tree-optimization/53265
* common.opt (Waggressive-loop-optimizations): New option. * tree-ssa-loop-niter.c: Include tree-pass.h. (do_warn_aggressive_loop_optimizations): New function. (record_estimate): Call it. Don't add !is_exit bounds to loop->bounds if number_of_latch_executions returned constant. (estimate_numbers_of_iterations_loop): Call number_of_latch_executions early. If number_of_latch_executions returned constant, set nb_iterations_upper_bound back to it. * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations field. * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H). * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document. * gcc.dg/pr53265.c: New test. * gcc.dg/torture/pr49518.c: Add -Wno-aggressive-loop-optimizations to dg-options. * g++.dg/opt/longbranch2.C (EBCOTLut): Double sizes of a2 and a3 arrays. * gcc.dg/tree-ssa/cunroll-10.c (main): Rename to foo. Add argument n, use it as high bound instead of 4. * unwind-dw2.c (execute_cfa_program): Avoid -Waggressive-array-optimizations warnings for DW_CFA_GNU_window_save on targets with DWARF_FRAME_REGISTERS < 32. * testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196650 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libmudflap')
-rw-r--r--libmudflap/ChangeLog5
-rw-r--r--libmudflap/testsuite/libmudflap.c/fail37-frag.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 1872b2ebc4b..6e0d65c2fb7 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53265
+ * testsuite/libmudflap.c/fail37-frag.c: Add optimization barrier.
+
2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
Update copyright years.
diff --git a/libmudflap/testsuite/libmudflap.c/fail37-frag.c b/libmudflap/testsuite/libmudflap.c/fail37-frag.c
index 41ce4b91e05..38dbde56a81 100644
--- a/libmudflap/testsuite/libmudflap.c/fail37-frag.c
+++ b/libmudflap/testsuite/libmudflap.c/fail37-frag.c
@@ -13,7 +13,11 @@ main ()
{
int i;
for (i = 0; i < 5; i++)
- x.s[i].f = 0;
+ {
+ /* Optimization barrier. Prevent gcc from seeing the undefined behavior. */
+ __asm ("" : "+r" (i));
+ x.s[i].f = 0;
+ }
exit (0);
}
/* { dg-output "mudflap violation 1.*" } */