aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-06 17:29:59 +0000
committerChris Lattner <sabre@nondot.org>2009-07-06 17:29:59 +0000
commite4840bc611f8260065d3879a412ea3b501550995 (patch)
treeda224efd618c4ea5a371c33cbd06afcc7e6da9f0
parentc880815c40dc5d5e0e6a9dbfe961ca645e7222bd (diff)
downloadexternal_llvm-e4840bc611f8260065d3879a412ea3b501550995.zip
external_llvm-e4840bc611f8260065d3879a412ea3b501550995.tar.gz
external_llvm-e4840bc611f8260065d3879a412ea3b501550995.tar.bz2
Add two new accessors to the C bindings, patch by Wladimir van der Laan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74836 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm-c/Core.h2
-rw-r--r--lib/VMCore/Core.cpp9
2 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h
index 3538c08..e0eaf9b 100644
--- a/include/llvm-c/Core.h
+++ b/include/llvm-c/Core.h
@@ -218,6 +218,7 @@ void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
/** See Module::addTypeName. */
int LLVMAddTypeName(LLVMModuleRef M, const char *Name, LLVMTypeRef Ty);
void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name);
+LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name);
/** See Module::dump. */
void LLVMDumpModule(LLVMModuleRef M);
@@ -398,6 +399,7 @@ LLVMValueRef LLVMGetUndef(LLVMTypeRef Ty);
int LLVMIsConstant(LLVMValueRef Val);
int LLVMIsNull(LLVMValueRef Val);
int LLVMIsUndef(LLVMValueRef Val);
+LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty);
/* Operations on scalar constants */
LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp
index 6eb1889..ac2dfcc 100644
--- a/lib/VMCore/Core.cpp
+++ b/lib/VMCore/Core.cpp
@@ -101,6 +101,11 @@ void LLVMDeleteTypeName(LLVMModuleRef M, const char *Name) {
TST.remove(I);
}
+LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name) {
+ std::string N(Name);
+ return wrap(unwrap(M)->getTypeByName(N));
+}
+
void LLVMDumpModule(LLVMModuleRef M) {
unwrap(M)->dump();
}
@@ -313,6 +318,10 @@ int LLVMIsUndef(LLVMValueRef Val) {
return isa<UndefValue>(unwrap(Val));
}
+LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty) {
+ return wrap(ConstantPointerNull::get(unwrap<PointerType>(Ty)));
+}
+
/*--.. Operations on scalar constants ......................................--*/
LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,