Minor optimization to get_attribute_bool
authorMatthew Daiter <mdaiter8121@gmail.com>
Wed, 8 May 2019 03:04:28 +0000 (22:04 -0500)
committerMatthew Daiter <mdaiter8121@gmail.com>
Wed, 8 May 2019 03:04:28 +0000 (22:04 -0500)
kernel/rtlil.cc

index 147d378e5189111f7e9f9a6f9a431b7e3b076a06..79ff4a6a67d05174c947e38e42dcd2f7852d555e 100644 (file)
@@ -218,15 +218,19 @@ void RTLIL::AttrObject::set_bool_attribute(RTLIL::IdString id, bool value)
 {
        if (value)
                attributes[id] = RTLIL::Const(1);
-       else if (attributes.count(id))
-               attributes.erase(id);
+       else {
+                const auto it = attributes.find(id);
+                if (it != attributes.end())
+                       attributes.erase(it);
+       }
 }
 
 bool RTLIL::AttrObject::get_bool_attribute(RTLIL::IdString id) const
 {
-       if (attributes.count(id) == 0)
+       const auto it = attributes.find(id);
+       if (it == attributes.end())
                return false;
-       return attributes.at(id).as_bool();
+       return it->second.as_bool();
 }
 
 void RTLIL::AttrObject::set_strpool_attribute(RTLIL::IdString id, const pool<string> &data)