This is a step for adding more options not directly related to type
conversion. Also with this we can now avoid the explicit constructor.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
We cannot make these pass options in .td because they are shared by multiple passes, right?
Comment Actions
These are fundamentally controls to the overall conversion. So they are now carried via the type converter, because every pattern have access to the type converter. So yes, in a sense we cannot put them in .td as pass options because all patterns would need them. What's really under the hood is that, passes in MLIR is more for testing purposes; so we expose pass options for testing mostly. Downstream users are expected to use the C++ API and thus the C++ option control, which is more clean and consistent. ;)