[gcc r12-6676] ipa/103989 - tame IPA optimizations at -Og

Richard Biener rguenth@gcc.gnu.org
Tue Jan 18 14:43:19 GMT 2022


https://gcc.gnu.org/g:e89b2a270d31d7298d516ae545e256645992c7b9

commit r12-6676-ge89b2a270d31d7298d516ae545e256645992c7b9
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Jan 18 13:31:56 2022 +0100

    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.

Diff:
---
 gcc/passes.def | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/passes.def b/gcc/passes.def
index 78808424070..3e75de46c23 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);


More information about the Gcc-cvs mailing list