summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCGNU.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-11-24 16:01:20 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-11-24 16:01:20 +0000
commit81cb4b71038faef14bb4b2016cb163001387dba7 (patch)
treee5c4fba1c782552fa6b8e71d6453c637fcaaec7e /clang/lib/CodeGen/CGObjCGNU.cpp
parent0143bdb8710dac3fb29f521baa81522fa75fdb6f (diff)
downloadbcm5719-llvm-81cb4b71038faef14bb4b2016cb163001387dba7.tar.gz
bcm5719-llvm-81cb4b71038faef14bb4b2016cb163001387dba7.zip
[CodeGen] Pass objects that are expensive to copy by const ref.
No functionality change. Found by clang-tidy's performance-unnecessary-value-param. llvm-svn: 287894
Diffstat (limited to 'clang/lib/CodeGen/CGObjCGNU.cpp')
-rw-r--r--clang/lib/CodeGen/CGObjCGNU.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp
index 7fdd1bda162..9a99c6e5306 100644
--- a/clang/lib/CodeGen/CGObjCGNU.cpp
+++ b/clang/lib/CodeGen/CGObjCGNU.cpp
@@ -175,14 +175,14 @@ protected:
/// string value. This allows the linker to combine the strings between
/// different modules. Used for EH typeinfo names, selector strings, and a
/// few other things.
- llvm::Constant *ExportUniqueString(const std::string &Str,
- const std::string prefix) {
- std::string name = prefix + Str;
- auto *ConstStr = TheModule.getGlobalVariable(name);
+ llvm::Constant *ExportUniqueString(const std::string &Str, StringRef Prefix) {
+ std::string Name = Prefix.str() + Str;
+ auto *ConstStr = TheModule.getGlobalVariable(Name);
if (!ConstStr) {
llvm::Constant *value = llvm::ConstantDataArray::getString(VMContext,Str);
ConstStr = new llvm::GlobalVariable(TheModule, value->getType(), true,
- llvm::GlobalValue::LinkOnceODRLinkage, value, prefix + Str);
+ llvm::GlobalValue::LinkOnceODRLinkage,
+ value, Name);
}
return llvm::ConstantExpr::getGetElementPtr(ConstStr->getValueType(),
ConstStr, Zeros);
OpenPOWER on IntegriCloud