diff --git a/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll b/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll new file mode 100644 index 0000000000000..a4c0b93a13a4a --- /dev/null +++ b/llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll @@ -0,0 +1,57 @@ +; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec < %s | \ +; RUN: FileCheck %s +; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec < %s |\ +; RUN: FileCheck %s + +@b = global i32 0, align 4 +@b_h = hidden global i32 0, align 4 + +define void @foo() { +entry: + ret void +} + +define hidden void @foo_h(i32* %ip) { +entry: + ret void +} + +define protected void @foo_protected(i32* %ip) { +entry: + ret void +} + +define weak hidden void @foo_weak_h() { +entry: + ret void +} + +@foo_p = global void ()* @zoo_weak_extern_h, align 4 +declare extern_weak hidden void @zoo_weak_extern_h() + +define i32 @main() { +entry: + %call1= call i32 @bar_h(i32* @b_h) + call void @foo_weak_h() + %0 = load void ()*, void ()** @foo_p, align 4 + call void %0() + ret i32 0 +} + +declare hidden i32 @bar_h(i32*) + +; CHECK: .globl foo[DS]{{[[:space:]]*([#].*)?$}} +; CHECK: .globl .foo{{[[:space:]]*([#].*)?$}} +; CHECK: .globl foo_h[DS],hidden +; CHECK: .globl .foo_h,hidden +; CHECK: .globl foo_protected[DS],protected +; CHECK: .globl .foo_protected,protected +; CHECK: .weak foo_weak_h[DS],hidden +; CHECK: .weak .foo_weak_h,hidden + +; CHECK: .globl b{{[[:space:]]*([#].*)?$}} +; CHECK: .globl b_h,hidden + +; CHECK: .weak zoo_weak_extern_h[DS],hidden +; CHECK: .extern .bar_h,hidden +; CHECK: .extern bar_h[DS],hidden