diff --git a/llvm/include/llvm/Transforms/Instrumentation/TraceValues.h b/llvm/include/llvm/Transforms/Instrumentation/TraceValues.h index d4e2edd5ddd3..13847161f10f 100644 --- a/llvm/include/llvm/Transforms/Instrumentation/TraceValues.h +++ b/llvm/include/llvm/Transforms/Instrumentation/TraceValues.h @@ -9,14 +9,19 @@ #define LLVM_TRANSFORMS_INSTRUMENTATION_TRACEVALUES_H #include "llvm/Pass.h" +class Method; class InsertTraceCode : public Pass { bool TraceBasicBlockExits, TraceMethodExits; + Method *PrintfMeth; public: InsertTraceCode(bool traceBasicBlockExits, bool traceMethodExits) : TraceBasicBlockExits(traceBasicBlockExits), TraceMethodExits(traceMethodExits) {} + // Add a prototype for printf if it is not already in the program. + // + bool doPassInitialization(Module *M); //-------------------------------------------------------------------------- // Function InsertCodeToTraceValues @@ -24,14 +29,14 @@ public: // Inserts tracing code for all live values at basic block and/or method exits // as specified by `traceBasicBlockExits' and `traceMethodExits'. // - static bool doInsertTraceCode(Method *M, bool traceBasicBlockExits, - bool traceMethodExits); + static bool doit(Method *M, bool traceBasicBlockExits, + bool traceMethodExits, Method *Printf); // doPerMethodWork - This method does the work. Always successful. // bool doPerMethodWork(Method *M) { - return doInsertTraceCode(M, TraceBasicBlockExits, TraceMethodExits); + return doit(M, TraceBasicBlockExits, TraceMethodExits, PrintfMeth); } }; -#endif /*LLVM_TRANSFORMS_INSTRUMENTATION_TRACEVALUES_H*/ +#endif