mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-04 09:54:09 +00:00
a8ddcaa55f
This patch extends llvm-ir to allow attributes to be set on global variables. An RFC was sent out earlier by my colleague James Molloy: http://lists.llvm.org/pipermail/cfe-dev/2017-March/053100.html A key part of that proposal was to extend LLVM-IR to carry attributes on global variables. This generic feature could be useful for multiple purposes. In our present context, it would be useful to carry user specified sections for bss/rodata/data. Reviewed by: Jonathan Roelofs, Reid Kleckner Differential Revision: https://reviews.llvm.org/D32009 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302794 91177308-0d34-0410-b5e6-96231b3b80d8
20 lines
674 B
LLVM
20 lines
674 B
LLVM
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
|
|
|
|
@g1 = global i32 7 "key" = "value" "key2" = "value2"
|
|
@g2 = global i32 2, align 4 "key3" = "value3"
|
|
@g3 = global i32 2 #0
|
|
@g4 = global i32 2, align 4 "key5" = "value5" #0
|
|
|
|
attributes #0 = { "string" = "value" nobuiltin norecurse }
|
|
|
|
; CHECK: @g1 = global i32 7 #0
|
|
; CHECK: @g2 = global i32 2, align 4 #1
|
|
; CHECK: @g3 = global i32 2 #2
|
|
; CHECK: @g4 = global i32 2, align 4 #3
|
|
|
|
; CHECK: attributes #0 = { "key"="value" "key2"="value2" }
|
|
; CHECK: attributes #1 = { "key3"="value3" }
|
|
; CHECK: attributes #2 = { nobuiltin norecurse "string"="value" }
|
|
; CHECK: attributes #3 = { nobuiltin norecurse "key5"="value5" "string"="value" }
|
|
|