96 lines · plain
1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s2; RUN: verify-uselistorder %s3 4declare void @extern_func()5 6; CHECK: @call_extern_func7; CHECK: call void dso_local_equivalent @extern_func()8define void @call_extern_func() {9 call void dso_local_equivalent @extern_func()10 ret void11}12 13declare hidden void @hidden_func()14declare protected void @protected_func()15declare dso_local void @dso_local_func()16define internal void @internal_func() {17entry:18 ret void19}20define private void @private_func() {21entry:22 ret void23}24 25; CHECK: @call_hidden_func26; CHECK: call void dso_local_equivalent @hidden_func()27define void @call_hidden_func() {28 call void dso_local_equivalent @hidden_func()29 ret void30}31 32; CHECK: @call_protected_func33; CHECK: call void dso_local_equivalent @protected_func()34define void @call_protected_func() {35 call void dso_local_equivalent @protected_func()36 ret void37}38 39; CHECK: @call_dso_local_func40; CHECK: call void dso_local_equivalent @dso_local_func()41define void @call_dso_local_func() {42 call void dso_local_equivalent @dso_local_func()43 ret void44}45 46; CHECK: @call_internal_func47; CHECK: call void dso_local_equivalent @internal_func()48define void @call_internal_func() {49 call void dso_local_equivalent @internal_func()50 ret void51}52 53define void @aliasee_func() {54entry:55 ret void56}57 58@alias_func = alias void (), ptr @aliasee_func59@dso_local_alias_func = dso_local alias void (), ptr @aliasee_func60 61; CHECK: @call_alias_func62; CHECK: call void dso_local_equivalent @alias_func()63define void @call_alias_func() {64 call void dso_local_equivalent @alias_func()65 ret void66}67 68; CHECK: @call_dso_local_alias_func69; CHECK: call void dso_local_equivalent @dso_local_alias_func()70define void @call_dso_local_alias_func() {71 call void dso_local_equivalent @dso_local_alias_func()72 ret void73}74 75@ifunc_func = ifunc void (), ptr @resolver76@dso_local_ifunc_func = dso_local ifunc void (), ptr @resolver77 78define internal ptr @resolver() {79entry:80 ret ptr null81}82 83; CHECK: @call_ifunc_func84; CHECK: call void dso_local_equivalent @ifunc_func()85define void @call_ifunc_func() {86 call void dso_local_equivalent @ifunc_func()87 ret void88}89 90; CHECK: @call_dso_local_ifunc_func91; CHECK: call void dso_local_equivalent @dso_local_ifunc_func()92define void @call_dso_local_ifunc_func() {93 call void dso_local_equivalent @dso_local_ifunc_func()94 ret void95}96