summaryrefslogtreecommitdiff
path: root/mlir/lib/Transforms/OpStats.cpp
AgeCommit message (Collapse)Author
2025-07-24[mlir] Remove unused includes (NFC) (#150476)Kazu Hirata
These are identified by misc-include-cleaner. I've filtered out those that break builds. Also, I'm staying away from llvm-config.h, config.h, and Compiler.h, which likely cause platform- or compiler-specific build failures.
2025-05-12[NFC][MLIR] Add {} for `else` when `if` body has {} (#139422)Rahul Joshi
2024-08-01[mlir][Transforms] Preserve all analysis in print passes (#101315)Hideto Ueno
PrintIRPass, PrintOpStatsPass and PrintOpGraphPass don't mutate IR so preserve all analysis to save computation resource a bit.
2022-08-31[MLIR] Update pass declarations to new autogenerated filesMichele Scuttari
The patch introduces the required changes to update the pass declarations and definitions to use the new autogenerated files and allow dropping the old infrastructure. Reviewed By: mehdi_amini, rriddle Differential Review: https://reviews.llvm.org/D132838
2022-08-30Revert "[MLIR] Update pass declarations to new autogenerated files"Michele Scuttari
This reverts commit 2be8af8f0e0780901213b6fd3013a5268ddc3359.
2022-08-30[MLIR] Update pass declarations to new autogenerated filesMichele Scuttari
The patch introduces the required changes to update the pass declarations and definitions to use the new autogenerated files and allow dropping the old infrastructure. Reviewed By: mehdi_amini, rriddle Differential Review: https://reviews.llvm.org/D132838
2022-08-09[mlir] Use C++17 structured bindings instead of std::tie where applicable. NFCIBenjamin Kramer
2022-06-15[mlir] create PrintOpStatsPass using printAsJSONOkwan Kwon
This was missed by the previous commit in OpStats.cpp.
2022-06-15[mlir] add createPrintOpStatsPass() with explicit paramsOkwan Kwon
This allows to set printAsJSON through the create function. Differential Revision: https://reviews.llvm.org/D127891
2022-06-15[mlir] add an option to print op stats in JSONOkwan Kwon
Differential Revision: https://reviews.llvm.org/D127691
2022-06-14Revert "[mlir] add an option to print op stats in JSON"Okwan Kwon
There is a failure from the python pass manager. This reverts commit 1a19abf38c3afb66b680cea69c8e61ea152e1514.
2022-06-14[mlir] add an option to print op stats in JSONOkwan Kwon
Differential Revision: https://reviews.llvm.org/D127691
2022-06-09[mlir] Support passing ostream as argument for the create function.Okwan Kwon
The constructor already supports passing an ostream as argument, so let's make the create function support it too. Differential Revision: https://reviews.llvm.org/D127449
2020-11-19[mlir][BuiltinDialect] Resolve comments from D91571River Riddle
* Move ops to a BuiltinOps.h * Add file comments
2020-11-17[mlir][NFC] Remove references to Module.h and Function.hRiver Riddle
These includes have been deprecated in favor of BuiltinDialect.h, which contains the definitions of ModuleOp and FuncOp. Differential Revision: https://reviews.llvm.org/D91572
2020-11-03Change the PrintOpStatsPass to operate on any operation instead of just ModuleOpMehdi Amini
This allows to use it on other operation, like a GPUModule for example.
2020-04-07[mlir][Pass] Update the PassGen to generate base classes instead of utilitiesRiver Riddle
Summary: This is much cleaner, and fits the same structure as many other tablegen backends. This was not done originally as the CRTP in the pass classes made it overly verbose/complex. Differential Revision: https://reviews.llvm.org/D77367
2020-04-07[mlir][Pass] Remove the use of CRTP from the Pass classesRiver Riddle
This revision removes all of the CRTP from the pass hierarchy in preparation for using the tablegen backend instead. This creates a much cleaner interface in the C++ code, and naturally fits with the rest of the infrastructure. A new utility class, PassWrapper, is added to replicate the existing behavior for passes not suitable for using the tablegen backend. Differential Revision: https://reviews.llvm.org/D77350
2020-04-07[mlir][Pass][NFC] Replace usages of ModulePass with OperationPass<ModuleOp>River Riddle
ModulePass doesn't provide any special utilities and thus doesn't give enough benefit to warrant a special pass class. This revision replaces all usages with the more general OperationPass. Differential Revision: https://reviews.llvm.org/D77339
2020-04-01[mlir][Pass] Add support for generating pass utilities via tablegenRiver Riddle
This revision adds support for generating utilities for passes such as options/statistics/etc. that can be inferred from the tablegen definition. This removes additional boilerplate from the pass, and also makes it easier to remove the reliance on the pass registry to provide certain things(e.g. the pass argument). Differential Revision: https://reviews.llvm.org/D76659
2020-04-01[mlir][Pass] Add a tablegen backend for defining Pass informationRiver Riddle
This will greatly simplify a number of things related to passes: * Enables generation of pass registration * Enables generation of boiler plate pass utilities * Enables generation of pass documentation This revision focuses on adding the basic structure and adds support for generating the registration for passes in the Transforms/ directory. Future revisions will add more support and move more passes over. Differential Revision: https://reviews.llvm.org/D76656
2020-02-12Remove static registration for dialects, and the "alwayslink" hack for passesMehdi Amini
In the previous state, we were relying on forcing the linker to include all libraries in the final binary and the global initializer to self-register every piece of the system. This change help moving away from this model, and allow users to compose pieces more freely. The current change is only "fixing" the dialect registration and avoiding relying on "whole link" for the passes. The translation is still relying on the global registry, and some refactoring is needed to make this all more convenient. Differential Revision: https://reviews.llvm.org/D74461
2020-02-05[MLIR] Move test passes out of lib/AnalysisStephen Neuendorffer
Summary: This breaks a cyclic library dependency where MLIRPass used the verifier in MLIRAnalysis, but MLIRAnalysis also contained passes used for testing. The presence of the test passes here is archaeology, predating test/lib/Transform. Reviewers: rriddle Reviewed By: rriddle Subscribers: merge_guards_bot, mgorny, mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74067