aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-04-23 07:20:55 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-04-23 16:50:55 +0930
commitf6f315fe1143ddf98f1eb66becabbb10aa92e0a3 (patch)
treefdb47569e86fdbcfcd516dea2f4adaa666e43043 /gcc/final.c
parent878a19ebe2b42ac126f62e4f3d3d2d70f0be26c2 (diff)
downloadgcc-f6f315fe1143ddf98f1eb66becabbb10aa92e0a3.zip
gcc-f6f315fe1143ddf98f1eb66becabbb10aa92e0a3.tar.gz
gcc-f6f315fe1143ddf98f1eb66becabbb10aa92e0a3.tar.bz2
re PR target/6413 (PROFILE_HOOK label_no)
PR target/6413 * function.h: (struct function): Add profile_label_no field. (current_function_profile_label_no): Define. * function.c: (profile_label_no): New static var. (expand_function_start): Increment it, and copy to current_function_profile_label_no. * output.h (profile_label_no): Delete. * final.c (profile_label_no): Delete. (profile_function): Use current_function_profile_label_no. (final_end_function): Don't increment profile_label_no here. * config/i386/i386.c (ix86_osf_output_function_prologue): Replace profile_label_no with current_function_profile_label_no. * config/pa/pa.c (current_function_number): Delete. (pa_output_function_prologue): Don't output profile label here. (hppa_profile_hook): Use label_no param rather than current_function_number. (FUNC_BEGIN_PROLOG_LABEL): Move to .. * config/pa/pa.h: .. here. (FUNCTION_PROFILER): Output profile label here. From-SVN: r52656
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/gcc/final.c b/gcc/final.c
index c76f654..a0adcbe7 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -170,10 +170,6 @@ char regs_ever_live[FIRST_PSEUDO_REGISTER];
int frame_pointer_needed;
-/* Assign unique numbers to labels generated for profiling. */
-
-int profile_label_no;
-
/* Number of unmatched NOTE_INSN_BLOCK_BEG notes we have seen. */
static int block_depth;
@@ -1595,7 +1591,7 @@ profile_function (file)
#ifndef NO_PROFILE_COUNTERS
data_section ();
ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
+ ASM_OUTPUT_INTERNAL_LABEL (file, "LP", current_function_profile_label_no);
assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, align, 1);
#endif
@@ -1625,7 +1621,7 @@ profile_function (file)
#endif
#endif
- FUNCTION_PROFILER (file, profile_label_no);
+ FUNCTION_PROFILER (file, current_function_profile_label_no);
#if defined(STATIC_CHAIN_INCOMING_REGNUM) && defined(ASM_OUTPUT_REG_PUSH)
if (cxt)
@@ -1675,8 +1671,6 @@ final_end_function ()
&& dwarf2out_do_frame ())
dwarf2out_end_epilogue ();
#endif
-
- profile_label_no++;
}
/* Output assembler code for some insns: all or part of a function.