[COFF] Set the CPU string for LTO like ELF does

Fixes PR40043

llvm-svn: 349436
This commit is contained in:
Reid Kleckner 2018-12-18 01:59:33 +00:00
parent 362d022d60
commit 0aa260d2c9
2 changed files with 22 additions and 0 deletions

View File

@ -60,6 +60,7 @@ static std::unique_ptr<lto::LTO> createLTO() {
C.DisableVerify = true;
C.DiagHandler = diagnosticHandler;
C.OptLevel = Config->LTOO;
C.CPU = GetCPUStr();
C.MAttrs = GetMAttrs();
if (Config->SaveTemps)

View File

@ -0,0 +1,21 @@
; REQUIRES: x86
; RUN: llvm-as %s -o %t.obj
; RUN: lld-link %t.obj -noentry -nodefaultlib -out:%t.dll -dll
; RUN: llvm-objdump -d -section=".text" -no-leading-addr -no-show-raw-insn %t.dll | FileCheck %s
; CHECK: nop{{$}}
; RUN: lld-link -mllvm:-mcpu=znver1 -noentry -nodefaultlib %t.obj -out:%t.znver1.dll -dll
; RUN: llvm-objdump -d -section=".text" -no-leading-addr -no-show-raw-insn %t.znver1.dll | FileCheck -check-prefix=ZNVER1 %s
; ZNVER1: nopw
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc19.14.26433"
define dllexport void @foo() #0 {
entry:
call void asm sideeffect ".p2align 4, 0x90", "~{dirflag},~{fpsr},~{flags}"()
ret void
}
attributes #0 = { "no-frame-pointer-elim"="true" }