[MLIR] Visualisation of all lowerings covered by our test cases

In an attempt to grasp the overall picture of dialects, their dependencies, and generally all lowerings in MLIR, I extracted all pattern applications from our test cases (except for the few that I couldn’t run locally).

The data allows for some nice graphs that you might enjoy as much as I do. I attached one graph that abstracts on a dialect level and one for the interplay between std and scf. The edge thickness indicates how often a transformation was encountered during the test runs.

Dialects and their dependencies in the MLIR test cases.

Operations form the standard and SCF dialect and their dependencies in the MLIR test cases.

If you are interested in a particular aspect of the data, I can generate many more diagrams. I will also try to add support for this in MLIR.