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

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

1 Citation (Scopus)
297 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 publicationProceedings - Euromicro Conference on Digital System Design, DSD 2020
EditorsAndrej Trost, Andrej Zemva, Amund Skavhaug
PublisherInstitute of Electrical and Electronics Engineers
Number of pages6
ISBN (Electronic)9781728195353
Publication statusPublished - 26 Aug 2020


  • Loop Tactics
  • MLIR
  • polyhedral model

Cite this