1; REQUIRES: x86 2; RUN: llvm-as -o %t.obj %s 3; RUN: lld-link -opt:noicf /out:%t.exe /entry:foo /include:bar /opt:lldltopartitions=2 /subsystem:console /lldmap:%t.map %t.obj /debug /pdb:%t.pdb 4; RUN: FileCheck %s < %t.map 5; RUN: llvm-pdbutil dump %t.pdb --modules | FileCheck %s --check-prefix=PDB 6 7target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 8target triple = "x86_64-pc-windows-msvc" 9 10; CHECK: lto-parallel.ll.tmp.exe.lto.obj: 11; CHECK: lto-parallel.ll.tmp.exe.lto.obj: 12; CHECK-NEXT: foo 13define void @foo() { 14 call void @bar() 15 ret void 16} 17 18; CHECK: lto-parallel.ll.tmp.exe.lto.1.obj: 19; CHECK: lto-parallel.ll.tmp.exe.lto.1.obj: 20; CHECK: bar 21define void @bar() { 22 call void @foo() 23 ret void 24} 25 26 27; Objects in the PDB should receive distinct names. 28 29; PDB: Modules 30; PDB: Mod 0000 | `{{.*}}lto-parallel.ll.tmp.exe.lto.obj`: 31; PDB: Obj: `{{.*}}lto-parallel.ll.tmp.exe.lto.obj`: 32; PDB: Mod 0001 | `{{.*}}lto-parallel.ll.tmp.exe.lto.1.obj`: 33; PDB: Obj: `{{.*}}lto-parallel.ll.tmp.exe.lto.1.obj`: 34; PDB: Mod 0002 | `* Linker *`: 35; PDB: Obj: ``: 36