diff options
author | Lang Hames <lhames@gmail.com> | 2018-10-06 23:02:06 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-10-06 23:02:06 +0000 |
commit | cb5702c3fd741b9311bab7d9cce7cea39fc7ae42 (patch) | |
tree | fcddb2ce1cddf22b3b713a4c2dd903cb8434c7a3 /llvm/include/llvm/ExecutionEngine/Orc | |
parent | 9fa1c66421666df6dce6da3a05524b5d60229be9 (diff) | |
download | bcm5719-llvm-cb5702c3fd741b9311bab7d9cce7cea39fc7ae42.tar.gz bcm5719-llvm-cb5702c3fd741b9311bab7d9cce7cea39fc7ae42.zip |
[ORC] Pass symbol name to discard by const reference.
This saves some unnecessary atomic ref-counting operations.
llvm-svn: 343927
Diffstat (limited to 'llvm/include/llvm/ExecutionEngine/Orc')
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/Core.h | 8 | ||||
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/Layer.h | 4 | ||||
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Core.h b/llvm/include/llvm/ExecutionEngine/Orc/Core.h index 24742b10920..f154a713711 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Core.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Core.h @@ -255,7 +255,7 @@ public: /// Called by JITDylibs to notify MaterializationUnits that the given symbol /// has been overridden. - void doDiscard(const JITDylib &JD, SymbolStringPtr Name) { + void doDiscard(const JITDylib &JD, const SymbolStringPtr &Name) { SymbolFlags.erase(Name); discard(JD, std::move(Name)); } @@ -275,7 +275,7 @@ private: /// from the source (e.g. if the source is an LLVM IR Module and the /// symbol is a function, delete the function body or mark it available /// externally). - virtual void discard(const JITDylib &JD, SymbolStringPtr Name) = 0; + virtual void discard(const JITDylib &JD, const SymbolStringPtr &Name) = 0; }; using MaterializationUnitList = @@ -293,7 +293,7 @@ public: private: void materialize(MaterializationResponsibility R) override; - void discard(const JITDylib &JD, SymbolStringPtr Name) override; + void discard(const JITDylib &JD, const SymbolStringPtr &Name) override; static SymbolFlagsMap extractFlags(const SymbolMap &Symbols); SymbolMap Symbols; @@ -344,7 +344,7 @@ public: private: void materialize(MaterializationResponsibility R) override; - void discard(const JITDylib &JD, SymbolStringPtr Name) override; + void discard(const JITDylib &JD, const SymbolStringPtr &Name) override; static SymbolFlagsMap extractFlags(const SymbolAliasMap &Aliases); JITDylib *SourceJD = nullptr; diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Layer.h b/llvm/include/llvm/ExecutionEngine/Orc/Layer.h index 0d3de74093e..3bd23ae5416 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Layer.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Layer.h @@ -96,7 +96,7 @@ protected: SymbolNameToDefinitionMap SymbolToDefinition; private: - void discard(const JITDylib &JD, SymbolStringPtr Name) override; + void discard(const JITDylib &JD, const SymbolStringPtr &Name) override; }; /// MaterializationUnit that materializes modules by calling the 'emit' method @@ -158,7 +158,7 @@ public: private: void materialize(MaterializationResponsibility R) override; - void discard(const JITDylib &JD, SymbolStringPtr Name) override; + void discard(const JITDylib &JD, const SymbolStringPtr &Name) override; ObjectLayer &L; VModuleKey K; diff --git a/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h b/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h index 4efbdffc219..8f897009ac2 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h @@ -165,7 +165,7 @@ public: private: void materialize(MaterializationResponsibility R) override; - void discard(const JITDylib &JD, SymbolStringPtr Name) override; + void discard(const JITDylib &JD, const SymbolStringPtr &Name) override; static SymbolFlagsMap extractFlags(const SymbolAliasMap &Aliases); LazyCallThroughManager &LCTManager; |