53 lines · plain
1; RUN: rm -rf %t2; RUN: mkdir -p %t3 4; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 < %s | FileCheck %s5 6; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 --filetype=obj -o %t/global-merge-aix-sections.o < %s7; RUN: llvm-objdump --syms %t/global-merge-aix-sections.o | FileCheck %s --check-prefix=DATA8 9%struct.Example = type { i32, i8 }10 11@y = internal global i32 0, section "mycsect", align 412@z = internal global i32 0, section "mycsect", align 413@l = internal global i32 0, align 414@u = internal global i16 0, section "mycsect", align 215@myStruct1 = internal global %struct.Example zeroinitializer, section "mycsect", align 416 17; Function Attrs: nounwind18define void @g() {19entry:20 tail call void @f(ptr noundef nonnull @y, ptr noundef nonnull @z)21 tail call void @f(ptr noundef nonnull @l, ptr noundef nonnull @z)22 tail call void @h(ptr noundef nonnull @u)23 tail call void @s(ptr noundef nonnull @myStruct1)24 ret void25}26 27declare void @f(ptr noundef, ptr noundef)28declare void @h(ptr noundef)29declare void @s(ptr noundef)30 31; CHECK: .csect mycsect[RW],232; CHECK-NEXT: .lglobl u # @_MergedGlobals33; CHECK-NEXT: .lglobl y34; CHECK-NEXT: .lglobl z35; CHECK-NEXT: .lglobl myStruct136; CHECK-NEXT: .align 237; CHECK-NEXT: L.._MergedGlobals:38; CHECK-NEXT: u:39; CHECK-NEXT: .space 240; CHECK-NEXT: .space 241; CHECK-NEXT: y:42; CHECK-NEXT: .space 443; CHECK-NEXT: z:44; CHECK-NEXT: .space 445; CHECK-NEXT: myStruct1:46; CHECK-NEXT: .space 847 48; DATA: 0000000000000080 l O .data 0000000000000014 mycsect49; DATA-NEXT: 0000000000000080 l O .data (csect: mycsect) 0000000000000000 u50; DATA-NEXT: 0000000000000084 l O .data (csect: mycsect) 0000000000000000 y51; DATA-NEXT: 0000000000000088 l O .data (csect: mycsect) 0000000000000000 z52; DATA-NEXT: 000000000000008c l O .data (csect: mycsect) 0000000000000000 myStruct153