summaryrefslogtreecommitdiff
path: root/gcc/passes.def
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-11 12:20:07 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-11 12:20:07 +0000
commit13089d2ba573caee1ba108afa6ea7822d7255324 (patch)
treebe8cec824a00db79a4fe6fbc29e2397d2ce351a1 /gcc/passes.def
parent6b960911712a94dbe6693bf43839d987f73e0192 (diff)
downloadgcc-13089d2ba573caee1ba108afa6ea7822d7255324.tar.gz
2013-09-11 Richard Biener <rguenther@suse.de>
PR middle-end/58377 * passes.def: Split critical edges before late uninit warning passes. * tree-cfg.c (pass_split_crit_edges): Implement clone method. * g++.dg/uninit-pred-4.C: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202496 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.def')
-rw-r--r--gcc/passes.def6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/passes.def b/gcc/passes.def
index 736a28b64dc..635b4c464e8 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -249,6 +249,9 @@ along with GCC; see the file COPYING3. If not see
account for the predicates protecting the set and the use of each
variable. Using a representation like Gated Single Assignment
may help. */
+ /* Split critical edges before late uninit warning to reduce the
+ number of false positives from it. */
+ NEXT_PASS (pass_split_crit_edges);
NEXT_PASS (pass_late_warn_uninitialized);
NEXT_PASS (pass_dse);
NEXT_PASS (pass_forwprop);
@@ -282,6 +285,9 @@ along with GCC; see the file COPYING3. If not see
/* ??? 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. */
+ /* Split critical edges before late uninit warning to reduce the
+ number of false positives from it. */
+ NEXT_PASS (pass_split_crit_edges);
NEXT_PASS (pass_late_warn_uninitialized);
NEXT_PASS (pass_uncprop);
NEXT_PASS (pass_local_pure_const);