diff options
author | kan <kan@FreeBSD.org> | 2007-08-14 02:45:23 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-08-14 02:45:23 +0000 |
commit | d2ff90cc580c62afb8528917c1c80ac49d9aaa01 (patch) | |
tree | 7b2fa7d3de8706d9ca72fdb284ce2a57f67d460a /contrib/gcc/function.c | |
parent | 8a2681fa7ee14c49235e12318f7de5a9a7f492ea (diff) | |
download | FreeBSD-src-d2ff90cc580c62afb8528917c1c80ac49d9aaa01.zip FreeBSD-src-d2ff90cc580c62afb8528917c1c80ac49d9aaa01.tar.gz |
GCC 4.2.1 release.
Diffstat (limited to 'contrib/gcc/function.c')
-rw-r--r-- | contrib/gcc/function.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/gcc/function.c b/contrib/gcc/function.c index 5e43484..ca88e0b 100644 --- a/contrib/gcc/function.c +++ b/contrib/gcc/function.c @@ -5076,6 +5076,14 @@ thread_prologue_and_epilogue_insns (rtx f ATTRIBUTE_UNUSED) /* Retain a map of the prologue insns. */ record_insns (seq, &prologue); prologue_end = emit_note (NOTE_INSN_PROLOGUE_END); + +#ifndef PROFILE_BEFORE_PROLOGUE + /* Ensure that instructions are not moved into the prologue when + profiling is on. The call to the profiling routine can be + emitted within the live range of a call-clobbered register. */ + if (current_function_profile) + emit_insn (gen_rtx_ASM_INPUT (VOIDmode, "")); +#endif seq = get_insns (); end_sequence (); |