[Lldb-commits] [lldb] r372018 - [lldb] Remove SetCount/ClearCount from Flags
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Mon Sep 16 11:02:50 PDT 2019
Author: teemperor
Date: Mon Sep 16 11:02:49 2019
New Revision: 372018
URL: http://llvm.org/viewvc/llvm-project?rev=372018&view=rev
Log:
[lldb] Remove SetCount/ClearCount from Flags
Summary:
These functions are only used in tests where we should test the actual flag values instead of counting all bits for an approximate check.
Also these popcount implementation aren't very efficient and doesn't seem to be optimised to anything fast.
Reviewers: davide, JDevlieghere
Reviewed By: davide, JDevlieghere
Subscribers: abidh, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D67540
Modified:
lldb/trunk/include/lldb/Utility/Flags.h
lldb/trunk/unittests/Utility/FlagsTest.cpp
Modified: lldb/trunk/include/lldb/Utility/Flags.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Utility/Flags.h?rev=372018&r1=372017&r2=372018&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Utility/Flags.h (original)
+++ lldb/trunk/include/lldb/Utility/Flags.h Mon Sep 16 11:02:49 2019
@@ -121,32 +121,6 @@ public:
/// \b true if \a bit is 0, \b false otherwise.
bool IsClear(ValueType bit) const { return (m_flags & bit) == 0; }
- /// Get the number of zero bits in \a m_flags.
- ///
- /// \return
- /// The number of bits that are set to 0 in the current flags.
- size_t ClearCount() const {
- size_t count = 0;
- for (ValueType shift = 0; shift < sizeof(ValueType) * 8; ++shift) {
- if ((m_flags & (1u << shift)) == 0)
- ++count;
- }
- return count;
- }
-
- /// Get the number of one bits in \a m_flags.
- ///
- /// \return
- /// The number of bits that are set to 1 in the current flags.
- size_t SetCount() const {
- size_t count = 0;
- for (ValueType mask = m_flags; mask; mask >>= 1) {
- if (mask & 1u)
- ++count;
- }
- return count;
- }
-
protected:
ValueType m_flags; ///< The flags.
};
Modified: lldb/trunk/unittests/Utility/FlagsTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Utility/FlagsTest.cpp?rev=372018&r1=372017&r2=372018&view=diff
==============================================================================
--- lldb/trunk/unittests/Utility/FlagsTest.cpp (original)
+++ lldb/trunk/unittests/Utility/FlagsTest.cpp Mon Sep 16 11:02:49 2019
@@ -30,19 +30,18 @@ TEST(Flags, Reset) {
Flags f;
f.Reset(0x3);
EXPECT_EQ(0x3U, f.Get());
- EXPECT_EQ(2U, f.SetCount());
}
TEST(Flags, Clear) {
Flags f;
f.Reset(0x3);
- EXPECT_EQ(2U, f.SetCount());
+ EXPECT_EQ(0x3U, f.Get());
f.Clear(0x5);
- EXPECT_EQ(1U, f.SetCount());
+ EXPECT_EQ(0x2U, f.Get());
f.Clear();
- EXPECT_EQ(0U, f.SetCount());
+ EXPECT_EQ(0x0U, f.Get());
}
TEST(Flags, AllSet) {
@@ -162,37 +161,3 @@ TEST(Flags, IsClear) {
EXPECT_TRUE(f.IsClear(eFlag0));
EXPECT_TRUE(f.IsClear(eFlag1));
}
-
-TEST(Flags, ClearCount) {
- Flags f;
- EXPECT_EQ(32U, f.ClearCount());
-
- f.Set(eFlag0);
- EXPECT_EQ(31U, f.ClearCount());
-
- f.Set(eFlag0);
- EXPECT_EQ(31U, f.ClearCount());
-
- f.Set(eFlag1);
- EXPECT_EQ(30U, f.ClearCount());
-
- f.Set(eAllFlags);
- EXPECT_EQ(29U, f.ClearCount());
-}
-
-TEST(Flags, SetCount) {
- Flags f;
- EXPECT_EQ(0U, f.SetCount());
-
- f.Set(eFlag0);
- EXPECT_EQ(1U, f.SetCount());
-
- f.Set(eFlag0);
- EXPECT_EQ(1U, f.SetCount());
-
- f.Set(eFlag1);
- EXPECT_EQ(2U, f.SetCount());
-
- f.Set(eAllFlags);
- EXPECT_EQ(3U, f.SetCount());
-}
More information about the lldb-commits
mailing list