@@ -186,6 +186,7 @@ DEBUG_COUNTER (ipa_sra_params)
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)
@@ -41,6 +41,7 @@
#include "tree-pass.h"
#include "cfgcleanup.h"
#include "target.h"
+#include "dbgcnt.h"
using namespace rtl_ssa;
@@ -428,6 +429,11 @@ insn_combination::run ()
|| !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 ();