blob: a9e0d199705a8b094b5bd39675c5c4ac6dbbe0be [file] [log] [blame]
John Brawnf3324cf2015-08-03 12:13:33 +00001; RUN: llc < %s -mtriple=arm-eabi -arm-global-merge | FileCheck %s --check-prefix=CHECK-MERGE
2; RUN: llc < %s -mtriple=arm-eabi -arm-global-merge -global-merge-on-external=true | FileCheck %s --check-prefix=CHECK-MERGE
3; RUN: llc < %s -mtriple=arm-eabi -arm-global-merge -global-merge-on-external=false | FileCheck %s --check-prefix=CHECK-NO-MERGE
4; RUN: llc < %s -mtriple=arm-macho -arm-global-merge | FileCheck %s --check-prefix=CHECK-NO-MERGE
5
6@x = global i32 0, align 4
7@y = global i32 0, align 4
8@z = global i32 0, align 4
9
10define void @f1(i32 %a1, i32 %a2) {
11;CHECK: f1:
12;CHECK: ldr {{r[0-9]+}}, [[LABEL1:\.LCPI[0-9]+_[0-9]]]
13;CHECK: [[LABEL1]]:
John Brawn863bfdb2015-08-11 15:48:04 +000014;CHECK-MERGE: .long .L_MergedGlobals
John Brawnf3324cf2015-08-03 12:13:33 +000015;CHECK-NO-MERGE: .long {{_?x}}
16 store i32 %a1, i32* @x, align 4
17 store i32 %a2, i32* @y, align 4
18 ret void
19}
20
21define void @g1(i32 %a1, i32 %a2) {
22;CHECK: g1:
23;CHECK: ldr {{r[0-9]+}}, [[LABEL2:\.LCPI[0-9]+_[0-9]]]
24;CHECK: [[LABEL2]]:
John Brawn863bfdb2015-08-11 15:48:04 +000025;CHECK-MERGE: .long .L_MergedGlobals
John Brawnf3324cf2015-08-03 12:13:33 +000026;CHECK-NO-MERGE: .long {{_?y}}
27 store i32 %a1, i32* @y, align 4
28 store i32 %a2, i32* @z, align 4
29 ret void
30}
31
John Brawn863bfdb2015-08-11 15:48:04 +000032;CHECK-NO-MERGE-NOT: .globl .L_MergedGlobals
John Brawnf3324cf2015-08-03 12:13:33 +000033
John Brawn863bfdb2015-08-11 15:48:04 +000034;CHECK-MERGE: .type .L_MergedGlobals,%object
35;CHECK-MERGE: .local .L_MergedGlobals
36;CHECK-MERGE: .comm .L_MergedGlobals,12,4
John Brawnf3324cf2015-08-03 12:13:33 +000037
38;CHECK-MERGE: .globl x
John Brawn863bfdb2015-08-11 15:48:04 +000039;CHECK-MERGE: x = .L_MergedGlobals
John Brawn75fc09d2015-08-12 15:05:39 +000040;CHECK-MERGE: .size x, 4
John Brawnf3324cf2015-08-03 12:13:33 +000041;CHECK-MERGE: .globl y
John Brawn863bfdb2015-08-11 15:48:04 +000042;CHECK-MERGE: y = .L_MergedGlobals+4
John Brawn75fc09d2015-08-12 15:05:39 +000043;CHECK-MERGE: .size y, 4
John Brawnf3324cf2015-08-03 12:13:33 +000044;CHECK-MERGE: .globl z
John Brawn863bfdb2015-08-11 15:48:04 +000045;CHECK-MERGE: z = .L_MergedGlobals+8
John Brawn75fc09d2015-08-12 15:05:39 +000046;CHECK-MERGE: .size z, 4