summaryrefslogtreecommitdiffstats
path: root/include/llvm/ExecutionEngine/JITEventListener.h
diff options
context:
space:
mode:
authorrdivacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
committerrdivacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
commitcd749a9c07f1de2fb8affde90537efa4bc3e7c54 (patch)
treeb21f6de4e08b89bb7931806bab798fc2a5e3a686 /include/llvm/ExecutionEngine/JITEventListener.h
parent72621d11de5b873f1695f391eb95f0b336c3d2d4 (diff)
downloadFreeBSD-src-cd749a9c07f1de2fb8affde90537efa4bc3e7c54.zip
FreeBSD-src-cd749a9c07f1de2fb8affde90537efa4bc3e7c54.tar.gz
Update llvm to r84119.
Diffstat (limited to 'include/llvm/ExecutionEngine/JITEventListener.h')
-rw-r--r--include/llvm/ExecutionEngine/JITEventListener.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm/ExecutionEngine/JITEventListener.h b/include/llvm/ExecutionEngine/JITEventListener.h
index dd76f26..8d3a1d7 100644
--- a/include/llvm/ExecutionEngine/JITEventListener.h
+++ b/include/llvm/ExecutionEngine/JITEventListener.h
@@ -16,13 +16,28 @@
#define LLVM_EXECUTION_ENGINE_JIT_EVENTLISTENER_H
#include "llvm/Support/DataTypes.h"
+#include "llvm/Support/DebugLoc.h"
+
+#include <vector>
namespace llvm {
class Function;
+class MachineFunction;
/// Empty for now, but this object will contain all details about the
/// generated machine code that a Listener might care about.
struct JITEvent_EmittedFunctionDetails {
+ const MachineFunction *MF;
+
+ struct LineStart {
+ // The address at which the current line changes.
+ uintptr_t Address;
+ // The new location information. These can be translated to
+ // DebugLocTuples using MF->getDebugLocTuple().
+ DebugLoc Loc;
+ };
+ // This holds line boundary information sorted by address.
+ std::vector<LineStart> LineStarts;
};
/// JITEventListener - This interface is used by the JIT to notify clients about
@@ -52,7 +67,9 @@ public:
virtual void NotifyFreeingMachineCode(const Function &F, void *OldPtr) {}
};
+// These return NULL if support isn't available.
JITEventListener *createMacOSJITEventListener();
+JITEventListener *createOProfileJITEventListener();
} // end namespace llvm.
OpenPOWER on IntegriCloud