summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrInfo.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2018-06-27 21:01:53 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2018-06-27 21:01:53 +0000
commite214f046af3ae7313a1a868615e728233a00e3b7 (patch)
treee0c24313b2200a0e2e282480aa5f86f13cab2fab /llvm/lib/Target/X86/X86InstrInfo.cpp
parent880e34ed45aa1bfae2648d5d3426e6525fafecff (diff)
downloadbcm5719-llvm-e214f046af3ae7313a1a868615e728233a00e3b7.tar.gz
bcm5719-llvm-e214f046af3ae7313a1a868615e728233a00e3b7.zip
[X86] Make folding table checking threadsafe
This is a benign race, but tsan likes to complain about it. Just make it happy. llvm-svn: 335788
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index a5c6b19dd0a..7096e8284ed 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -5413,8 +5413,7 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
#ifndef NDEBUG
// Make sure the tables are sorted.
- static bool FoldTablesChecked = false;
- if (!FoldTablesChecked) {
+ static bool LLVM_ATTRIBUTE_UNUSED FoldTablesChecked = [] {
assert(std::is_sorted(std::begin(MemoryFoldTable2Addr),
std::end(MemoryFoldTable2Addr)) &&
std::adjacent_find(std::begin(MemoryFoldTable2Addr),
@@ -5451,8 +5450,8 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
std::end(MemoryFoldTable4)) ==
std::end(MemoryFoldTable4) &&
"MemoryFoldTable4 is not sorted and unique!");
- FoldTablesChecked = true;
- }
+ return true;
+ }();
#endif
}
OpenPOWER on IntegriCloud