summaryrefslogtreecommitdiff
path: root/include/llvm-c/Core.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm-c/Core.h')
-rw-r--r--include/llvm-c/Core.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h
index df2de2441a..f7121a5c61 100644
--- a/include/llvm-c/Core.h
+++ b/include/llvm-c/Core.h
@@ -112,12 +112,23 @@ typedef struct LLVMOpaqueBuilder *LLVMBuilderRef;
*/
typedef struct LLVMOpaqueModuleProvider *LLVMModuleProviderRef;
+/** @see llvm::Pass */
+typedef struct LLVMOpaquePass *LLVMPassRef;
+
/** @see llvm::PassManagerBase */
typedef struct LLVMOpaquePassManager *LLVMPassManagerRef;
/** @see llvm::PassRegistry */
typedef struct LLVMOpaquePassRegistry *LLVMPassRegistryRef;
+/** @see llvm::PassRunListener */
+typedef struct LLVMOpaquePassRunListener *LLVMPassRunListenerRef;
+
+/** @see llvm::LLVMPassRunListener */
+typedef void (*LLVMPassRunListenerHandlerTy)(LLVMContextRef, LLVMPassRef,
+ LLVMModuleRef, LLVMValueRef,
+ LLVMBasicBlockRef);
+
/**
* Used to get the users and usees of a Value.
*
@@ -515,6 +526,10 @@ unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char* Name,
unsigned SLen);
unsigned LLVMGetMDKindID(const char* Name, unsigned SLen);
+LLVMPassRunListenerRef LLVMAddPassRunListener(LLVMContextRef,
+ LLVMPassRunListenerHandlerTy);
+void LLVMRemovePassRunListener(LLVMContextRef, LLVMPassRunListenerRef);
+
/**
* @}
*/
@@ -2764,6 +2779,18 @@ void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
*/
/**
+ * @defgroup LLVMCCorePass Pass
+ *
+ * @{
+ */
+
+const char *LLVMGetPassName(LLVMPassRef);
+
+/**
+ * @}
+ */
+
+/**
* @defgroup LLVMCCorePassRegistry Pass Registry
*
* @{