This document details the PDL Language (PDLL), a custom frontend language for writing pattern rewrites targeting MLIR. Note: This document assumes a familiarity with MLIR concepts; more specifically the concepts detailed within the MLIR Pattern Rewriting and Operation Definition Specification (ODS) documentation. Introduction Rationale Why build a new language instead of improving TableGen DRR? Why not build a DSL in “X”? Language Specification Includes Patterns Variables Operation Expres...