aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-01-18 13:31:56 +0100
committerRichard Biener <rguenther@suse.de>2022-01-18 15:43:04 +0100
commite89b2a270d31d7298d516ae545e256645992c7b9 (patch)
tree52263b0204531b2d254bc7905f7b15d1156fb60a /gcc
parent7402e40a2e2f5eac4489d28ac696e15c88c07f51 (diff)
downloadgcc-e89b2a270d31d7298d516ae545e256645992c7b9.zip
gcc-e89b2a270d31d7298d516ae545e256645992c7b9.tar.gz
gcc-e89b2a270d31d7298d516ae545e256645992c7b9.tar.bz2
ipa/103989 - tame IPA optimizations at -Og
With -Og we are not prepared to do cleanup after IPA optimizations and dead code exposed by those confuses late diagnostic passes. This is a first patch removing unwanted IPA optimizations, namely both late modref and pure-const analysis. 2022-01-18 Richard Biener <rguenther@suse.de> PR ipa/103989 * passes.def (pass_all_optimizations_g): Remove pass_modref and pass_local_pure_const.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/passes.def5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/passes.def b/gcc/passes.def
index 7880842..3e75de4 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -372,6 +372,9 @@ along with GCC; see the file COPYING3. If not see
POP_INSERT_PASSES ()
NEXT_PASS (pass_all_optimizations_g);
PUSH_INSERT_PASSES_WITHIN (pass_all_optimizations_g)
+ /* The idea is that with -Og we do not perform any IPA optimization
+ so post-IPA work should be restricted to semantically required
+ passes and all optimization work is done early. */
NEXT_PASS (pass_remove_cgraph_callee_edges);
NEXT_PASS (pass_strip_predict_hints, false /* early_p */);
/* Lower remaining pieces of GIMPLE. */
@@ -399,8 +402,6 @@ along with GCC; see the file COPYING3. If not see
number of false positives from it. */
NEXT_PASS (pass_split_crit_edges);
NEXT_PASS (pass_late_warn_uninitialized);
- NEXT_PASS (pass_local_pure_const);
- NEXT_PASS (pass_modref);
/* uncprop replaces constants by SSA names. This makes analysis harder
and thus it should be run last. */
NEXT_PASS (pass_uncprop);