Skip to content

prazek/latte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latte language compiler in C++17.

Dependencies:
- LLVM 3.9
- ANTLR 4

Building:
run make from project directory, or use cmake like:

  mkdir build
  cd build
  cmake ../n
  make -j32

Building step downloads ANTLR sources and builds them.

Implemented optimizations:
- removing unnecessary allocas and using SSA (Mem2Reg pass)
- devirtualization (using invariant.groups)
- constant folding
- DCE
- simplify cfg


Implemented extensions:
- classes with virtual functions