Introduction Defining Patterns Benefit Root Operation Name (Optional) matchAndRewrite implementation Application Recursion Debug Names and Labels Initialization Construction Pattern Rewriter Pattern Application Common Pattern Drivers Dialect Conversion Driver Walk Pattern Rewrite Driver Greedy Pattern Rewrite Driver Debugging Pattern Filtering Common Pass Utilities This document details the design and API of the pattern rewriting infrastructure present in MLIR, a general DAG-to-DAG transforma...