If selective scheduling copies register restores it confuses dwarf2cfi.
2016-06-07 Segher Boessenkool <seg...@kernel.crashing.org> * sel-sched-ir.c (init_global_and_expr_for_insn): Don't copy instructions with a REG_CFA_RESTORE note. --- gcc/sel-sched-ir.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 83f813a..4a3984a 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -3015,6 +3015,7 @@ init_global_and_expr_for_insn (insn_t insn) /* TRAP_IF though have an INSN code is control_flow_insn_p (). */ || control_flow_insn_p (insn) || volatile_insn_p (PATTERN (insn)) + || find_reg_note (insn, REG_CFA_RESTORE, NULL) || (targetm.cannot_copy_insn_p && targetm.cannot_copy_insn_p (insn))) force_unique_p = true; -- 1.9.3