diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2014-12-13 02:25:54 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2014-12-13 02:25:54 +0000 |
| commit | 11c5bf2a6526e29410536163fc164339272a064c (patch) | |
| tree | c3c888a2f9da1f8dedefed1b0ecb22a67da6abc2 /llvm/bindings | |
| parent | a2fc9d06d937865258ccd04e0f1a9ff4f61ccde9 (diff) | |
| download | bcm5719-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.cpp | 6 | ||||
| -rw-r--r-- | llvm/bindings/go/llvm/IRBindings.h | 2 | ||||
| -rw-r--r-- | llvm/bindings/go/llvm/ir.go | 5 |
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) { |

