コード例 #1
0
ファイル: attribute.go プロジェクト: kelsieflynn/llgo
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))
	}
}
コード例 #2
0
ファイル: attribute.go プロジェクト: payco/llgo
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))
	}
}