summaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sysv4.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-21 17:47:44 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-21 17:47:44 +0000
commit290fa2d3cdbb0ca6308c34db69ddc0f474baf0ea (patch)
treea99da405152b364cbdfe9d3e91858d70b9a20881 /gcc/config/sparc/sysv4.h
parent602c2dae8647c0053ea96d189e0dca02192e9f9f (diff)
downloadgcc-290fa2d3cdbb0ca6308c34db69ddc0f474baf0ea.tar.gz
* sparc.c (sparc_override_options): Don't allow profiling for
code models other than medlow. (sparc_function_profiler): New function from old FUNCTION_PROFILER macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION. (sparc_function_block_profiler): Likewise. Use user_label_prefix. (sparc_block_profiler): Likewise. (sparc_function_block_profiler_exit): Likewise. * sparc.h (FUNCTION_PROFILER): Call new sparc.c function. (FUNCTION_BLOCK_PROFILER): Likewise. (BLOCK_PROFILER): Likewise. (FUNCTION_BLOCK_PROFILER_EXIT): Likewise. (MCOUNT_FUNCTION): New. * sparc/pbd.h (FUNCTION_PROFILER): Delete. (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete. * sparc/sun4o3.h (FUNCTION_PROFILER): Delete. (MCOUNT_FUNCTION): New. * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete. (BLOCK_PROFILER): Delete. (MCOUNT_FUNCTION): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27672 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc/sysv4.h')
-rw-r--r--gcc/config/sparc/sysv4.h27
1 files changed, 5 insertions, 22 deletions
diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h
index 572b9dcde73..5f9bba9e594 100644
--- a/gcc/config/sparc/sysv4.h
+++ b/gcc/config/sparc/sysv4.h
@@ -200,28 +200,6 @@ do { \
else \
fprintf (FILE, ".section\t\"%s\",#alloc,#write\n", (NAME)); \
} while (0)
-
-/* Output assembler code to FILE to initialize this source file's
- basic block profiling info, if that has not already been done. */
-
-#undef FUNCTION_BLOCK_PROFILER
-#define FUNCTION_BLOCK_PROFILER(FILE, LABELNO) \
- do { \
- fprintf (FILE, "\tsethi %%hi(.LLPBX0),%%o0\n\tld [%%lo(.LLPBX0)+%%o0],%%o1\n\ttst %%o1\n\tbne LPY%d\n\tadd %%o0,%%lo(.LLPBX0),%%o0\n\tcall __bb_init_func\n\tnop\nLPY%d:\n", \
- (LABELNO), (LABELNO)); \
- } while (0)
-
-/* Output assembler code to FILE to increment the entry-count for
- the BLOCKNO'th basic block in this source file. */
-
-#undef BLOCK_PROFILER
-#define BLOCK_PROFILER(FILE, BLOCKNO) \
-{ \
- int blockn = (BLOCKNO); \
- fprintf (FILE, "\tsethi %%hi(.LLPBX2+%d),%%g1\n\tld [%%lo(.LLPBX2+%d)+%%g1],%%g2\n\
-\tadd %%g2,1,%%g2\n\tst %%g2,[%%lo(.LLPBX2+%d)+%%g1]\n", \
- 4 * blockn, 4 * blockn, 4 * blockn); \
-}
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named
@@ -231,3 +209,8 @@ do { \
#undef ASM_OUTPUT_ALIGNED_BSS
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+
+/* Override the name of the mcount profiling function. */
+
+#undef MCOUNT_FUNCTION
+#define MCOUNT_FUNCTION "*_mcount"