summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2014-12-13 02:25:57 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2014-12-13 02:25:57 +0000
commite881eef2dbbb083799fab5b11879f2bcb60ed095 (patch)
tree66eb77131c6f7e12693e1f36f00bfd91aade1105 /bindings
parent3a404314fe755064bbb0e5db8a2a232b11f02b6e (diff)
Go bindings: introduce Value.ConstantAsMetadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224179 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
-rw-r--r--bindings/go/llvm/IRBindings.cpp4
-rw-r--r--bindings/go/llvm/IRBindings.h2
-rw-r--r--bindings/go/llvm/ir.go4
3 files changed, 10 insertions, 0 deletions
diff --git a/bindings/go/llvm/IRBindings.cpp b/bindings/go/llvm/IRBindings.cpp
index e471746098e..fac4126acda 100644
--- a/bindings/go/llvm/IRBindings.cpp
+++ b/bindings/go/llvm/IRBindings.cpp
@@ -50,6 +50,10 @@ void LLVMRemoveFunctionAttr2(LLVMValueRef Fn, uint64_t PA) {
Func->setAttributes(PALnew);
}
+LLVMMetadataRef LLVMConstantAsMetadata(LLVMValueRef C) {
+ return wrap(ConstantAsMetadata::get(unwrap<Constant>(C)));
+}
+
LLVMMetadataRef LLVMMDString2(LLVMContextRef C, const char *Str, unsigned SLen) {
return wrap(MDString::get(*unwrap(C), StringRef(Str, SLen)));
}
diff --git a/bindings/go/llvm/IRBindings.h b/bindings/go/llvm/IRBindings.h
index fab41f228a8..a53e178f1e0 100644
--- a/bindings/go/llvm/IRBindings.h
+++ b/bindings/go/llvm/IRBindings.h
@@ -37,6 +37,8 @@ void LLVMAddFunctionAttr2(LLVMValueRef Fn, uint64_t PA);
uint64_t LLVMGetFunctionAttr2(LLVMValueRef Fn);
void LLVMRemoveFunctionAttr2(LLVMValueRef Fn, uint64_t PA);
+LLVMMetadataRef LLVMConstantAsMetadata(LLVMValueRef Val);
+
LLVMMetadataRef LLVMMDString2(LLVMContextRef C, const char *Str, unsigned SLen);
LLVMMetadataRef LLVMMDNode2(LLVMContextRef C, LLVMMetadataRef *MDs,
unsigned Count);
diff --git a/bindings/go/llvm/ir.go b/bindings/go/llvm/ir.go
index f4b07afa53c..e5916a1bacf 100644
--- a/bindings/go/llvm/ir.go
+++ b/bindings/go/llvm/ir.go
@@ -754,6 +754,10 @@ func (c Context) TemporaryMDNode(mds []Metadata) (md Metadata) {
md.C = C.LLVMTemporaryMDNode(c.C, ptr, nvals)
return
}
+func (v Value) ConstantAsMetadata() (md Metadata) {
+ md.C = C.LLVMConstantAsMetadata(v.C)
+ return
+}
// Operations on scalar constants
func ConstInt(t Type, n uint64, signExtend bool) (v Value) {