From: Ted Kremenek Date: Wed, 18 Feb 2009 17:42:44 +0000 (+0000) Subject: Revise comment. Comparing pointer values in 'Range' wasn't the performance issue... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e53f8206ebb36a17e95e64270704e2608d1796f4;p=clang Revise comment. Comparing pointer values in 'Range' wasn't the performance issue I thought it was, but it is still worth ordering Range objects by their APSInt values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64921 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/RangeConstraintManager.cpp b/lib/Analysis/RangeConstraintManager.cpp index 59e91c1c87..fabc57950f 100644 --- a/lib/Analysis/RangeConstraintManager.cpp +++ b/lib/Analysis/RangeConstraintManager.cpp @@ -62,11 +62,9 @@ public: class VISIBILITY_HIDDEN RangeTrait : public llvm::ImutContainerInfo { public: // When comparing if one Range is less than another, we should compare - // the actual APSInt values instead of their pointers. This ensures that - // ImmutableSets based on Range objects always are constructed - // with the same ordering between Ranges. The definition if 'isEqual' can - // remain as it is (compare pointers) because all APSInt objects within - // Range are uniqued by BasicValueManager. + // the actual APSInt values instead of their pointers. This keeps the order + // consistent (instead of comparing by pointer values) and can potentially + // be used to speed up some of the operations in RangeSet. static inline bool isLess(key_type_ref lhs, key_type_ref rhs) { return *lhs.first < *rhs.first || (!(*rhs.first < *lhs.first) && *lhs.second < *rhs.second);