func (a llvmAttribute) Apply(v Value) { if _, isfunc := v.Type().(*types.Func); isfunc { v.LLVMValue().AddFunctionAttr(llvm.Attribute(a)) } else { v.LLVMValue().AddAttribute(llvm.Attribute(a)) } }
func (a llvmAttribute) Apply(v Value) { if _, isfunc := v.Type().(*types.Signature); isfunc { fn := v.LLVMValue() fn = llvm.ConstExtractValue(fn, []uint32{0}) fn.AddFunctionAttr(llvm.Attribute(a)) } else { v.LLVMValue().AddAttribute(llvm.Attribute(a)) } }