1*91a6bfedSReid Kleckner; REQUIRES: x86 2*91a6bfedSReid Kleckner; RUN: rm -rf %t && mkdir -p %t && cd %t 3*91a6bfedSReid Kleckner; RUN: opt -thinlto-bc -o main.bc %s 4*91a6bfedSReid Kleckner; RUN: opt -thinlto-bc -o foo.bc %S/Inputs/lto-dep.ll 5*91a6bfedSReid Kleckner 6*91a6bfedSReid Kleckner; Even if the native object is cached, the PDB must be the same. 7*91a6bfedSReid Kleckner; RUN: rm -rf thinltocachedir && mkdir thinltocachedir 8*91a6bfedSReid Kleckner 9*91a6bfedSReid Kleckner; RUN: lld-link /lldltocache:thinltocachedir /out:main.exe /entry:main /subsystem:console main.bc foo.bc /debug /pdb:main.pdb 10*91a6bfedSReid Kleckner 11*91a6bfedSReid Kleckner; RUN: llvm-pdbutil dump --modules main.pdb | FileCheck %s 12*91a6bfedSReid Kleckner 13*91a6bfedSReid Kleckner; Run again with the cache. Make sure we get the same object names. 14*91a6bfedSReid Kleckner 15*91a6bfedSReid Kleckner; RUN: lld-link /lldltocache:thinltocachedir /out:main.exe /entry:main /subsystem:console main.bc foo.bc /debug /pdb:main.pdb 16*91a6bfedSReid Kleckner 17*91a6bfedSReid Kleckner; RUN: llvm-pdbutil dump --modules main.pdb | FileCheck %s 18*91a6bfedSReid Kleckner 19*91a6bfedSReid Kleckner 20*91a6bfedSReid Klecknertarget datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 21*91a6bfedSReid Klecknertarget triple = "x86_64-pc-windows-msvc" 22*91a6bfedSReid Kleckner 23*91a6bfedSReid Klecknerdefine i32 @main() { 24*91a6bfedSReid Kleckner call void @foo() 25*91a6bfedSReid Kleckner ret i32 0 26*91a6bfedSReid Kleckner} 27*91a6bfedSReid Kleckner 28*91a6bfedSReid Klecknerdeclare void @foo() 29*91a6bfedSReid Kleckner 30*91a6bfedSReid Kleckner; CHECK: Modules 31*91a6bfedSReid Kleckner; CHECK: ============================================================ 32*91a6bfedSReid Kleckner; CHECK: Mod 0000 | `{{.*}}main.exe.lto.obj`: 33*91a6bfedSReid Kleckner; CHECK: Obj: `{{.*}}main.exe.lto.obj`: 34*91a6bfedSReid Kleckner; CHECK: Mod 0001 | `{{.*}}main.exe.lto.1.obj`: 35*91a6bfedSReid Kleckner; CHECK: Obj: `{{.*}}main.exe.lto.1.obj`: 36*91a6bfedSReid Kleckner; CHECK: Mod 0002 | `{{.*}}main.exe.lto.2.obj`: 37*91a6bfedSReid Kleckner; CHECK: Obj: `{{.*}}main.exe.lto.2.obj`: 38*91a6bfedSReid Kleckner; CHECK: Mod 0003 | `* Linker *`: 39