From 124da27518339cca241634edd70a89126450c78e Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Sun, 14 Sep 1997 17:11:52 +0000 Subject: [PATCH] regmove.c (regmove_optimize): If we end up moving the original insn due to lifetime overlaps... * regmove.c (regmove_optimize): If we end up moving the original insn due to lifetime overlaps, make sure to move REG_NOTES too. Fixes x86 (and maybe h8) failure. From-SVN: r15435 --- gcc/ChangeLog | 6 ++++++ gcc/regmove.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25e632f0031..1aa76275b5d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com) + + * regmove.c (regmove_optimize): If we end up moving the + original insn due to lifetime overlaps, make sure to move + REG_NOTES too. + Sat Sep 13 15:51:11 1997 Manfred Hollstein * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure. diff --git a/gcc/regmove.c b/gcc/regmove.c index 1efb9ceed89..0530780a296 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -515,6 +515,8 @@ regmove_optimize (f, nregs, regmove_dump_file) else #endif { + rtx notes = REG_NOTES (insn); + emit_insn_after_with_line_notes (pat, PREV_INSN (p), insn); PUT_CODE (insn, NOTE); @@ -525,6 +527,8 @@ regmove_optimize (f, nregs, regmove_dump_file) for the new insn. */ for (insn = p; PATTERN (insn) != pat; ) insn = PREV_INSN (insn); + + REG_NOTES (insn) = notes; } } /* Sometimes we'd generate src = const; src += n; -- 2.30.2