diff --git a/llgo/irgen/attribute.go b/llgo/irgen/attribute.go index 9fd6f6143717..82f264e26e74 100644 --- a/llgo/irgen/attribute.go +++ b/llgo/irgen/attribute.go @@ -74,8 +74,6 @@ func parseAttribute(line string) Attribute { return parseLinkageAttribute(value) case "name": return nameAttribute(strings.TrimSpace(value)) - case "attr": - return parseLLVMAttribute(strings.TrimSpace(value)) case "thread_local": return tlsAttribute{} default: @@ -142,36 +140,6 @@ func (a nameAttribute) Apply(v llvm.Value) { } } -func parseLLVMAttribute(value string) llvmAttribute { - var result llvmAttribute - value = strings.Replace(value, ",", " ", -1) - for _, field := range strings.Fields(value) { - switch strings.ToLower(field) { - case "noreturn": - case "nounwind": - case "noinline": - case "alwaysinline": - kind := llvm.AttributeKindID(strings.ToLower(field)) - result.AttrKinds = append(result.AttrKinds, kind) - } - } - return result -} - -type llvmAttribute struct { - AttrKinds []uint -} - -func (a llvmAttribute) Apply(v llvm.Value) { - ctx := v.GlobalParent().Context() - if !v.IsAFunction().IsNil() { - for _, kind := range a.AttrKinds { - attr := ctx.CreateEnumAttribute(kind, 0) - v.AddFunctionAttr(attr) - } - } -} - type tlsAttribute struct{} func (tlsAttribute) Apply(v llvm.Value) {