vamp-ir icon indicating copy to clipboard operation
vamp-ir copied to clipboard

Murisi/preserve type info

Open murisi opened this issue 3 years ago • 1 comments

The main purpose of this pull request is to improve the speed of compilation. With these changes blake2s.pir goes from taking 5m 55s to compile to 10s. The specific changes made are as follows:

  • Instead of inlining, compilation now emits constraints as it interprets vamp-ir source files
  • Instead of repeating type inference after transformations, type information is now preserved through transformations
  • This preservation is done by unifying type variables at call-sites and ununifying them after application is processed
  • Constraints are now directly emitted in 3AC form without any intermediate stage
  • Patterns now store type annotations, this makes it easier to preserve type information during transformations
  • Added Blake2S script as a test for compiler execution time

murisi avatar Nov 21 '22 14:11 murisi

Great work with these improvements @murisi and with blake2s @CarloModicaPortfolio!

lopeetall avatar Nov 22 '22 18:11 lopeetall