* data.
*/
static void BlockProfAtExitHandler() {
- /* Note that if this were doing something more intellegent with the
- instrumentation, that we could do some computation here to expand what we
- collected into simple block profiles. Since we directly count each block,
- */
- write_profiling_data(Block, ArrayStart, NumElements);
+ /* Note that if this were doing something more intelligent with the
+ * instrumentation, we could do some computation here to expand what we
+ * collected into simple block profiles. (Or we could do it in llvm-prof.)
+ * Regardless, we directly count each block, so no expansion is necessary.
+ */
+ write_profiling_data(BlockInfo, ArrayStart, NumElements);
}
/* llvm_start_block_profiling - This is the main entry point of the block
* profiling library. It is responsible for setting up the atexit handler.
*/
-void llvm_start_block_profiling(int argc, const char **argv,
- unsigned *arrayStart, unsigned numElements) {
- save_arguments(argc, argv);
+int llvm_start_block_profiling(int argc, const char **argv,
+ unsigned *arrayStart, unsigned numElements) {
+ int Ret = save_arguments(argc, argv);
ArrayStart = arrayStart;
NumElements = numElements;
atexit(BlockProfAtExitHandler);
+ return Ret;
}