[lld] r308529 - Call StringRef::contains only once for each StringRef.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 19 14:49:01 PDT 2017


Author: ruiu
Date: Wed Jul 19 14:49:01 2017
New Revision: 308529

URL: http://llvm.org/viewvc/llvm-project?rev=308529&view=rev
Log:
Call StringRef::contains only once for each StringRef.

Modified:
    lld/trunk/ELF/SymbolTable.cpp

Modified: lld/trunk/ELF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=308529&r1=308528&r2=308529&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.cpp (original)
+++ lld/trunk/ELF/SymbolTable.cpp Wed Jul 19 14:49:01 2017
@@ -325,9 +325,11 @@ Symbol *SymbolTable<ELFT>::addUndefined(
 // .symver foo,foo@@@VER
 // we can delete this hack.
 static int compareVersion(Symbol *S, StringRef Name) {
-  if (Name.contains("@@") && !S->body()->getName().contains("@@"))
+  bool A = Name.contains("@@");
+  bool B = S->body()->getName().contains("@@");
+  if (A && !B)
     return 1;
-  if (!Name.contains("@@") && S->body()->getName().contains("@@"))
+  if (!A && B)
     return -1;
   return 0;
 }




More information about the llvm-commits mailing list