[PATCH] D20332: [ThinLTO] Use semicolon to separate path prefix replacement

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Tue May 17 10:46:12 PDT 2016


rnk updated this revision to Diff 57500.
rnk added a comment.

- Really replace colon with semicolon


http://reviews.llvm.org/D20332

Files:
  test/ThinLTO/X86/prefix_replace.ll
  test/tools/gold/X86/thinlto_prefix_replace.ll
  tools/gold/gold-plugin.cpp
  tools/llvm-lto/llvm-lto.cpp

Index: tools/llvm-lto/llvm-lto.cpp
===================================================================
--- tools/llvm-lto/llvm-lto.cpp
+++ tools/llvm-lto/llvm-lto.cpp
@@ -108,7 +108,7 @@
 static cl::opt<std::string> ThinLTOPrefixReplace(
     "thinlto-prefix-replace",
     cl::desc("Control where files for distributed backends are "
-             "created. Expects 'oldprefix:newprefix' and if path "
+             "created. Expects 'oldprefix;newprefix' and if path "
              "prefix of output file is oldprefix it will be "
              "replaced with newprefix."));
 
@@ -307,9 +307,9 @@
 static void getThinLTOOldAndNewPrefix(std::string &OldPrefix,
                                       std::string &NewPrefix) {
   assert(ThinLTOPrefixReplace.empty() ||
-         ThinLTOPrefixReplace.find(":") != StringRef::npos);
+         ThinLTOPrefixReplace.find(";") != StringRef::npos);
   StringRef PrefixReplace = ThinLTOPrefixReplace;
-  std::pair<StringRef, StringRef> Split = PrefixReplace.split(":");
+  std::pair<StringRef, StringRef> Split = PrefixReplace.split(";");
   OldPrefix = Split.first.str();
   NewPrefix = Split.second.str();
 }
Index: tools/gold/gold-plugin.cpp
===================================================================
--- tools/gold/gold-plugin.cpp
+++ tools/gold/gold-plugin.cpp
@@ -234,8 +234,8 @@
       thinlto_emit_imports_files = true;
     } else if (opt.startswith("thinlto-prefix-replace=")) {
       thinlto_prefix_replace = opt.substr(strlen("thinlto-prefix-replace="));
-      if (thinlto_prefix_replace.find(":") == std::string::npos)
-        message(LDPL_FATAL, "thinlto-prefix-replace expects 'old:new' format");
+      if (thinlto_prefix_replace.find(";") == std::string::npos)
+        message(LDPL_FATAL, "thinlto-prefix-replace expects 'old;new' format");
     } else if (opt.size() == 2 && opt[0] == 'O') {
       if (opt[1] < '0' || opt[1] > '3')
         message(LDPL_FATAL, "Optimization level must be between 0 and 3");
@@ -1219,8 +1219,8 @@
 static void getThinLTOOldAndNewPrefix(std::string &OldPrefix,
                                       std::string &NewPrefix) {
   StringRef PrefixReplace = options::thinlto_prefix_replace;
-  assert(PrefixReplace.empty() || PrefixReplace.find(":") != StringRef::npos);
-  std::pair<StringRef, StringRef> Split = PrefixReplace.split(":");
+  assert(PrefixReplace.empty() || PrefixReplace.find(";") != StringRef::npos);
+  std::pair<StringRef, StringRef> Split = PrefixReplace.split(";");
   OldPrefix = Split.first.str();
   NewPrefix = Split.second.str();
 }
Index: test/tools/gold/X86/thinlto_prefix_replace.ll
===================================================================
--- test/tools/gold/X86/thinlto_prefix_replace.ll
+++ test/tools/gold/X86/thinlto_prefix_replace.ll
@@ -7,7 +7,7 @@
 ; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
 ; RUN:    --plugin-opt=thinlto \
 ; RUN:    --plugin-opt=thinlto-index-only \
-; RUN:    --plugin-opt=thinlto-prefix-replace="%T/oldpath/:%T/newpath/" \
+; RUN:    --plugin-opt=thinlto-prefix-replace="%T/oldpath/;%T/newpath/" \
 ; RUN:    -shared %T/oldpath/thinlto_prefix_replace.o -o %T/thinlto_prefix_replace
 ; RUN: ls %T/newpath/thinlto_prefix_replace.o.thinlto.bc
 
Index: test/ThinLTO/X86/prefix_replace.ll
===================================================================
--- test/ThinLTO/X86/prefix_replace.ll
+++ test/ThinLTO/X86/prefix_replace.ll
@@ -1,14 +1,13 @@
 ; Check that changing the output path via prefix-replace works
 ; Use of '/' in paths created here make this unsuitable for Windows.
-; REQUIRES: shell
 ; RUN: mkdir -p %T/oldpath
 ; RUN: opt -module-summary %s -o %T/oldpath/prefix_replace.o
 ; Ensure that there is no existing file at the new path, so we properly
 ; test the creation of the new file there.
 ; RUN: rm -f %T/newpath/prefix_replace.o.thinlto.bc
 
 ; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %T/oldpath/prefix_replace.o
-; RUN: llvm-lto -thinlto-action=distributedindexes -thinlto-prefix-replace="%T/oldpath/:%T/newpath/" -thinlto-index %t.index.bc %T/oldpath/prefix_replace.o
+; RUN: llvm-lto -thinlto-action=distributedindexes -thinlto-prefix-replace="%T/oldpath/;%T/newpath/" -thinlto-index %t.index.bc %T/oldpath/prefix_replace.o
 
 ; RUN: ls %T/newpath/prefix_replace.o.thinlto.bc
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20332.57500.patch
Type: text/x-patch
Size: 4300 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160517/4b078da8/attachment.bin>


More information about the llvm-commits mailing list