llvm是什么?


  1. llvm是low level virtual machine的简称,其实是一个编译器框架。llvm随着这个项目的不断的发展,已经无法完全的代表这个项目了,只是这种叫法一直延续下来。
  2. llvm是一个开源的项目。它最早的时候是Illinois的一个研究项目,主要负责人是Chris Lattner,他现在就职于Apple. Apple 目前也是llvm项目的主要赞助者之一。
  3. llvm的主要作用是它可以作为多种语言的后端,它可以提供可编程语言无关的优化和针对很多种CPU的代码生成功能。此外llvm目前已经不仅仅是个编程框架,它目前还包含了很多的子项目,比如最具盛名的clang.
  4. llvm的优点是开源,有一个表达形式很好的IR语言,模块化作的特别好。
  5. llvm这个框架目前已经有基于这个框架的大量的工具可以使用。
  6. llvm的官方网站地址是:http://llvm.org。在这里可以下载最新的发布代码,也可以找到介绍llvm的相关文档。

附录:llvm目前支持的工具(部分描述来自网络)

  1. llvm-as 将人类可读的 .ll 文件汇编成字节代码
  2. llvm-dis 将字节代码文件反编成人类可读的 .ll 文件
  3. opt 在一个字节代码文件上运行一系列的 LLVM 到 LLVM 的优化
  4. llc 为一个字节代码文件生成本机器代码
  5. lli 直接运行使用 JIT 编译器或者解释器编译成字节代码的程序
  6. llvm-link 将几个字节代码文件连接成一个
  7. llvm-ar 打包字节代码文件
  8. llvm-ranlib 为 llvm-ar 打包的文件创建索引
  9. llvm-nm 在 打印出LLVM中间格式或者object文件的符号表(2014年5月14日更新)
  10. llvm-prof 将 'llvmprof.out' raw 数据格式化成人类可读的报告
  11. llvm-ld 带有可装载的运行时优化支持的通用目标连接器
  12. llvm-config 打印出配置时 LLVM 编译选项、库、等等
  13. llvmc 一个通用的可定制的编译器驱动
  14. llvm-diff 比较两个模块的结构
  15. bugpoint 自动案例测试减速器
  16. llvm-extract 从 LLVM 字节代码文件中解压出一个函数
  17. llvm-bcanalyzer 字节代码分析器 (分析二进制编码本身,而不是它代表的程序)
  18. FileCheck 灵活的文件验证器,广泛的被测试工具利用
  19. tblgen 目标描述阅读器和生成器
  20. lit LLVM 集成测试器,用于运行测试
  21. AddressSanitizer 一个快速内存错误探测器

LLVM每日谈

https://zhuanlan.zhihu.com/llvm-clang


  1. LLVM每日谈之一 LLVM是什么
  2. LLVM每日谈之二 LLVM IR
  3. LLVM每日谈之三 如何创建一个LLVM工程
  4. LLVM每日谈之四 Pass初探
  5. LLVM每日谈之五 LLVM文档介绍
  6. LLVM每日谈之六 LLVM的源码结构
  7. LLVM每日谈之七 Clang
  8. LLVM每日谈之八 PASS例子分析
  9. LLVM每日谈之九 谈LLVM的学习
  10. LLVM每日谈之十 LLVM Test简介
  11. LLVM每日谈之十一 编译器相关学习资料推荐
  12. LLVM每日谈之十二 LLVM的源码分析之Pass相关
  13. LLVM每日谈之十三 使用LLVM自带的PASS
  14. LLVM每日谈之十四 如何给Clang添加一个属性
  15. LLVM每日谈之十五 LLVM自带的examples
  16. LLVM每日谈之十六 LLVM的学习感悟
  17. LLVM每日谈之十七 LLVM/Clang的学习的思考
  18. LLVM每日谈之十八 GEP Instruction的几点总结
  19. LLVM每日谈之十九 LLVM的第一本系统的书<Getting Started with LLVM Core Libraries>
  20. LLVM每日谈之二十 Everything && Clang driver
  21. LLVM每日谈之二十一 一些关于编译器和LLVM/Clang的代码
  22. LLVM每日谈之二十二 llvm-config工具的使用
  23. LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料
  24. LLVM每日谈之二十四 Google的ClangMR
  25. LLVM每日谈之二十五 Clangd和LSP
  26. LLVM每日谈之二十六 riscv-llvm
  27. LLVM每日谈之二十七 几个在线编译器资源
  28. LLVM每日谈之二十八 I am leaving llvm
  29. LLVM每日谈之二十九 面向机器学习的编译器——Glow
  30. LLVM每日谈之三十 在LLVM中定制Alias分析
  31. LLVM每日谈之三十一 如何读写LLVM的bitcode
  32. LLVM邮件列表2018年4月内容选辑
  33. LLVM每日谈之三十二 C++ Insights
  34. LLVM每日谈之三十三 LLVM的DEBUG宏改名了
  35. LLVM每日谈之三十四 LLVM IR生成和转换的几条指令
  36. LLVM每日谈之三十五 LLVM/Clang 6编译的问题
  37. LLVM每日谈之三十六 LLVM后端的结构
  38. LLVM每日谈之三十七 LLVM后端简介(杭州分享PPT)
  39. LLVM每日谈之三十八 那些LLVM的博客和专栏
  40. LLVM每日谈之三十九 浅谈LLVM的异常处理
  41. LLVM每日谈之四十 一门介绍LLVM的课程
  42. LLVM每日谈之四十一 组装一个完整的工具链
  43. LLVM每日谈之四十二 一个添加Pass的实例
  44. LLVM每日谈之四十三 LLVM的utility pass
  45. LLVM每日谈系列中的pass相关内容合集
  46. LLVM每日谈之四十四 LLVM的别名分析
  47. LLVM每日谈之四十五 LLVM IR TUTORIAL
  48. LLVM每日谈之四十六 MLIR
  49. LLVM每日谈之四十七 LLVM后端文档解析
  50. LLVM每日谈之四十八 LLVM后端文档解析1
  51. LLVM每日谈之四十九 LLVM后端文档解析2
  52. LLVM每日谈之五十 LLVM 后端文档解析3 —目标描述类
  53. LLVM每日谈之五十一 TargetMachine
  54. LLVM每日谈之五十二 创建LLVM后端的第一步校正(target machine)
  55. LLVM每日谈之五十三 Target Registration的更正
  56. LLVM每日谈之五十四 新建后端的第二步校正(register set)
  57. LLVM每日谈之五十五 浅谈对Pass的错误认知及其原因
  58. LLVM每日谈之五十六 从RegionPass看Region
  59. LLVM每日谈之五十七 TableGen
  60. LLVM libc++的RISCV支持

