This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Remove the use of "kinds" from Attributes and Types
ClosedPublic

Authored by rriddle on Aug 17 2020, 4:23 PM.

Details

Summary

This greatly simplifies a large portion of the underlying infrastructure, allows for lookups of singleton classes to be much more efficient and always thread-safe(no locking). As a result of this, the dialect symbol registry has been removed as it is no longer necessary.

For users broken by this change, an alert was sent out(https://llvm.discourse.group/t/removing-kinds-from-attributes-and-types) that helps prevent a majority of the breakage surface area. All that should be necessary, if the advice in that alert was followed, is removing the kind passed to the ::get methods.

Diff Detail

Event Timeline

rriddle created this revision.Aug 17 2020, 4:23 PM
Herald added 1 blocking reviewer(s): jpienaar. · View Herald Transcript
Herald added a reviewer: ftynse. · View Herald Transcript
Herald added a reviewer: silvas. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
rriddle requested review of this revision.Aug 17 2020, 4:23 PM
DavidTruby resigned from this revision.Aug 18 2020, 6:18 AM
jpienaar accepted this revision.Aug 18 2020, 6:28 AM
This revision is now accepted and ready to land.Aug 18 2020, 6:28 AM
This revision was landed with ongoing or failed builds.Aug 18 2020, 4:20 PM
This revision was automatically updated to reflect the committed changes.
mlir/include/mlir/IR/Dialect.h