Swift Intermediate Language A high level IR to complement LLVM Joe Groff and Chris Lattner Why SIL? Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang CodeGen CodeGen 🌲 🌲 🌲 🌲 🌲 🌲🌲 🌲 🌲 Parse Sema LLVM *.c AST AST' IR *.o Clang CodeGen CodeGen 🌲 🌲 🌲 🌲 🌲 🌲🌲 🌲 🌲 Parse Sema LLVM *.c