This should help to diagnose problems like PR115631.
gcc/
* dbgcnt.def (late_combine): New debug counter.
* late-combine.cc (insn_combination::run): Use it.
DEBUG_COUNTER (ipa_sra_retvalues)
DEBUG_COUNTER (ira_move)
DEBUG_COUNTER (ivopts_loop)
+DEBUG_COUNTER (late_combine)
DEBUG_COUNTER (lim)
DEBUG_COUNTER (local_alloc_for_sched)
DEBUG_COUNTER (loop_unswitch)
#include "tree-pass.h"
#include "cfgcleanup.h"
#include "target.h"
+#include "dbgcnt.h"
using namespace rtl_ssa;
|| !crtl->ssa->verify_insn_changes (m_nondebug_changes))
return false;
+ // We've now decided that the optimization is valid and profitable.
+ // Allow it to be suppressed for bisection purposes.
+ if (!dbg_cnt (::late_combine))
+ return false;
+
substitute_optional_uses (m_def);
confirm_change_group ();