diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2004-03-27 16:18:56 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2004-03-27 16:18:56 +0000 |
commit | 84c1fa24b1cb78ca71c2f5a490f93f266073e9bc (patch) | |
tree | 7014f4929b7eefb376966d4ee1e5b6b6445a0659 /gcc/function.c | |
parent | 053ee101a4222e929c90c8583fde96f9222f032f (diff) | |
download | gcc-84c1fa24b1cb78ca71c2f5a490f93f266073e9bc.zip gcc-84c1fa24b1cb78ca71c2f5a490f93f266073e9bc.tar.gz gcc-84c1fa24b1cb78ca71c2f5a490f93f266073e9bc.tar.bz2 |
function.c (thread_prologue_and_epilogue): Move NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes before the epilogue.
* function.c (thread_prologue_and_epilogue): Move
NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
before the epilogue.
From-SVN: r80025
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index 4236d15..0972615 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -8014,11 +8014,16 @@ epilogue_done: /* Similarly, move any line notes that appear after the epilogue. There is no need, however, to be quite so anal about the existence - of such a note. */ + of such a note. Also move the NOTE_INSN_FUNCTION_END and (possibly) + NOTE_INSN_FUNCTION_BEG notes, as those can be relevant for debug + info generation. */ for (insn = epilogue_end; insn; insn = next) { next = NEXT_INSN (insn); - if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0) + if (GET_CODE (insn) == NOTE + && (NOTE_LINE_NUMBER (insn) > 0 + || NOTE_LINE_NUMBER (insn) == NOTE_INSN_FUNCTION_BEG + || NOTE_LINE_NUMBER (insn) == NOTE_INSN_FUNCTION_END)) reorder_insns (insn, insn, PREV_INSN (epilogue_end)); } } |