From: Richard Biener Date: Tue, 18 Jan 2022 12:31:56 +0000 (+0100) Subject: ipa/103989 - tame IPA optimizations at -Og X-Git-Tag: basepoints/gcc-13~1637 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e89b2a270d31d7298d516ae545e256645992c7b9;p=thirdparty%2Fgcc.git 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 PR ipa/103989 * passes.def (pass_all_optimizations_g): Remove pass_modref and pass_local_pure_const. --- diff --git a/gcc/passes.def b/gcc/passes.def index 78808424070e..3e75de46c237 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);