Rewrite hppa profiling support.
* config/pa/pa.c (override_options): Remove PIC profiling warning. (hp_profile_labelno): Delete. (hp_profile_label_rtx): Delete. (hp_profile_label_name): Delete. (pa_add_gc_roots): Remove reference to hp_profile_label_rtx. (output_function_prologue): Remove profiling code and all tests on profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that merge_sp_adjust_with_store can work for PIC and profiling. (hppa_expand_epilogue): Remove profile_flag test. (hppa_can_use_return_insn_p): Likewise. (hppa_init_pic_save): Emit before tail_recursion_reentry, and cater for PROFILE_HOOK. (hppa_profile_hook): New function. * config/pa/pa.h (FUNCTION_PROFILER): Now does nothing. (PROFILE_HOOK): Define. (hppa_profile_hook): Declare. (PROFILE_BEFORE_PROLOGUE): Delete. (ASM_OUTPUT_REG_PUSH): Delete. (ASM_OUTPUT_REG_POP): Delete. * config/pa/pa.md (call_profiler): Turn it into a call insn, and don't `use' r24. Accept function name operand, and use this and a locally generated label to calculate pc-rel offset to func start. From-SVN: r41038
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment