spu-elf.h (STARTFILE_SPEC): Add support for gprof startup files.

2009-12-03  Ken Werner  <ken.werner@de.ibm.com>

        * config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
        startup files.
        * config/spu/spu-protos.h (spu_function_profiler): Add prototype.
        * config/spu/spu.c (spu_function_profiler): New function.
        * config/spu/spu.h (FUNCTION_PROFILER): Invoke
        spu_function_profiler.
        (NO_PROFILE_COUNTERS): Define.
        (PROFILE_BEFORE_PROLOGUE): Likewise.

From-SVN: r154942
This commit is contained in:
Ken Werner 2009-12-03 11:47:11 +00:00 committed by Andreas Krebbel
parent a27c404027
commit 75741fedc5
5 changed files with 27 additions and 4 deletions

View File

@ -1,3 +1,14 @@
2009-12-03 Ken Werner <ken.werner@de.ibm.com>
* config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
startup files.
* config/spu/spu-protos.h (spu_function_profiler): Add prototype.
* config/spu/spu.c (spu_function_profiler): New function.
* config/spu/spu.h (FUNCTION_PROFILER): Invoke
spu_function_profiler.
(NO_PROFILE_COUNTERS): Define.
(PROFILE_BEFORE_PROLOGUE): Likewise.
2009-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
* ggc-page.c (struct free_object): Pull definition out ...

View File

@ -48,8 +48,9 @@
object constructed before entering `main'. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{mstdmain: crt2.o%s} %{!mstdmain: crt1.o%s} \
crti.o%s crtbegin.o%s"
#define STARTFILE_SPEC "%{mstdmain: %{pg|p:gcrt2.o%s;:crt2.o%s}}\
%{!mstdmain: %{pg|p:gcrt1.o%s;:crt1.o%s}}\
crti.o%s crtbegin.o%s"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"

View File

@ -85,6 +85,7 @@ extern void spu_expand_sign_extend (rtx ops[]);
extern void spu_expand_vector_init (rtx target, rtx vals);
extern void spu_init_expanders (void);
extern void spu_split_convert (rtx *);
extern void spu_function_profiler (FILE *, int);
/* spu-c.c */
extern tree spu_resolve_overloaded_builtin (location_t, tree fndecl,

View File

@ -7074,4 +7074,11 @@ spu_split_convert (rtx ops[])
}
}
void
spu_function_profiler (FILE * file, int labelno)
{
fprintf (file, "# profile\n");
fprintf (file, "brsl $75, _mcount\n");
}
#include "gt-spu.h"

View File

@ -393,9 +393,12 @@ targetm.resolve_overloaded_builtin = spu_resolve_overloaded_builtin; \
/* Profiling */
/* Nothing, for now. */
#define FUNCTION_PROFILER(FILE, LABELNO) \
fprintf (FILE, "\t\n")
spu_function_profiler ((FILE), (LABELNO));
#define NO_PROFILE_COUNTERS 1
#define PROFILE_BEFORE_PROLOGUE 1
/* Trampolines */