Skip to content

Commit 56b2907

Browse files
[mlir] Avoid repeated hash lookups (NFC) (llvm#107518)
1 parent b8d6885 commit 56b2907

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,10 @@ void TransformDialect::addTypeIfNotRegistered() {
298298
template <typename DataTy>
299299
DataTy &TransformDialect::getOrCreateExtraData() {
300300
TypeID typeID = TypeID::get<DataTy>();
301-
auto it = extraData.find(typeID);
302-
if (it != extraData.end())
303-
return static_cast<DataTy &>(*it->getSecond());
304-
305-
auto emplaced =
306-
extraData.try_emplace(typeID, std::make_unique<DataTy>(getContext()));
307-
return static_cast<DataTy &>(*emplaced.first->getSecond());
301+
auto [it, inserted] = extraData.try_emplace(typeID);
302+
if (inserted)
303+
it->getSecond() = std::make_unique<DataTy>(getContext());
304+
return static_cast<DataTy &>(*it->getSecond());
308305
}
309306

310307
/// A wrapper for transform dialect extensions that forces them to be

0 commit comments

Comments
 (0)