From 289e241d775565b450286a682d7e8a1a1b625f61 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 16 Jul 2013 03:30:10 +0000 Subject: Remember that we have a null terminated string. This is a micro optimization. Instead of going char*->StringRef->Twine->char*, go char*->Twine->char* and avoid having to copy the filename on the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186380 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-ar/llvm-ar.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tools/llvm-ar') diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp index 7632b00..e082687 100644 --- a/tools/llvm-ar/llvm-ar.cpp +++ b/tools/llvm-ar/llvm-ar.cpp @@ -387,7 +387,7 @@ public: NewArchiveIterator(std::vector::const_iterator I, Twine Name); bool isNewMember() const; object::Archive::child_iterator getOld() const; - StringRef getNew() const; + const char *getNew() const; StringRef getMemberName() const { return MemberName; } }; } @@ -411,9 +411,9 @@ object::Archive::child_iterator NewArchiveIterator::getOld() const { return OldI; } -StringRef NewArchiveIterator::getNew() const { +const char *NewArchiveIterator::getNew() const { assert(IsNewMember); - return *NewI; + return NewI->c_str(); } template @@ -556,7 +556,7 @@ static void performWriteOperation(ArchiveOperation Operation, if (I->isNewMember()) { // FIXME: we do a stat + open. We should do a open + fstat. - StringRef FileName = I->getNew(); + const char *FileName = I->getNew(); sys::fs::file_status Status; failIfError(sys::fs::status(FileName, Status), FileName); -- cgit v1.1