summaryrefslogtreecommitdiffstats
path: root/llvm/bindings
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2014-12-13 02:25:54 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2014-12-13 02:25:54 +0000
commit11c5bf2a6526e29410536163fc164339272a064c (patch)
treec3c888a2f9da1f8dedefed1b0ecb22a67da6abc2 /llvm/bindings
parenta2fc9d06d937865258ccd04e0f1a9ff4f61ccde9 (diff)
downloadbcm5719-llvm-11c5bf2a6526e29410536163fc164339272a064c.tar.gz
bcm5719-llvm-11c5bf2a6526e29410536163fc164339272a064c.zip
Go bindings: introduce llvm.TemporaryMDNode.
llvm-svn: 224178
Diffstat (limited to 'llvm/bindings')
-rw-r--r--llvm/bindings/go/llvm/IRBindings.cpp6
-rw-r--r--llvm/bindings/go/llvm/IRBindings.h2
-rw-r--r--llvm/bindings/go/llvm/ir.go5
3 files changed, 13 insertions, 0 deletions
diff --git a/llvm/bindings/go/llvm/IRBindings.cpp b/llvm/bindings/go/llvm/IRBindings.cpp
index 3099fa56281..e471746098e 100644
--- a/llvm/bindings/go/llvm/IRBindings.cpp
+++ b/llvm/bindings/go/llvm/IRBindings.cpp
@@ -60,6 +60,12 @@ LLVMMetadataRef LLVMMDNode2(LLVMContextRef C, LLVMMetadataRef *MDs,
MDNode::get(*unwrap(C), ArrayRef<Metadata *>(unwrap(MDs), Count)));
}
+LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef C, LLVMMetadataRef *MDs,
+ unsigned Count) {
+ return wrap(MDNode::getTemporary(*unwrap(C),
+ ArrayRef<Metadata *>(unwrap(MDs), Count)));
+}
+
void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name,
LLVMMetadataRef Val) {
NamedMDNode *N = unwrap(M)->getOrInsertNamedMetadata(name);
diff --git a/llvm/bindings/go/llvm/IRBindings.h b/llvm/bindings/go/llvm/IRBindings.h
index 6bce4f71c29..fab41f228a8 100644
--- a/llvm/bindings/go/llvm/IRBindings.h
+++ b/llvm/bindings/go/llvm/IRBindings.h
@@ -40,6 +40,8 @@ void LLVMRemoveFunctionAttr2(LLVMValueRef Fn, uint64_t PA);
LLVMMetadataRef LLVMMDString2(LLVMContextRef C, const char *Str, unsigned SLen);
LLVMMetadataRef LLVMMDNode2(LLVMContextRef C, LLVMMetadataRef *MDs,
unsigned Count);
+LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef C, LLVMMetadataRef *MDs,
+ unsigned Count);
void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name,
LLVMMetadataRef Val);
diff --git a/llvm/bindings/go/llvm/ir.go b/llvm/bindings/go/llvm/ir.go
index 178eda303be..f4b07afa53c 100644
--- a/llvm/bindings/go/llvm/ir.go
+++ b/llvm/bindings/go/llvm/ir.go
@@ -749,6 +749,11 @@ func (c Context) MDNode(mds []Metadata) (md Metadata) {
md.C = C.LLVMMDNode2(c.C, ptr, nvals)
return
}
+func (c Context) TemporaryMDNode(mds []Metadata) (md Metadata) {
+ ptr, nvals := llvmMetadataRefs(mds)
+ md.C = C.LLVMTemporaryMDNode(c.C, ptr, nvals)
+ return
+}
// Operations on scalar constants
func ConstInt(t Type, n uint64, signExtend bool) (v Value) {
OpenPOWER on IntegriCloud