1; First ensure that the ThinLTO handling in the gold plugin handles 2; bitcode without function summary sections gracefully. 3; RUN: llvm-as %s -o %t.o 4; RUN: llvm-as %p/Inputs/thinlto.ll -o %t2.o 5; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \ 6; RUN: --plugin-opt=thinlto \ 7; RUN: -shared %t.o %t2.o -o %t3 8 9; RUN: llvm-as -function-summary %s -o %t.o 10; RUN: llvm-as -function-summary %p/Inputs/thinlto.ll -o %t2.o 11 12; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \ 13; RUN: --plugin-opt=thinlto \ 14; RUN: -shared %t.o %t2.o -o %t3 15; RUN: llvm-bcanalyzer -dump %t3.thinlto.bc | FileCheck %s --check-prefix=COMBINED 16; RUN: not test -e %t3 17 18; COMBINED: <MODULE_STRTAB_BLOCK 19; COMBINED-NEXT: <ENTRY {{.*}} record string = '{{.*}}/test/tools/gold/X86/Output/thinlto.ll.tmp{{.*}}.o' 20; COMBINED-NEXT: <ENTRY {{.*}} record string = '{{.*}}/test/tools/gold/X86/Output/thinlto.ll.tmp{{.*}}.o' 21; COMBINED-NEXT: </MODULE_STRTAB_BLOCK 22; COMBINED-NEXT: <FUNCTION_SUMMARY_BLOCK 23; COMBINED-NEXT: <COMBINED_ENTRY 24; COMBINED-NEXT: <COMBINED_ENTRY 25; COMBINED-NEXT: </FUNCTION_SUMMARY_BLOCK 26; COMBINED-NEXT: <VALUE_SYMTAB 27; COMBINED-NEXT: <COMBINED_FNENTRY {{.*}} record string = '{{f|g}}' 28; COMBINED-NEXT: <COMBINED_FNENTRY {{.*}} record string = '{{f|g}}' 29; COMBINED-NEXT: </VALUE_SYMTAB 30 31define void @f() { 32entry: 33 ret void 34} 35