diff options
author | Devang Patel <dpatel@apple.com> | 2011-12-20 19:29:36 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-12-20 19:29:36 +0000 |
commit | 45ca049f1f221f5fc1a118f6aab83ac290cb8211 (patch) | |
tree | d7ff7da0f0abbc6c8c18a17a3135c1e6860807b1 | |
parent | 95fad1c6034cdf8010428e61b71cd196ee1698ad (diff) | |
download | llvm-45ca049f1f221f5fc1a118f6aab83ac290cb8211.tar.gz llvm-45ca049f1f221f5fc1a118f6aab83ac290cb8211.tar.bz2 llvm-45ca049f1f221f5fc1a118f6aab83ac290cb8211.tar.xz |
Add support to add named metadata operand.
Patch by Andrew Wilkins!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146984 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm-c/Core.h | 2 | ||||
-rw-r--r-- | lib/VMCore/Core.cpp | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index ed7d46932c..63d6fd41e2 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -567,6 +567,8 @@ LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count); const char *LLVMGetMDString(LLVMValueRef V, unsigned* Len); unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char* name); void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char* name, LLVMValueRef *Dest); +void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char* name, + LLVMValueRef Val); /* 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 612d5fa2b9..644ee03b0b 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -566,6 +566,17 @@ void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char* name, LLVMValueRe Dest[i] = wrap(N->getOperand(i)); } +void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char* name, + LLVMValueRef Val) +{ + NamedMDNode *N = unwrap(M)->getOrInsertNamedMetadata(name); + if (!N) + return; + MDNode *Op = Val ? unwrap<MDNode>(Val) : NULL; + if (Op) + N->addOperand(Op); +} + /*--.. Operations on scalar constants ......................................--*/ LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N, |