Chapter 5 ( Control Flow ) Chapter 5 ( Control Flow ) Welcome to Chapter 5 of the Implementing a language with LLVM tutorial. Parts 1-4 described the implementation of the simp...
Chapter 6 ( Operators ) Chapter 6 ( Operators ) Welcome to Chapter 6 of the “Implementing a language with LLVM” tutorial. At this point in our tutorial, we now have a fully fun...
抽象语法树(AST) 一段程序的抽象语法树很容易在接下来的阶段编译器(比如:代码生成阶段)翻译成机器码。我们通常喜欢用一种对象来构建语言,毫无疑问,抽象语法树是最贴近我们要求的模型。在Kaleidoscope中,我们有表达式,原型,函数对象,我们先从生成表达式的AST先: // / ExprAST - Base class for all ex...
External Functions External Functions The JIT provides a number of other more advanced interfaces for things like freeing allocated machine code, rejit’ing functions to update ...
Chapter 8 ( Conclusion ) Tutorial Conclusion Chapter 8 ( Conclusion ) Tutorial Conclusion Welcome to the final chapter of the “Implementing a language with LLVM” tutorial. I...
Adding JIT and Optimizer Support 4.1 Trivial Constant Folding 4.2 LLVM Optimization Passes 4.3 Adding a JIT Compiler Adding JIT and Optimizer Support Welcome to Chapter 4 of...