1; Check the linkage types in both the per-module and combined summaries. 2; RUN: opt -module-summary %s -o %t.o 3; RUN: llvm-bcanalyzer -dump %t.o | FileCheck %s 4; RUN: llvm-lto -thinlto -o %t2 %t.o 5; RUN: llvm-bcanalyzer -dump %t2.thinlto.bc | FileCheck %s --check-prefix=COMBINED 6 7define private void @private() 8; CHECK: <PERMODULE {{.*}} op1=9 9; COMBINED-DAG: <COMBINED {{.*}} op1=9 10{ 11 ret void 12} 13 14define internal void @internal() 15; CHECK: <PERMODULE {{.*}} op1=3 16; COMBINED-DAG: <COMBINED {{.*}} op1=3 17{ 18 ret void 19} 20 21define available_externally void @available_externally() 22; CHECK: <PERMODULE {{.*}} op1=12 23; COMBINED-DAG: <COMBINED {{.*}} op1=12 24{ 25 ret void 26} 27 28define linkonce void @linkonce() 29; CHECK: <PERMODULE {{.*}} op1=18 30; COMBINED-DAG: <COMBINED {{.*}} op1=18 31{ 32 ret void 33} 34 35define weak void @weak() 36; CHECK: <PERMODULE {{.*}} op1=16 37; COMBINED-DAG: <COMBINED {{.*}} op1=16 38{ 39 ret void 40} 41 42define linkonce_odr void @linkonce_odr() 43; CHECK: <PERMODULE {{.*}} op1=19 44; COMBINED-DAG: <COMBINED {{.*}} op1=19 45{ 46 ret void 47} 48 49define weak_odr void @weak_odr() 50; CHECK: <PERMODULE {{.*}} op1=17 51; COMBINED-DAG: <COMBINED {{.*}} op1=17 52{ 53 ret void 54} 55 56define external void @external() 57; CHECK: <PERMODULE {{.*}} op1=0 58; COMBINED-DAG: <COMBINED {{.*}} op1=0 59{ 60 ret void 61} 62