From: Sam McCall Date: Mon, 23 Jul 2018 11:25:25 +0000 (+0000) Subject: [Tooling] Use UniqueStringSaver. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e2d5d03cb9ce174c39c2975c6d9d510058e8421;p=clang [Tooling] Use UniqueStringSaver. NFC git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337682 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Tooling/Execution.h b/include/clang/Tooling/Execution.h index 71c97f3db1..68aef53cb5 100644 --- a/include/clang/Tooling/Execution.h +++ b/include/clang/Tooling/Execution.h @@ -57,7 +57,7 @@ public: /// set of different results, or a large set of duplicated results. class InMemoryToolResults : public ToolResults { public: - InMemoryToolResults() : StringsPool(Arena) {} + InMemoryToolResults() : Strings(Arena) {} void addResult(StringRef Key, StringRef Value) override; std::vector> AllKVResults() override; @@ -66,8 +66,7 @@ public: private: llvm::BumpPtrAllocator Arena; - llvm::StringSaver StringsPool; - llvm::DenseSet Strings; + llvm::UniqueStringSaver Strings; std::vector> KVResults; }; diff --git a/lib/Tooling/Execution.cpp b/lib/Tooling/Execution.cpp index 5d6559fb2b..7ae67747ac 100644 --- a/lib/Tooling/Execution.cpp +++ b/lib/Tooling/Execution.cpp @@ -21,16 +21,7 @@ static llvm::cl::opt llvm::cl::init("standalone")); void InMemoryToolResults::addResult(StringRef Key, StringRef Value) { - auto Intern = [&](StringRef &V) { - auto R = Strings.insert(V); - if (R.second) { // A new entry, create a new string copy. - *R.first = StringsPool.save(V); - } - V = *R.first; - }; - Intern(Key); - Intern(Value); - KVResults.push_back({Key, Value}); + KVResults.push_back({Strings.save(Key), Strings.save(Value)}); } std::vector>