aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChandrakala Chavva <cchavva@redhat.com>2001-02-06 20:05:35 -0500
committerChandra Chavva <cchavva@gcc.gnu.org>2001-02-06 20:05:35 -0500
commit8480e4804cd9493fe7d3995f194138326a58b4c4 (patch)
tree0c18211f287a38ff9a4df25afe649a2f53598ab0 /gcc
parent7739adfb17bdef58039b9c5aef0f33bd5f2fabf5 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c27
-rw-r--r--gcc/final.c4
-rw-r--r--gcc/output.h2
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;