diff options
author | Jeffrey A Law <law@cygnus.com> | 1997-09-14 17:11:52 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-09-14 11:11:52 -0600 |
commit | 124da27518339cca241634edd70a89126450c78e (patch) | |
tree | 0214d9f8fdef29a473fab27b8099805719c098b9 | |
parent | fca9d4b0d440e957007bea1bdf9349a4f933dd8d (diff) | |
download | gcc-124da27518339cca241634edd70a89126450c78e.zip gcc-124da27518339cca241634edd70a89126450c78e.tar.gz gcc-124da27518339cca241634edd70a89126450c78e.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/regmove.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25e632f..1aa7627 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 <manfred@s-direktnet.de> * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure. diff --git a/gcc/regmove.c b/gcc/regmove.c index 1efb9ce..0530780 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; |