Disable late-combine for -O0 [PR115677]

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.
This commit is contained in:
Richard Sandiford 2024-06-27 14:51:37 +01:00
parent 187eeb99ec
commit f6081ee665

View 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)
{