From a0458b67ae2733bf216bce5824accb63d96d33fa Mon Sep 17 00:00:00 2001
From: Rafael Espindola <rafael.espindola@gmail.com>
Date: Wed, 15 Jul 2015 21:24:07 +0000
Subject: [PATCH] Simplify a few uses of remove_filename by using parent_path
 instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242334 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Object/Archive.cpp | 5 ++---
 lib/Support/Path.cpp   | 3 +--
 tools/lli/lli.cpp      | 3 +--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/lib/Object/Archive.cpp b/lib/Object/Archive.cpp
index d4821196a6c..a1e5eb27689 100644
--- a/lib/Object/Archive.cpp
+++ b/lib/Object/Archive.cpp
@@ -122,9 +122,8 @@ ErrorOr<StringRef> Archive::Child::getBuffer() const {
   ErrorOr<StringRef> Name = getName();
   if (std::error_code EC = Name.getError())
     return EC;
-  SmallString<128> FullName =
-      Parent->getMemoryBufferRef().getBufferIdentifier();
-  sys::path::remove_filename(FullName);
+  SmallString<128> FullName = sys::path::parent_path(
+      Parent->getMemoryBufferRef().getBufferIdentifier());
   sys::path::append(FullName, *Name);
   ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile(FullName);
   if (std::error_code EC = Buf.getError())
diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp
index cf467381db8..75fd292e5b1 100644
--- a/lib/Support/Path.cpp
+++ b/lib/Support/Path.cpp
@@ -889,8 +889,7 @@ std::error_code is_other(const Twine &Path, bool &Result) {
 }
 
 void directory_entry::replace_filename(const Twine &filename, file_status st) {
-  SmallString<128> path(Path.begin(), Path.end());
-  path::remove_filename(path);
+  SmallString<128> path = path::parent_path(Path);
   path::append(path, filename);
   Path = path.str();
   Status = st;
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 057841f0ad6..949b444cc28 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -262,8 +262,7 @@ public:
     if (!getCacheFilename(ModuleID, CacheName))
       return;
     if (!CacheDir.empty()) { // Create user-defined cache dir.
-      SmallString<128> dir(CacheName);
-      sys::path::remove_filename(dir);
+      SmallString<128> dir(sys::path::parent_path(CacheName));
       sys::fs::create_directories(Twine(dir));
     }
     std::error_code EC;
-- 
2.34.1