diff options
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/X86EvexToVex.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86EvexToVex.cpp b/llvm/lib/Target/X86/X86EvexToVex.cpp index fb7217b2851..8352ebc037e 100644 --- a/llvm/lib/Target/X86/X86EvexToVex.cpp +++ b/llvm/lib/Target/X86/X86EvexToVex.cpp @@ -239,15 +239,15 @@ bool EvexToVexInstPass::CompressEvexToVexImpl(MachineInstr &MI) const { #ifndef NDEBUG // Make sure the tables are sorted. - static bool TableChecked = false; - if (!TableChecked) { + static std::atomic<bool> TableChecked(false); + if (!TableChecked.load(std::memory_order_relaxed)) { assert(std::is_sorted(std::begin(X86EvexToVex128CompressTable), std::end(X86EvexToVex128CompressTable)) && "X86EvexToVex128CompressTable is not sorted!"); assert(std::is_sorted(std::begin(X86EvexToVex256CompressTable), std::end(X86EvexToVex256CompressTable)) && "X86EvexToVex256CompressTable is not sorted!"); - TableChecked = true; + TablesChecked.store(true, std::memory_order_relaxed); } #endif diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 7096e8284ed..7492de27e7b 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -5413,7 +5413,8 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI) #ifndef NDEBUG // Make sure the tables are sorted. - static bool LLVM_ATTRIBUTE_UNUSED FoldTablesChecked = [] { + static std::atomic<bool> FoldTablesChecked(false); + if (!FoldTablesChecked.load(std::memory_order_relaxed)) { assert(std::is_sorted(std::begin(MemoryFoldTable2Addr), std::end(MemoryFoldTable2Addr)) && std::adjacent_find(std::begin(MemoryFoldTable2Addr), @@ -5450,8 +5451,8 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI) std::end(MemoryFoldTable4)) == std::end(MemoryFoldTable4) && "MemoryFoldTable4 is not sorted and unique!"); - return true; - }(); + FoldTablesChecked.store(true, std::memory_order_relaxed); + } #endif } |