LLVM每日谈 | 知乎相关推荐

  1. LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料

    作者:史宁宁(snsn1984) 之前有朋友问到这个问题,是否有使用LLVM/Clang编译Linux内核的,随手找了一些相关资料,在这里贴出来,与大家共享. 网址:http://llvm.linux ...

  2. LLVM每日谈之十二 LLVM的源码分析之Pass相关

    作者:snsn1984 题记:在学习LLVM的过程中,要想学的更加深入,掌握更多的技能,LLVM的源码是必须要读的,但是在这么多的源码中,从哪里下手?很容易让人找不到头脑,本文这里就先拿出几个Pass ...

  3. LLVM每日谈之三 如何创建一个LLVM工程

    作者:snsn1984 阅读了文档<Creating an LLVM Project>(地址:http://llvm.org/docs/Projects.html)之后,自己照着做了一遍, ...

  4. LLVM每日谈之三十一 如何读写LLVM的bitcode

    LLVM的IR在整个LLVM工程中占据着核心地位,它是整个LLVM三个阶段的中间环节,起着承上启下的作用.如何读写LLVM的bitcode在LLVM的前端和后端都会涉及这个问题,在基于LLVM做一些定 ...

  5. LLVM每日谈之四十一 组装一个完整的工具链

    写在前面的话:这是一篇LLVM的官方文档,英文文档地址: Assembling a Complete Toolchain 之前读文档的时候,陆陆续续的翻译过一些,周末花了点时间把这个文章整理了出来.因 ...

  6. LLVM每日谈之三十七 Brief Intro to LLVM Backend (HelloLLVM杭州站分享PPT)

    今天参加了HelloLLVM在杭州的线下聚会,做了一个关于LLVM 后端的分享.旨在给对LLVM感兴趣的同学和刚接触LLVM的同学一点引导,帮助他们快速理清LLVM的后端架构.PPT如下:

  7. LLVM每日谈之二十九 面向机器学习的编译器——Glow

    当地时间五月三日,Glow开发者在LLVM开发者邮件列表中发布了Glow. 邮件地址:[llvm-dev] Thank you from the Glow Developers Glow的开源地址:p ...

  8. LLVM每日谈之二十八 I am leaving llvm

    Rafael 于当地时间五月二日宣称离开LLVM社区,在网络引发了广泛的讨论.Rafael 作为LLVM贡献排名第五的资深贡献者,对LLVM社区贡献极大,他一共提交了4,344个节点,占LLVM提交节 ...

  9. LLVM每日谈之四十五 LLVM IR TUTORIAL

    今年的LLVM欧洲开发者会议上,在Tutorials环节,Vince Bridgers (Intel Corporation), Felipe de Azevedo Piovezan (Intel C ...

最新文章

  1. pandas批量为列名添加字符并重命名实战
  2. 在eclipse中开发servlet流程
  3. 关于l ibrary not found for -lz.1.2.3 编译错误
  4. 关于双等号判断的深入面试题
  5. 第一阶段冲刺 第八天
  6. Python程序员面试必备常用问题答案及解析
  7. 判断是否是微信浏览器
  8. python制作adobe photoshop插件_Adobe Ps 2021已上线,新功能秒杀一切插件
  9. css中大于号是什么意思是,CSS里的大于号是什么意思?
  10. 驾驶证到期换新证流程
  11. 团队口号_激励口号_口号大全分享到:
  12. 罗克韦尔自动化启用位于硅谷的新建电动汽车创新中心
  13. C# System.Data.Sqlite.dll 的注意事项
  14. 泡利不相容原理适用的空间范围(系统)是多大?
  15. 【记录踩坑】配置本地访问远程Linux系统服务器的jupyter notebook
  16. 第二十三篇:Mock Kafka 消息并发送
  17. jQueryDom和源生DOM相互的转换、jQuery选择器语法、JQuery层次选择器语法、jQuery属性选择器语法、jQuery伪类选择器语法、
  18. 互联网日报 | 8月5日 星期四 | 微信推出“先寄后付”服务;闲鱼月活用户突破1亿;深交所创业板上市公司达1000家...
  19. matlab做干涉,matlab模拟干涉衍射 | 学步园
  20. 中国航空货运行业投资战略分析与发展动向展望报告2021-2027年

热门文章

  1. jsp实现仿QQ空间新建多个相册名称,向相册中添加照片
  2. SpringMVC框架----SpringMVC的入门程序
  3. 【手撸一个ORM】第八步、查询工具类
  4. Java垃圾回收机制概述
  5. [Project Euler] 来做欧拉项目练习题吧: 题目013
  6. Tween Animation----Translate位置移动动画
  7. Log4net系统日志
  8. 算法学习 -- 枚举
  9. [Usaco2007 Dec]宝石手镯[01背包][水]
  10. 面向对象思想----不看懊悔!