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