]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Disable late-combine for -O0 [PR115677]
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 27 Jun 2024 13:51:37 +0000 (14:51 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 27 Jun 2024 13:51:37 +0000 (14:51 +0100)
late-combine relies on df, which for -O0 is only initialised late
(pass_df_initialize_no_opt, after split1).  Other df-based passes
cope with this by requiring optimize > 0, so this patch does the
same for late-combine.

gcc/
PR rtl-optimization/115677
* late-combine.cc (pass_late_combine::gate): New function.

gcc/late-combine.cc

index b7c0bc07a8b7ebfddfb7e3dab661c90881ad8fcc..789d734692a80f888cc0c25cb24efa76c9d306fa 100644 (file)
@@ -744,10 +744,16 @@ public:
 
   // opt_pass methods:
   opt_pass *clone () override { return new pass_late_combine (m_ctxt); }
-  bool gate (function *) override { return flag_late_combine_instructions; }
+  bool gate (function *) override;
   unsigned int execute (function *) override;
 };
 
+bool
+pass_late_combine::gate (function *)
+{
+  return optimize > 0 && flag_late_combine_instructions;
+}
+
 unsigned int
 pass_late_combine::execute (function *fn)
 {