IRUnit is defined as:
using IRUnit = PointerUnion<Operation *, Region *, Block *, Value>;
The tracing::Action is extended to take an ArrayRef<IRUnit> as context to
describe an Action. It is demonstrated in the "ActionLogging" observer.
Paths
| Differential D144814
Add capture of "IRUnits" as context for an MLIR Action ClosedPublic Authored by mehdi_amini on Feb 25 2023, 10:19 PM.
Details Summary IRUnit is defined as: using IRUnit = PointerUnion<Operation *, Region *, Block *, Value>; The tracing::Action is extended to take an ArrayRef<IRUnit> as context to
Diff Detail
Event Timelinemehdi_amini added a child revision: D144815: Add a breakpoint manager that matches based on File/Line/Col Locations.Feb 25 2023, 10:33 PM mehdi_amini added a parent revision: D144813: Add an Observer for logging actions application to a stream. Comment Actions The data-flow analysis framework has a concept very similar to IRUnit its called ProgramPoint maybe this should be shared ? This revision is now accepted and ready to land.Mar 6 2023, 11:45 AM
Comment Actions
I'm not sure how to unify it, it feels that somehow the ProgramPoint could inherit from IRUnit but it is declared as a more extensible framework: public PointerUnion<GenericProgramPoint *, Operation *, Value, Block *> so I'm not sure how to unify. rriddle added inline comments. mehdi_amini added inline comments.
Comment Actions
If anyone gets an idea, we'll refactor then, in the meantime I'll push this as-is! This revision was landed with ongoing or failed builds.Mar 20 2023, 5:47 AM Closed by commit rGf406adf134c2: Add capture of "IRUnits" as context for an MLIR Action (authored by mehdi_amini). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 504478 mlir/include/mlir/Debug/Observers/ActionLogging.h
mlir/include/mlir/IR/Action.h
mlir/include/mlir/IR/MLIRContext.h
mlir/include/mlir/IR/OperationSupport.h
mlir/include/mlir/IR/Unit.h
mlir/lib/Debug/Observers/ActionLogging.cpp
mlir/lib/IR/AsmPrinter.cpp
mlir/lib/IR/CMakeLists.txt
mlir/lib/IR/Unit.cpp
mlir/lib/Pass/Pass.cpp
mlir/lib/Pass/PassDetail.h
mlir/test/Pass/action-logging.mlir
|
Missing a rebase?