Compilador Brinquedo para Expressões Python usando MLIR e E-Graphs
2025-03-21

Este artigo detalha um compilador brinquedo para expressões Python construído usando MLIR e a biblioteca egglog. O compilador usa E-Graphs para saturação de igualdade e reescrita de termos para otimizar expressões Python antes de compilá-las para MLIR. Ele possui módulos para modelagem de expressões, funções embutidas, Term IR, uma camada de transformação, uma camada de otimização e geração de código MLIR e um backend LLVM. Ao interpretar simbolicamente funções Python, convertê-las em uma representação IR, aplicar regras de otimização e, finalmente, gerar código MLIR eficiente, o compilador consegue compilação e execução por meio do LLVM.
Desenvolvimento