diff options
| author | 2019-06-23 21:36:31 +0000 | |
|---|---|---|
| committer | 2019-06-23 21:36:31 +0000 | |
| commit | 23f101f37937a1bd4a29726cab2f76e0fb038b35 (patch) | |
| tree | f7da7d6b32c2e07114da399150bfa88d72187012 /gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp | |
| parent | sort previous; ok deraadt (diff) | |
| download | wireguard-openbsd-23f101f37937a1bd4a29726cab2f76e0fb038b35.tar.xz wireguard-openbsd-23f101f37937a1bd4a29726cab2f76e0fb038b35.zip | |
Import LLVM 8.0.0 release including clang, lld and lldb.
Diffstat (limited to 'gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp')
| -rw-r--r-- | gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp b/gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp index 62588e9509d..d9ebbb506ca 100644 --- a/gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp +++ b/gnu/llvm/lib/Target/X86/X86DomainReassignment.cpp @@ -31,10 +31,6 @@ using namespace llvm; -namespace llvm { -void initializeX86DomainReassignmentPass(PassRegistry &); -} - #define DEBUG_TYPE "x86-domain-reassignment" STATISTIC(NumClosuresConverted, "Number of closures converted by the pass"); @@ -736,7 +732,10 @@ bool X86DomainReassignment::runOnMachineFunction(MachineFunction &MF) { STI = &MF.getSubtarget<X86Subtarget>(); // GPR->K is the only transformation currently supported, bail out early if no // AVX512. - if (!STI->hasAVX512()) + // TODO: We're also bailing of AVX512BW isn't supported since we use VK32 and + // VK64 for GR32/GR64, but those aren't legal classes on KNL. If the register + // coalescer doesn't clean it up and we generate a spill we will crash. + if (!STI->hasAVX512() || !STI->hasBWI()) return false; MRI = &MF.getRegInfo(); |
