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
This commit is contained in:
Ulrich Weigand 2004-03-27 16:18:56 +00:00 committed by Ulrich Weigand
parent 053ee101a4
commit 84c1fa24b1
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
* function.c (thread_prologue_and_epilogue): Move
NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
before the epilogue.
2004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
* expr.c (store_constructor): Use gen_int_mode to correctly

View File

@ -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));
}
}