diff options
| author | Reid Spencer <rspencer@reidspencer.com> | 2006-11-16 23:17:27 +0000 |
|---|---|---|
| committer | Reid Spencer <rspencer@reidspencer.com> | 2006-11-16 23:17:27 +0000 |
| commit | 3f97d03f862e1debfedfda4e6dd5ed7bb4ee8c4c (patch) | |
| tree | 83dcd162f585ea723252fa1ec7ed4fae49828948 /llvm/runtime/libprofile/BasicBlockTracing.c | |
| parent | 48850c10c0278cb335aa2158166241923705ad6c (diff) | |
| download | bcm5719-llvm-3f97d03f862e1debfedfda4e6dd5ed7bb4ee8c4c.tar.gz bcm5719-llvm-3f97d03f862e1debfedfda4e6dd5ed7bb4ee8c4c.zip | |
In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will
be dropped. This patch pertains to removing the runtime directory from LLVM.
llvm-svn: 31793
Diffstat (limited to 'llvm/runtime/libprofile/BasicBlockTracing.c')
| -rw-r--r-- | llvm/runtime/libprofile/BasicBlockTracing.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/llvm/runtime/libprofile/BasicBlockTracing.c b/llvm/runtime/libprofile/BasicBlockTracing.c deleted file mode 100644 index e70dc052843..00000000000 --- a/llvm/runtime/libprofile/BasicBlockTracing.c +++ /dev/null @@ -1,67 +0,0 @@ -/*===-- BasicBlockTracing.c - Support library for basic block tracing -----===*\ -|* -|* The LLVM Compiler Infrastructure -|* -|* This file was developed by the LLVM research group and is distributed under -|* the University of Illinois Open Source License. See LICENSE.TXT for details. -|* -|*===----------------------------------------------------------------------===*| -|* -|* This file implements the call back routines for the basic block tracing -|* instrumentation pass. This should be used with the -trace-basic-blocks -|* LLVM pass. -|* -\*===----------------------------------------------------------------------===*/ - -#include "Profiling.h" -#include <stdlib.h> -#include <stdio.h> - -static unsigned *ArrayStart, *ArrayEnd, *ArrayCursor; - -/* WriteAndFlushBBTraceData - write out the currently accumulated trace data - * and reset the cursor to point to the beginning of the buffer. - */ -static void WriteAndFlushBBTraceData () { - write_profiling_data(BBTraceInfo, ArrayStart, (ArrayCursor - ArrayStart)); - ArrayCursor = ArrayStart; -} - -/* BBTraceAtExitHandler - When the program exits, just write out any remaining - * data and free the trace buffer. - */ -static void BBTraceAtExitHandler() { - WriteAndFlushBBTraceData (); - free (ArrayStart); -} - -/* llvm_trace_basic_block - called upon hitting a new basic block. */ -void llvm_trace_basic_block (unsigned BBNum) { - *ArrayCursor++ = BBNum; - if (ArrayCursor == ArrayEnd) - WriteAndFlushBBTraceData (); -} - -/* llvm_start_basic_block_tracing - This is the main entry point of the basic - * block tracing library. It is responsible for setting up the atexit - * handler and allocating the trace buffer. - */ -int llvm_start_basic_block_tracing(int argc, const char **argv, - unsigned *arrayStart, unsigned numElements) { - int Ret; - const unsigned BufferSize = 128 * 1024; - unsigned ArraySize; - - Ret = save_arguments(argc, argv); - - /* Allocate a buffer to contain BB tracing data */ - ArraySize = BufferSize / sizeof (unsigned); - ArrayStart = malloc (ArraySize * sizeof (unsigned)); - ArrayEnd = ArrayStart + ArraySize; - ArrayCursor = ArrayStart; - - /* Set up the atexit handler. */ - atexit (BBTraceAtExitHandler); - - return Ret; -} |

