| ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff < %s | \ |
| ; RUN: FileCheck %s -check-prefixes=NOFSECTS,CHECK |
| |
| ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff --function-sections < %s | \ |
| ; RUN: FileCheck %s -check-prefixes=FSECTS,CHECK |
| |
| ; 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 -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff --function-sections -filetype=obj -o %t.o < %s |
| ; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -check-prefix=FSECTOBJ %s |
| |
| @a = global i32 1 |
| @b = global i32 2 |
| @c = global i32 3 |
| |
| define i32 @foo() !implicit.ref !0 { |
| ret i32 0 |
| } |
| |
| define i32 @bar() !implicit.ref !1 !implicit.ref !2 { |
| ret i32 0 |
| } |
| |
| !0 = !{ptr @a} |
| !1 = !{ptr @b} |
| !2 = !{ptr @c} |
| |
| ; NOFSECTS: .foo: |
| ; FSECTS: .csect .foo[PR] |
| ; CHECK: .ref a[RW] |
| |
| ; NOFSECTS: .bar: |
| ; FSECTS: .csect .bar[PR] |
| ; CHECK: .ref b[RW] |
| ; CHECK: .ref c[RW] |
| |
| ; OBJ: Disassembly of section .text: |
| ; OBJ: .foo: |
| ; OBJ: li 3, 0 |
| ; OBJ: R_REF {{.*}} a[RW] |
| ; OBJ: R_REF {{.*}} b[RW] |
| ; OBJ: R_REF {{.*}} c[RW] |
| ; OBJ: blr |
| ; OBJ: .bar |
| |
| ; FSECTOBJ: .foo[PR]: |
| ; FSECTOBJ: li 3, 0 |
| ; FSECTOBJ: R_REF {{.*}} a[RW] |
| ; FSECTOBJ: blr |
| ; FSECTOBJ: .bar[PR]: |
| ; FSECTOBJ: li 3, 0 |
| ; FSECTOBJ: R_REF {{.*}} b[RW] |
| ; FSECTOBJ: R_REF {{.*}} c[RW] |
| ; FSECTOBJ: blr |