- 深入理解LLVM:代码生成
- 彭成寒 李灵 戴贤泽 王志磊 俞佳嘉
- 244字
- 2024-12-18 16:44:28
1.5 本章小结
本章简单介绍了LLVM的设计思路、发展现状,以及在macOS平台如何构建、调试LLVM,最后演示了如何通过在线工具Compiler Explorer学习LLVM。
[1] 通常静态编译器仅包含可执行代码,和操作系统的可执行文件格式兼容,但是一些特殊应用使用胖二进制(fat binary)文件,可同时包含多种输出。
[2] 程序优化可以在线执行也可以离线执行,在线执行需要消耗额外的运行时资源,在一些动态语言(如JavaScript、Java等)虚拟机中会使用在线编译优化,而静态语言则更多使用离线优化。
[3] LLVM 2.7中将malloc、free指令移除,堆内存管理会调用库函数malloc、free。
[4] 这里的test.ll可以参考代码清单9-3。