In split_live_ranges_for_shrink_wrap IRA also splits regs that are only used in debug insns, leading to -fcompare-debug failures.
Bootstrapped and tested on powerpc64-linux {-m32,-m64}. This happens on at least GCC 5, so not a regression; but it is trivial and obvious, is it okay for trunk anyway? Segher 2017-04-18 Segher Boessenkool <seg...@kernel.crashing.org> PR rtl-optimization/80429 * ira.c (split_live_ranges_for_shrink_wrap): Skip DEBUG_INSNs. --- gcc/ira.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/ira.c b/gcc/ira.c index 7079573..1f760fe 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -4999,6 +4999,9 @@ split_live_ranges_for_shrink_wrap (void) rtx_insn *uin = DF_REF_INSN (use); next = DF_REF_NEXT_REG (use); + if (DEBUG_INSN_P (uin)) + continue; + basic_block ubb = BLOCK_FOR_INSN (uin); if (ubb == call_dom || dominated_by_p (CDI_DOMINATORS, ubb, call_dom)) -- 1.9.3