1; REQUIRES: x86
2; RUN: llvm-as -o %t.obj %s
3; RUN: lld-link /out:%t0.exe /entry:main /subsystem:console /opt:lldlto=0 /lldmap:%t0.map %t.obj
4; RUN: FileCheck --check-prefix=CHECK-O0 %s < %t0.map
5; RUN: lld-link /out:%t2.exe /entry:main /subsystem:console /opt:lldlto=2 /lldmap:%t2.map %t.obj
6; RUN: FileCheck --check-prefix=CHECK-O2 %s < %t2.map
7; RUN: lld-link /out:%t2a.exe /entry:main /subsystem:console /lldmap:%t2a.map %t.obj
8; RUN: FileCheck --check-prefix=CHECK-O2 %s < %t2a.map
9
10target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
11target triple = "x86_64-pc-windows-msvc"
12
13; CHECK-O0: foo
14; CHECK-O2-NOT: foo
15define internal void @foo() {
16  ret void
17}
18
19define void @main() {
20  call void @foo()
21  ret void
22}
23