53 lines · plain
1; RUN: llc %s -mtriple=aarch64-none-linux-gnu -aarch64-enable-global-merge -global-merge-on-external -o - | FileCheck %s2; RUN: llc %s -mtriple=aarch64-linux-gnuabi -aarch64-enable-global-merge -global-merge-on-external -o - | FileCheck %s3; RUN: llc %s -mtriple=aarch64-apple-ios -aarch64-enable-global-merge -global-merge-on-external -o - | FileCheck %s --check-prefix=CHECK-APPLE-IOS4 5@x = dso_local global i32 0, align 46@y = dso_local global i32 0, align 47@z = dso_local global i32 0, align 48 9define dso_local void @f1(i32 %a1, i32 %a2) {10;CHECK-APPLE-IOS-LABEL: _f1:11;CHECK-APPLE-IOS-NOT: adrp12;CHECK-APPLE-IOS: adrp x8, __MergedGlobals_x@PAGE13;CHECK-APPLE-IOS: add x8, x8, __MergedGlobals_x@PAGEOFF14;CHECK-APPLE-IOS-NOT: adrp15 store i32 %a1, ptr @x, align 416 store i32 %a2, ptr @y, align 417 ret void18}19 20define dso_local void @g1(i32 %a1, i32 %a2) {21;CHECK-APPLE-IOS-LABEL: _g1:22;CHECK-APPLE-IOS: adrp x8, __MergedGlobals_x@PAGE23;CHECK-APPLE-IOS: add x8, x8, __MergedGlobals_x@PAGEOFF24;CHECK-APPLE-IOS-NOT: adrp25 store i32 %a1, ptr @y, align 426 store i32 %a2, ptr @z, align 427 ret void28}29 30;CHECK: .type .L_MergedGlobals,@object // @_MergedGlobals31;CHECK: .local .L_MergedGlobals32;CHECK: .comm .L_MergedGlobals,12,433 34;CHECK: .globl x35;CHECK: x = .L_MergedGlobals36;CHECK: .size x, 437;CHECK: .globl y38;CHECK: y = .L_MergedGlobals+439;CHECK: .size y, 440;CHECK: .globl z41;CHECK: z = .L_MergedGlobals+842;CHECK: .size z, 443 44;CHECK-APPLE-IOS: .zerofill __DATA,__common,__MergedGlobals_x,12,245 46;CHECK-APPLE-IOS: .globl _x47;CHECK-APPLE-IOS: {{.*}} = __MergedGlobals_x48;CHECK-APPLE-IOS: .globl _y49;CHECK-APPLE-IOS: _y = __MergedGlobals_x+450;CHECK-APPLE-IOS: .globl _z51;CHECK-APPLE-IOS: _z = __MergedGlobals_x+852;CHECK-APPLE-IOS: .subsections_via_symbols53