summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2019-05-16 18:29:34 +0000
committerLang Hames <lhames@gmail.com>2019-05-16 18:29:34 +0000
commitc97b50e2247ffcea30138f2255d48ff83426e8b2 (patch)
treee75829a54aab5ce433b4c8865bae3606a17e3094 /llvm/lib/ExecutionEngine
parent20040db9a686e9d946cc40acee17d7a00ceeede3 (diff)
downloadbcm5719-llvm-c97b50e2247ffcea30138f2255d48ff83426e8b2.tar.gz
bcm5719-llvm-c97b50e2247ffcea30138f2255d48ff83426e8b2.zip
[ORC] Change handling for SymbolStringPtr tombstones and empty keys.
SymbolStringPtr used to use nullptr as its empty value and (since it performed ref-count operations on any non-nullptr) a pointer to a special pool-entry instance as its tombstone. This commit changes the scheme to use two invalid pointer values as the empty and tombstone values, and broadens the ref-count guard to prevent ref-counting operations from being performed on these pointers. This should improve the performance of SymbolStringPtrs used in DenseMaps/DenseSets, as ref counting operations will no longer be performed on the tombstone. llvm-svn: 360925
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Core.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index 674b44501ac..bbc5a3e8dab 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -133,8 +133,6 @@ struct PrintSymbolMapElemsMatchingCLOpts {
namespace llvm {
namespace orc {
-SymbolStringPool::PoolMapEntry SymbolStringPtr::Tombstone(0);
-
char FailedToMaterialize::ID = 0;
char SymbolsNotFound::ID = 0;
char SymbolsCouldNotBeRemoved::ID = 0;
OpenPOWER on IntegriCloud