From 8eb3e54592ae7d7b43454fcd08d0da7a51ecd4d8 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Wed, 2 Feb 2011 05:31:01 +0000 Subject: [PATCH] Remove wasteful caching. This isn't needed for correctness because any function that might have changed been affected by a merge elsewhere will have been removed from the function set, and it isn't needed for performance because we call grow() ahead of time to prevent reallocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124717 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/IPO/MergeFunctions.cpp | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/lib/Transforms/IPO/MergeFunctions.cpp b/lib/Transforms/IPO/MergeFunctions.cpp index 2039b740a38..e2dd48458b4 100644 --- a/lib/Transforms/IPO/MergeFunctions.cpp +++ b/lib/Transforms/IPO/MergeFunctions.cpp @@ -112,23 +112,10 @@ public: Func = NULL; } - bool &getOrInsertCachedComparison(const ComparableFunction &Other, - bool &inserted) const { - typedef DenseMap::iterator iterator; - std::pair p = - CompareResultCache.insert(std::make_pair(Other.getFunc(), false)); - inserted = p.second; - return p.first->second; - } - private: explicit ComparableFunction(unsigned Hash) : Func(NULL), Hash(Hash), TD(NULL) {} - // DenseMap::grow() triggers a recomparison of all keys in the map, which is - // wildly expensive. This cache tries to preserve known results. - mutable DenseMap CompareResultCache; - AssertingVH Func; unsigned Hash; TargetData *TD; @@ -675,16 +662,8 @@ bool DenseMapInfo::isEqual(const ComparableFunction &LHS, assert(LHS.getTD() == RHS.getTD() && "Comparing functions for different targets"); - bool inserted; - bool &result1 = LHS.getOrInsertCachedComparison(RHS, inserted); - if (!inserted) - return result1; - bool &result2 = RHS.getOrInsertCachedComparison(LHS, inserted); - if (!inserted) - return result1 = result2; - - return result1 = result2 = FunctionComparator(LHS.getTD(), LHS.getFunc(), - RHS.getFunc()).compare(); + return FunctionComparator(LHS.getTD(), LHS.getFunc(), + RHS.getFunc()).compare(); } // Replace direct callers of Old with New.