diff options
| author | Erick Tryzelaar <idadesub@users.sourceforge.net> | 2010-02-28 09:46:06 +0000 |
|---|---|---|
| committer | Erick Tryzelaar <idadesub@users.sourceforge.net> | 2010-02-28 09:46:06 +0000 |
| commit | 4a83db9ad05fdf9a44d411790102ed2c45e5c240 (patch) | |
| tree | a814f992425526d661e141c95d4a273cc32bd19a /include/llvm-c | |
| parent | be03d1674c9f3aa8051de063c3946feaf8cf2650 (diff) | |
| download | external_llvm-4a83db9ad05fdf9a44d411790102ed2c45e5c240.zip external_llvm-4a83db9ad05fdf9a44d411790102ed2c45e5c240.tar.gz external_llvm-4a83db9ad05fdf9a44d411790102ed2c45e5c240.tar.bz2 | |
Add indirect br support to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97376 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm-c')
| -rw-r--r-- | include/llvm-c/Core.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index 1a29463..17bd99d 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -655,6 +655,7 @@ LLVMValueRef LLVMConstInsertValue(LLVMValueRef AggConstant, LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty, const char *AsmString, const char *Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack); +LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB); /* Operations on global variables, functions, and aliases (globals) */ LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global); @@ -805,6 +806,8 @@ LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else); LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases); +LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr, + unsigned NumDests); LLVMValueRef LLVMBuildInvoke(LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, @@ -816,6 +819,9 @@ LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef); void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest); +/* Add a destination to the indirectbr instruction */ +void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest); + /* Arithmetic */ LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name); |
