I'm interested in LLVM and want to try simple things with it. That's why I've started official LLVM tutorial -Kaleidoscope. What's it all about? This tutorial runs through the implementation of a simple language, showing how fun and easy it can be. This tutorial will get you up and ...
推荐前往https://Evian-Zhang.github.io/llvm-ir-tutorial阅读以获得最佳排版及语法高亮体验。PDF版本下载请点击前述网页的右上角。本教程中涉及的大部分代码也都在本GitHub仓库Evian-Zhang/llvm-ir-tutorial中。 LLVM是当下最通用的编译器后端之一,无论是想自己动手制作一个编译器,还是为主流的编程语言增加功能,又...
https://github.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorial Kaleidoscope:添加调试信息 第九章引言 欢迎阅读“使用LLVM实现语言”教程的第9章。在第1章到第8章中,我们已经用函数和变量构建了一种不错的小型编程语言。但是,如果出现问题怎么办,您如何调...
https://github.com/hunterzju/llvm-tutorial 第6章:降低到LLVM和代码生成 在上一章中,我们介绍了方言转换框架,并将很多toy操作部分降为仿射循环嵌套进行优化。在本章中,我们将最终降低到LLVM进行代码生成。 降低到LLVM 对于这一下降,我们将再次使用方言转换框架来执行繁琐的工作。但是,这次我们将执行到LLVM方言的完...
https://github.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorial Kaleidoscope:结论和其他有用的LLVM花絮 教程结论 欢迎阅读“使用LLVM实现语言”教程的最后一章。在本教程的过程中,我们已经将我们的小Kaleidoscope语言从一个无用的玩具成长为一个半有趣(但可...
https://github.com/P2Tree/LLVM_for_cpu0 介绍 这个项目是一个学习 LLVM 的教程,我实现了一个 LLVM 框架下的后端,用来编译能够在 Cpu0 上执行的可执行代码,Cpu0 是一个简单易学的 RISC 处理器。另外,我还编写了一份详细的中文文档作为 LLVM 初学者的指南,它们放在tutorial路径下。
git clone https://github.com/Evian-Zhang/llvm-ir-tutorial && cd llvm-ir-tutorial 2. 准备语法高亮文件 由于MDBook自带的highlightjs并不支持本书的所有语法高亮,所以需要按照其官方文档中Custom theme的步骤准备自定义的语法高亮文件: git clone https://github.com/highlightjs/highlight.js && cd highligh...
最新的LLVM release应该已经到LLVM13.0.1,从踩坑的经历中,我觉得直接从llvm-project(https://github...
—既是高性能基础设施的构建工具(如操作系统、数据库),又是应用层开发的通用选择。参考:MoonBit 官网文档:https://docs.moonbitlang.cn/tutorial/tour.html 《运行速度比Go快35倍,国产编程语言MoonBit崛起,全球编程创新挑战赛震撼来袭!》《国产编程语言月兔(MoonBit)崭露头角,首发登顶 Hacker News!》
IR 指中间表达方式,介于高级语言和汇编语言之间。与高级语言相比,丢弃了语法和语义特征,比如作用域、面向对象等;与汇编语言相比,不会有硬件相关的细节,比如目标机器架构、操作系统等。