Chapter 0. Introduction This tutorial shows how to implement a simple programming language using LLVM and Rust. Its first goal is to show how to use LLVM to create a simple REPL, so some knowledge of Rust is assumed. To be honest, author himself is a very beginner both in Rust and LLVM...
It goes without saying that there's plenty of great presentations on YouTube, blog posts and GitHub projects that cover similar subjects. I've learnt a great deal from them - thank you all for sharing! There's one presentation/tutorial that has been particularly important in my journey as ...
笔者在学习过程中也尝试进行一些翻译记录,希望能对自己或者他人的学习有所帮助。(PS:初步翻译文档放在github上了,需要可自取,也欢迎提PR共同完善) https://github.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorial Kaleidoscope:结论和其他有用的LLVM花絮 教程...
https://github.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorialgithub.com/hunterzju/llvm-tutorial Kaleidoscope:添加调试信息 第九章引言 欢迎阅读“使用LLVM实现语言”教程的第9章。在第1章到第8章中,我们已经用函数和变量构建了一种不错的小型编程语言。但是,如果出现问题怎么办,您如何调...
https://github.com/P2Tree/LLVM_for_cpu0 介绍 这个项目是一个学习 LLVM 的教程,我实现了一个 LLVM 框架下的后端,用来编译能够在 Cpu0 上执行的可执行代码,Cpu0 是一个简单易学的 RISC 处理器。另外,我还编写了一份详细的中文文档作为 LLVM 初学者的指南,它们放在tutorial路径下。
https://github.com/hunterzju/llvm-tutorial 第6章:降低到LLVM和代码生成 在上一章中,我们介绍了方言转换框架,并将很多toy操作部分降为仿射循环嵌套进行优化。在本章中,我们将最终降低到LLVM进行代码生成。 降低到LLVM 对于这一下降,我们将再次使用方言转换框架来执行繁琐的工作。但是,这次我们将执行到LLVM方言的完...
https://github.com/Evian-Zhang/llvm-ir-tutorial https://github.com/Evian-Zhang/llvm-ir-tutorial/blob/master/LLVM%20IR%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97(1)%E2%80%94%E2%80%94LLVM%E6%9E%B6%E6%9E%84%E7%AE%80%E4%BB%8B.md ...
中文:https://kaleidoscope-llvm-tutorial-zh-cn.readthedocs.io/zh_CN/latest/index.html 还是说说 LLVM 到底是什么吧,LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合.LLVM 曾经是一个缩写词,现在不是,它就是这个项目的名称。 Clang 是 LLVM 的子项目,是 C,C++ 和 Objective-C 编译器。 ...
https://github.com/Evian-Zhang/llvm-ir-tutorial/tree/master/code 优化是对LLVM IR进行操作: 什么是LLVM IR LLVM IR 是一门低级语言,语法类似于汇编 任何高级编程语言(如C++)都可以用LLVM IR表示 基于LLVM IR可以很方便地进行代码优化 第一种是人类可以阅读的文本形式,文件后缀为.ll ...
推荐前往https://Evian-Zhang.github.io/llvm-ir-tutorial阅读以获得最佳排版及语法高亮体验。PDF版本下载请点击前述网页的右上角。本教程中涉及的大部分代码也都在本GitHub仓库Evian-Zhang/llvm-ir-tutorial中。 LLVM是当下最通用的编译器后端之一,无论是想自己动手制作一个编译器,还是为主流的编程语言增加功能,又...