xref: /llvm-project/llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll (revision 8e4423eb0888e5fe381a23ec1fa6969f2d096ed1)
1*8e4423ebSZaara Syeda; RUN: rm -rf %t
2*8e4423ebSZaara Syeda; RUN: mkdir -p %t
3*8e4423ebSZaara Syeda
4*8e4423ebSZaara Syeda; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 < %s | FileCheck %s
5*8e4423ebSZaara Syeda
6*8e4423ebSZaara Syeda; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 --filetype=obj -o %t/global-merge-aix-sections.o < %s
7*8e4423ebSZaara Syeda; RUN; llvm-objdump --syms %t/global-merge-aix-sections.o | FileCheck %s --check-prefix=DATA
8*8e4423ebSZaara Syeda
9*8e4423ebSZaara Syeda%struct.Example = type { i32, i8 }
10*8e4423ebSZaara Syeda
11*8e4423ebSZaara Syeda@y = internal global i32 0, section "mycsect", align 4
12*8e4423ebSZaara Syeda@z = internal global i32 0, section "mycsect", align 4
13*8e4423ebSZaara Syeda@l = internal global i32 0, align 4
14*8e4423ebSZaara Syeda@u = internal global i16 0, section "mycsect", align 2
15*8e4423ebSZaara Syeda@myStruct1 = internal global %struct.Example zeroinitializer, section "mycsect", align 4
16*8e4423ebSZaara Syeda
17*8e4423ebSZaara Syeda; Function Attrs: nounwind
18*8e4423ebSZaara Syedadefine void @g() {
19*8e4423ebSZaara Syedaentry:
20*8e4423ebSZaara Syeda  tail call void @f(ptr noundef nonnull @y, ptr noundef nonnull @z)
21*8e4423ebSZaara Syeda  tail call void @f(ptr noundef nonnull @l, ptr noundef nonnull @z)
22*8e4423ebSZaara Syeda  tail call void @h(ptr noundef nonnull @u)
23*8e4423ebSZaara Syeda  tail call void @s(ptr noundef nonnull @myStruct1)
24*8e4423ebSZaara Syeda  ret void
25*8e4423ebSZaara Syeda}
26*8e4423ebSZaara Syeda
27*8e4423ebSZaara Syedadeclare void @f(ptr noundef, ptr noundef)
28*8e4423ebSZaara Syedadeclare void @h(ptr noundef)
29*8e4423ebSZaara Syedadeclare void @s(ptr noundef)
30*8e4423ebSZaara Syeda
31*8e4423ebSZaara Syeda; CHECK: .csect mycsect[RW],2
32*8e4423ebSZaara Syeda; CHECK-NEXT: .lglobl u # @_MergedGlobals
33*8e4423ebSZaara Syeda; CHECK-NEXT: .lglobl y
34*8e4423ebSZaara Syeda; CHECK-NEXT: .lglobl z
35*8e4423ebSZaara Syeda; CHECK-NEXT: .lglobl myStruct1
36*8e4423ebSZaara Syeda; CHECK-NEXT: .align  2
37*8e4423ebSZaara Syeda; CHECK-NEXT: L.._MergedGlobals:
38*8e4423ebSZaara Syeda; CHECK-NEXT: u:
39*8e4423ebSZaara Syeda; CHECK-NEXT:        .space  2
40*8e4423ebSZaara Syeda; CHECK-NEXT:        .space  2
41*8e4423ebSZaara Syeda; CHECK-NEXT: y:
42*8e4423ebSZaara Syeda; CHECK-NEXT:        .space  4
43*8e4423ebSZaara Syeda; CHECK-NEXT: z:
44*8e4423ebSZaara Syeda; CHECK-NEXT:        .space  4
45*8e4423ebSZaara Syeda; CHECK-NEXT: myStruct1:
46*8e4423ebSZaara Syeda; CHECK-NEXT:        .space  8
47*8e4423ebSZaara Syeda
48*8e4423ebSZaara Syeda; DATA: 00000078 l     O .data  00000014 mycsect
49*8e4423ebSZaara Syeda; DATA-NEXT: 00000078 l     O .data (csect: mycsect)         00000000 u
50*8e4423ebSZaara Syeda; DATA-NEXT: 0000007c l     O .data (csect: mycsect)         00000000 y
51*8e4423ebSZaara Syeda; DATA-NEXT: 00000080 l     O .data (csect: mycsect)         00000000 z
52*8e4423ebSZaara Syeda; DATA-NEXT: 00000084 l     O .data (csect: mycsect)         00000000 myStruct1
53