diff options
author | Meador Inge <meadori@codesourcery.com> | 2016-12-06 19:22:04 +0000 |
---|---|---|
committer | Meador Inge <meadori@codesourcery.com> | 2016-12-06 19:22:04 +0000 |
commit | e6c29d6d854cbbafc108cf32f9676157464f39fc (patch) | |
tree | 165d72ec7d7140426718872101d0c9c5064e323c /llgo/irgen | |
parent | dd6ca639d57fce79fffb74caa35c72c91a6f83b0 (diff) | |
download | bcm5719-llvm-e6c29d6d854cbbafc108cf32f9676157464f39fc.tar.gz bcm5719-llvm-e6c29d6d854cbbafc108cf32f9676157464f39fc.zip |
[llgo] Remove support for LLVM attributes
llgo supports the application of LLVM attributes to global objects
and functions. This "feature" is undocumented and untested. As
discusses in D27442, it should be removed.
Differential Revision: https://reviews.llvm.org/D27474
llvm-svn: 288843
Diffstat (limited to 'llgo/irgen')
-rw-r--r-- | llgo/irgen/attribute.go | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/llgo/irgen/attribute.go b/llgo/irgen/attribute.go index 9fd6f614371..82f264e26e7 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) { |