diff options
author | Chandrakala Chavva <cchavva@redhat.com> | 2001-02-06 20:05:35 -0500 |
---|---|---|
committer | Chandra Chavva <cchavva@gcc.gnu.org> | 2001-02-06 20:05:35 -0500 |
commit | 8480e4804cd9493fe7d3995f194138326a58b4c4 (patch) | |
tree | 0c18211f287a38ff9a4df25afe649a2f53598ab0 /gcc | |
parent | 7739adfb17bdef58039b9c5aef0f33bd5f2fabf5 (diff) | |
download | gcc-8480e4804cd9493fe7d3995f194138326a58b4c4.zip gcc-8480e4804cd9493fe7d3995f194138326a58b4c4.tar.gz gcc-8480e4804cd9493fe7d3995f194138326a58b4c4.tar.bz2 |
final.c: Revert back my previous changes.
* final.c: Revert back my previous changes.
* output.h: Make profile_label_no extern.
* config/rs6000/rs6000.c (output_profile_hook): Use standard functions
for generating label.
From-SVN: r39506
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 27 | ||||
-rw-r--r-- | gcc/final.c | 4 | ||||
-rw-r--r-- | gcc/output.h | 2 |
4 files changed, 24 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7aa8c72..9c1596c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-02-06 Chandrakala Chavva <cchavva@redhat.com> + + * final.c: Revert back my previous changes. + * output.h: Make profile_label_no extern. + * config/rs6000/rs6000.c (output_profile_hook): Use standard functions + for generating label. + 2001-02-06 Laurynas Biveinis <lauras@softhome.net> * config/i386/djgpp.h: Add comments about standard paths. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 40c8bbd..d64d777 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -7118,24 +7118,21 @@ void output_profile_hook (labelno) int labelno; { + if (DEFAULT_ABI == ABI_AIX) + { + char buf[30]; + char *label_name; + rtx fun; - if (profile_flag && DEFAULT_ABI == ABI_AIX) - { - char *buf; - int length = 0; - rtx fun; - - labelno += 1; - buf = permalloc (labelno+6); - - ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno); - - fun = gen_rtx_SYMBOL_REF (Pmode, buf+1); + labelno += 1; - emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 1, - fun, Pmode, Pmode); + ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno); + STRIP_NAME_ENCODING (label_name, ggc_strdup (buf)); + fun = gen_rtx_SYMBOL_REF (Pmode, label_name); - } + emit_library_call (init_one_libfunc (RS6000_MCOUNT), 0, VOIDmode, 1, + fun, Pmode); + } } /* Write function profiler code. */ diff --git a/gcc/final.c b/gcc/final.c index 18f3e90..3a2fc15 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -205,6 +205,10 @@ 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; diff --git a/gcc/output.h b/gcc/output.h index 0cdb719..d50b795 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -459,4 +459,4 @@ extern const char *user_label_prefix; #endif /* Assign unique numbers to labels generated for profiling. */ -int profile_label_no; +extern int profile_label_no; |