summaryrefslogtreecommitdiffstats
path: root/llgo/irgen
diff options
context:
space:
mode:
authorMeador Inge <meadori@codesourcery.com>2016-12-06 19:22:04 +0000
committerMeador Inge <meadori@codesourcery.com>2016-12-06 19:22:04 +0000
commite6c29d6d854cbbafc108cf32f9676157464f39fc (patch)
tree165d72ec7d7140426718872101d0c9c5064e323c /llgo/irgen
parentdd6ca639d57fce79fffb74caa35c72c91a6f83b0 (diff)
downloadbcm5719-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.go32
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) {
OpenPOWER on IntegriCloud