blob: c75ff2a576cf5758c266284b809d7861b8e5c2ac [file] [edit]
; Externally visible read-only data is placed into the WSA (C_WSA64), because
; a reference from another translation unit is always a part in the WSA.
; Local read-only data stays in the code section.
;
; RUN: llc < %s -mtriple=s390x-ibm-zos | FileCheck %s
; CHECK: tab CSECT
; CHECK-NEXT: C_WSA64 CATTR {{.*}}PART(t
; CHECK: tab XATTR LINKAGE(XPLINK),REFERENCE(DATA),SCOPE(LIBRARY)
; CHECK: exp CSECT
; CHECK-NEXT: C_WSA64 CATTR {{.*}}PART(e
; CHECK: exp XATTR LINKAGE(XPLINK),REFERENCE(DATA),SCOPE(EXPORT)
; CHECK: C_CODE64 CATTR
; CHECK: loc XATTR LINKAGE(XPLINK),REFERENCE(DATA),SCOPE(SECTION)
; CHECK-NEXT: loc DS 0H
@tab = hidden constant [2 x i32] [i32 1, i32 2], align 4
@exp = constant [2 x i32] [i32 3, i32 4], align 4
@loc = internal constant [2 x i32] [i32 5, i32 6], align 4
define signext i32 @get(i64 %i) {
%p = getelementptr inbounds [2 x i32], ptr @loc, i64 0, i64 %i
%v = load i32, ptr %p, align 4
ret i32 %v
}