forked from OSchip/llvm-project
36 lines
1.1 KiB
LLVM
36 lines
1.1 KiB
LLVM
; REQUIRES: x86
|
|
; RUN: llvm-as -o %t.obj %s
|
|
; 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
|
|
; RUN: FileCheck %s < %t.map
|
|
; RUN: llvm-pdbutil dump %t.pdb --modules | FileCheck %s --check-prefix=PDB
|
|
|
|
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-pc-windows-msvc"
|
|
|
|
; CHECK: lto-parallel.ll.tmp.exe.lto.obj:
|
|
; CHECK: lto-parallel.ll.tmp.exe.lto.obj:
|
|
; CHECK-NEXT: foo
|
|
define void @foo() {
|
|
call void @bar()
|
|
ret void
|
|
}
|
|
|
|
; CHECK: lto-parallel.ll.tmp.exe.lto.1.obj:
|
|
; CHECK: lto-parallel.ll.tmp.exe.lto.1.obj:
|
|
; CHECK: bar
|
|
define void @bar() {
|
|
call void @foo()
|
|
ret void
|
|
}
|
|
|
|
|
|
; Objects in the PDB should receive distinct names.
|
|
|
|
; PDB: Modules
|
|
; PDB: Mod 0000 | `{{.*}}lto-parallel.ll.tmp.exe.lto.obj`:
|
|
; PDB: Obj: `{{.*}}lto-parallel.ll.tmp.exe.lto.obj`:
|
|
; PDB: Mod 0001 | `{{.*}}lto-parallel.ll.tmp.exe.lto.1.obj`:
|
|
; PDB: Obj: `{{.*}}lto-parallel.ll.tmp.exe.lto.1.obj`:
|
|
; PDB: Mod 0002 | `* Linker *`:
|
|
; PDB: Obj: ``:
|