diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-19 00:58:49 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1994-10-19 00:58:49 +0000 |
commit | 1cf5eda8f8068fa76217e87a7e14b656f5061d12 (patch) | |
tree | d78c5376e5de0a29f498d78c0cc38ba74acf3254 /gcc/config/i386/osfrose.h | |
parent | 9f8b85b87275a7ce9153d13d61cde20b0b649c8a (diff) | |
download | gcc-1cf5eda8f8068fa76217e87a7e14b656f5061d12.tar.gz |
Move block profile support to i386.h
From-SVN: r8312
Diffstat (limited to 'gcc/config/i386/osfrose.h')
-rw-r--r-- | gcc/config/i386/osfrose.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/gcc/config/i386/osfrose.h b/gcc/config/i386/osfrose.h index e041e12971b..8a0781e9835 100644 --- a/gcc/config/i386/osfrose.h +++ b/gcc/config/i386/osfrose.h @@ -341,83 +341,6 @@ do \ } \ while (0) -/* A C statement or compound statement to output to FILE some - assembler code to initialize basic-block profiling for the current - object module. This code should call the subroutine - `__bb_init_func' once per object module, passing it as its sole - argument the address of a block allocated in the object module. - - The name of the block is a local symbol made with this statement: - - ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 0); - - Of course, since you are writing the definition of - `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you - can take a short cut in the definition of this macro and use the - name that you know will result. - - The first word of this block is a flag which will be nonzero if the - object module has already been initialized. So test this word - first, and do not call `__bb_init_func' if the flag is nonzero. */ - -#undef FUNCTION_BLOCK_PROFILER -#define FUNCTION_BLOCK_PROFILER(STREAM, LABELNO) \ -do \ - { \ - if (!flag_pic) \ - { \ - fprintf (STREAM, "\tcmpl $0,%sPBX0\n", LPREFIX); \ - fprintf (STREAM, "\tjne 0f\n"); \ - fprintf (STREAM, "\tpushl $%sPBX0\n", LPREFIX); \ - fprintf (STREAM, "\tcall %s__bb_init_func\n", \ - (TARGET_UNDERSCORES) ? "_" : ""); \ - fprintf (STREAM, "0:\n"); \ - } \ - else \ - { \ - fprintf (STREAM, "\tpushl %eax\n"); \ - fprintf (STREAM, "\tmovl %sPBX0@GOT(%ebx),%eax\n"); \ - fprintf (STREAM, "\tcmpl $0,(%eax)\n"); \ - fprintf (STREAM, "\tjne 0f\n"); \ - fprintf (STREAM, "\tpushl %eax\n"); \ - fprintf (STREAM, "\tcall %s__bb_init_func@PLT\n", \ - (TARGET_UNDERSCORES) ? "_" : ""); \ - fprintf (STREAM, "0:\n"); \ - fprintf (STREAM, "\tpopl %eax\n"); \ - } \ - } \ -while (0) - -/* A C statement or compound statement to increment the count - associated with the basic block number BLOCKNO. Basic blocks are - numbered separately from zero within each compilation. The count - associated with block number BLOCKNO is at index BLOCKNO in a - vector of words; the name of this array is a local symbol made - with this statement: - - ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 2); - - Of course, since you are writing the definition of - `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you - can take a short cut in the definition of this macro and use the - name that you know will result. */ - -#undef BLOCK_PROFILER -#define BLOCK_PROFILER(STREAM, BLOCKNO) \ -do \ - { \ - if (!flag_pic) \ - fprintf (STREAM, "\tincl %sPBX2+%d\n", LPREFIX, (BLOCKNO)*4); \ - else \ - { \ - fprintf (STREAM, "\tpushl %eax\n"); \ - fprintf (STREAM, "\tmovl %sPBX2@GOT(%ebx),%eax\n", LPREFIX); \ - fprintf (STREAM, "\tincl %d(%eax)\n", (BLOCKNO)*4); \ - fprintf (STREAM, "\tpopl %eax\n"); \ - } \ - } \ -while (0) - /* A C function or functions which are needed in the library to support block profiling. When support goes into libc, undo the #if 0. */ |