diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2010-07-28 18:00:09 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2010-07-28 20:00:09 +0200 |
commit | 3c5273a96ba8dbf98c40bc6d9d0a1587b4cfedb2 (patch) | |
tree | e9456c08db3a11dbe46b002ed8ff55b4f9ebee25 /gcc/function.c | |
parent | c9d75a48c4ea63ab27ccdb40f993236289b243f2 (diff) | |
download | gcc-3c5273a96ba8dbf98c40bc6d9d0a1587b4cfedb2.zip gcc-3c5273a96ba8dbf98c40bc6d9d0a1587b4cfedb2.tar.gz gcc-3c5273a96ba8dbf98c40bc6d9d0a1587b4cfedb2.tar.bz2 |
i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
2010-07-28 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
* config/i386/i386.c (ix86_profile_before_prologue): New.
(override_options): Add special handling for -mfentry.
(ix86_function_regparm): Likewise.
(ix86_function_sseregparm): Likewise.
(ix86_frame_pointer_required): Likewise.
(ix86_expand_prologue): Check for ms_hook_prologue.
(x86_function_profiler): Adjust mcount output.
(TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
* config/i386/i386.opt (mfentry): New.
* doc/invoke.texi (mfentry): Add documentation.
* doc/tm.texi: Regenerated..
* doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
* final.c (final_start_function): Replace macro
PROFILE_BEFORE_PROLOGUE by target hook.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* target.def (profile_before_prologue): New hook.
* targhooks.c (default_profile_before_prologue): New.
* targhooks.h (default_profile_before_prologue): New.
From-SVN: r162651
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c index 5a308f4..e89a5c9 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5183,13 +5183,11 @@ thread_prologue_and_epilogue_insns (void) record_insns (seq, NULL, &prologue_insn_hash); 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 (crtl->profile) + if (!targetm.profile_before_prologue () && crtl->profile) emit_insn (gen_blockage ()); -#endif seq = get_insns (); end_sequence (); |