15 #ifndef LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H
16 #define LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H
18 #include "llvm/Config/llvm-config.h"
19 #include "llvm/Support/DataTypes.h"
25 class MachineFunction;
26 class OProfileWrapper;
27 class IntelJITEventsWrapper;
93 #if LLVM_USE_INTEL_JITEVENTS
107 #endif // USE_INTEL_JITEVENTS
109 #if LLVM_USE_OPROFILE
124 #endif // USE_OPROFILE
130 #endif // defined LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H
static JITEventListener * createIntelJITEventListener()
virtual ~JITEventListener()
virtual void NotifyFunctionEmitted(const Function &, void *, size_t, const EmittedFunctionDetails &)
virtual void NotifyFreeingObject(const ObjectImage &Obj)
static JITEventListener * createOProfileJITEventListener(OProfileWrapper *AlternativeImpl)
virtual void NotifyFreeingMachineCode(void *)
std::vector< LineStart > LineStarts
The list of line boundary information, sorted by address.
static JITEventListener * createIntelJITEventListener(IntelJITEventsWrapper *AlternativeImpl)
JITEvent_EmittedFunctionDetails EmittedFunctionDetails
const MachineFunction * MF
The machine function the struct contains information for.
uintptr_t Address
The address at which the current line changes.
virtual void NotifyObjectEmitted(const ObjectImage &Obj)
static JITEventListener * createOProfileJITEventListener()