This is an archive of the discontinued LLVM Phabricator instance.

[mlir][IR] Move listeners to Listeners.h
Needs ReviewPublic

Authored by springerm on Jul 18 2023, 8:33 AM.

Details

Summary

All builder/listener classes are moved to a new header file.

Merge OpBuilder::Listener and RewriterBase::Listener into a single class: RewriteListener. This simplifies the listeners:

  • ListenerBase and ListenerBase::Kind are no longer needed.
  • Type checks (to see if a builder listener or a rewrite listener is attached) are no longer necessary.

This change is in preparation of adding an attachScopedListener API to OpBuilder, which is safer than exposing setListener to the user. This will require creating a RewriterBase::ForwardingListener (now ForwardingRewriteListener); having references to RewriterBase from Builders.h would be odd.

Depends On: D155599

Diff Detail