Implementing IR between AST and LLVM