PET-to-MLIR: A polyhedral front-end for MLIR

Konrad Komisarczyk, Lorenzo Chelini, Kanishkan Vadivel, Roel Jordans, Henk Corporaal

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

4 Citations (Scopus)
718 Downloads (Pure)


We present PET-to-MLIR, a new tool to enter the MLIR compiler framework from C source. The tool is based on the popular PET and ISL libraries for extracting and manipulating quasi-affine sets and relations, and Loop Tactics, a declarative optimizer. The use of PET brings advanced diagnosis and full support for C by relying on the Clang parser. ISL allows easy manipulation of the polyhedral representation and efficient code generation. Loop Tactics, on the other hand, enable us to detect computational motifs transparently and lift the entry point in MLIR, thus enabling domain-specific optimizations in general-purpose code.

We demonstrate our tool using the Polybench/C benchmark suite and show that it can lower most of the benchmarks to the MLIR’s affine dialect successfully. We believe that our tool can benefit research in the compiler community by providing an automatic way to translate C code to the MLIR affine dialect.
Original languageEnglish
Title of host publication2020 23rd Euromicro Conference on Digital System Design (DSD)
EditorsAndrej Trost, Andrej Zemva, Amund Skavhaug
PublisherInstitute of Electrical and Electronics Engineers
Number of pages6
ISBN (Electronic)9781728195353
Publication statusPublished - 8 Oct 2020
Event23rd Euromicro Conference on Digital System Design, DSD 2020 - Kranj, Slovenia, Kranj, Slovenia
Duration: 26 Aug 202028 Aug 2020


Conference23rd Euromicro Conference on Digital System Design, DSD 2020


  • Loop Tactics
  • MLIR
  • polyhedral model

Cite this