xref: /llvm-project/llvm/test/CodeGen/PowerPC/aix-ignore-xcoff-visibility.ll (revision 427fb35192f1f7bb694a5910b05abc5925a798b2)
1; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
2; RUN:     -mattr=-altivec -data-sections=false < %s | \
3; RUN:   FileCheck --check-prefix=VISIBILITY-ASM %s
4; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
5; RUN:     -mattr=-altivec -data-sections=false -ignore-xcoff-visibility < %s | \
6; RUN:   FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
7; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
8; RUN:     -mattr=-altivec -data-sections=false < %s | \
9; RUN:   FileCheck --check-prefix=VISIBILITY-ASM %s
10; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
11; RUN:     -mattr=-altivec -data-sections=false -ignore-xcoff-visibility < %s | \
12; RUN:   FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
13
14@foo_p = global ptr @zoo_extern_h, align 4
15@b = protected global i32 0, align 4
16
17define hidden void @foo_h(ptr %p) {
18entry:
19  %p.addr = alloca ptr, align 4
20  store ptr %p, ptr %p.addr, align 4
21  %0 = load ptr, ptr %p.addr, align 4
22  %1 = load i32, ptr %0, align 4
23  %inc = add nsw i32 %1, 1
24  store i32 %inc, ptr %0, align 4
25  ret void
26}
27
28declare hidden void @zoo_extern_h()
29
30define protected void @bar() {
31entry:
32  call void @foo_h(ptr @b)
33  %0 = load ptr, ptr @foo_p, align 4
34  call void %0()
35  ret void
36}
37
38; VISIBILITY-ASM: .globl  foo_h[DS],hidden
39; VISIBILITY-ASM: .globl  .foo_h,hidden
40; VISIBILITY-ASM: .globl  bar[DS],protected
41; VISIBILITY-ASM: .globl  .bar,protected
42; VISIBILITY-ASM: .globl  b,protected
43
44; IGNOREVISIBILITY-ASM: .globl  foo_h[DS]
45; IGNOREVISIBILITY-ASM: .globl  .foo_h
46; IGNOREVISIBILITY-ASM: .globl  bar[DS]
47; IGNOREVISIBILITY-ASM: .globl  .bar
48; IGNOREVISIBILITY-ASM: .globl  b
49