diff options
Diffstat (limited to 'include/llvm-c/Core.h')
-rw-r--r-- | include/llvm-c/Core.h | 27 |
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 * * @{ |