]> granicus.if.org Git - llvm/commitdiff
[bindings/go] Add Go bindings for CalledValue
authorAyke van Laethem <aykevanlaethem@gmail.com>
Sat, 8 Jun 2019 22:08:52 +0000 (22:08 +0000)
committerAyke van Laethem <aykevanlaethem@gmail.com>
Sat, 8 Jun 2019 22:08:52 +0000 (22:08 +0000)
This is very useful for inspecting generated IR, there appears to be no
other way to get the called function from a CallInst.

Revision: https://reviews.llvm.org/D52972

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362890 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/go/llvm/ir.go

index 50e7d753020afc42b0d4729b975a5875abb3de6a..71f741421e804fa96b017a888a7402ff88c3193d 100644 (file)
@@ -1228,6 +1228,10 @@ func (v Value) AddCallSiteAttribute(i int, a Attribute) {
 func (v Value) SetInstrParamAlignment(i int, align int) {
        C.LLVMSetInstrParamAlignment(v.C, C.unsigned(i), C.unsigned(align))
 }
+func (v Value) CalledValue() (rv Value) {
+       rv.C = C.LLVMGetCalledValue(v.C)
+       return
+}
 
 // Operations on call instructions (only)
 func (v Value) IsTailCall() bool    { return C.LLVMIsTailCall(v.C) != 0 }