1*c729c1b4SSam Clegg; Basic ThinLTO tests. 2*c729c1b4SSam Clegg; RUN: opt -module-summary %s -o %t1.o 3*c729c1b4SSam Clegg; RUN: opt -module-summary %p/Inputs/thinlto.ll -o %t2.o 4*c729c1b4SSam Clegg 5*c729c1b4SSam Clegg; First force single-threaded mode 6*c729c1b4SSam Clegg; RUN: rm -f %t31.lto.o %t32.lto.o 7*c729c1b4SSam Clegg; RUN: wasm-ld -r -save-temps --thinlto-jobs=1 %t1.o %t2.o -o %t3 8*c729c1b4SSam Clegg; RUN: llvm-nm %t31.lto.o | FileCheck %s --check-prefix=NM1 9*c729c1b4SSam Clegg; RUN: llvm-nm %t32.lto.o | FileCheck %s --check-prefix=NM2 10*c729c1b4SSam Clegg 11*c729c1b4SSam Clegg; Next force multi-threaded mode 12*c729c1b4SSam Clegg; RUN: rm -f %t31.lto.o %t32.lto.o 13*c729c1b4SSam Clegg; RUN: wasm-ld -r -save-temps --thinlto-jobs=2 %t1.o %t2.o -o %t3 14*c729c1b4SSam Clegg; RUN: llvm-nm %t31.lto.o | FileCheck %s --check-prefix=NM1 15*c729c1b4SSam Clegg; RUN: llvm-nm %t32.lto.o | FileCheck %s --check-prefix=NM2 16*c729c1b4SSam Clegg 17*c729c1b4SSam Clegg; Check without --thinlto-jobs (which currently default to hardware_concurrency) 18*c729c1b4SSam Clegg; RUN: wasm-ld -r %t1.o %t2.o -o %t3 19*c729c1b4SSam Clegg; RUN: llvm-nm %t31.lto.o | FileCheck %s --check-prefix=NM1 20*c729c1b4SSam Clegg; RUN: llvm-nm %t32.lto.o | FileCheck %s --check-prefix=NM2 21*c729c1b4SSam Clegg 22*c729c1b4SSam Clegg; NM1: T f 23*c729c1b4SSam Clegg; NM2: T g 24*c729c1b4SSam Clegg 25*c729c1b4SSam Cleggtarget datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 26*c729c1b4SSam Cleggtarget triple = "wasm32-unknown-unknown" 27*c729c1b4SSam Clegg 28*c729c1b4SSam Cleggdeclare void @g(...) 29*c729c1b4SSam Clegg 30*c729c1b4SSam Cleggdefine void @f() { 31*c729c1b4SSam Cleggentry: 32*c729c1b4SSam Clegg call void (...) @g() 33*c729c1b4SSam Clegg ret void 34*c729c1b4SSam Clegg} 35