| ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s |
| ; RUN: llc -data-sections=false -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck -check-prefix=NODATA %s |
| |
| ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s |
| ; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -check-prefix=OBJ %s |
| |
| ; RUN: llc -data-sections=false -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s |
| ; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -check-prefix=OBJ-NODATA %s |
| |
| @a = global i32 1 |
| @b = global i32 2 |
| @c = global i32 3, section "custom_section_c" |
| @d = global i32 4, !implicit.ref !0 |
| @e = constant i32 5, !implicit.ref !1, !implicit.ref!2 |
| @f = global i32 6, section "custom_section_f", !implicit.ref !1 |
| |
| |
| !0 = !{ptr @a} |
| !1 = !{ptr @b} |
| !2 = !{ptr @c} |
| |
| ; CHECK: .csect d[RW] |
| ; CHECK: .ref a[RW] |
| |
| ; CHECK: .csect e[RO] |
| ; CHECK: .ref b[RW] |
| ; CHECK: .ref c |
| |
| ; CHECK: .csect custom_section_f[RW] |
| ; CHECK: .ref b[RW] |
| |
| ; NODATA: .csect .data[RW] |
| ; NODATA-NOT: .csect |
| ; NODATA: .globl a |
| ; NODATA-NOT: .csect |
| ; NODATA: .globl b |
| ; NODATA: .csect custom_section_c[RW] |
| ; NODATA: .globl c |
| ; NODATA: .csect .data[RW] |
| ; NODATA: .ref a |
| ; NODATA: .globl d |
| ; NODATA: .csect .rodata[RO] |
| ; NODATA: .ref b |
| ; NODATA: .ref c |
| ; NODATA: .globl e |
| ; NODATA: .csect custom_section_f[RW] |
| ; NODATA: .ref b |
| ; NODATA: .globl f |
| |
| ; OBJ: Disassembly of section .text: |
| |
| ; OBJ: e[RO]: |
| ; OBJ: R_REF {{.*}} b[RW] |
| ; OBJ: R_REF {{.*}} c |
| |
| ; OBJ: Disassembly of section .data: |
| ; OBJ: a[RW]: |
| ; OBJ: b[RW]: |
| ; OBJ: c: |
| ; OBJ: d[RW]: |
| ; OBJ: R_REF {{.*}} a[RW] |
| ; OBJ: f: |
| ; OBJ: R_REF {{.*}} b[RW] |
| |
| ; OBJ-NODATA: Disassembly of section .text: |
| ; OBJ-NODATA: e: |
| ; OBJ-NODATA: R_REF {{.*}} b |
| ; OBJ-NODATA: R_REF {{.*}} c |
| |
| ; OBJ-NODATA: Disassembly of section .data: |
| ; OBJ-NODATA: a: |
| ; OBJ-NODATA: R_REF {{.*}} a |
| ; OBJ-NODATA: b: |
| ; OBJ-NODATA: d: |
| ; OBJ-NODATA: c: |
| ; OBJ-NODATA: f: |
| ; OBJ-NODATA: R_REF {{.*}} b |