通过生成 llvm IR,提高程序的执行性能

LLVM IR 简介

按照 LLVM 官网 的解释:

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. The name “LLVM” itself is not an acronym; it is the full name of the project.

发展到现在 LLVM 已经不仅仅是一个编译器项目了,不过为了介绍 IR,我们不妨从编译器的角度来介绍一下 LLVM。编译器分为前端和后端,前端主要包括语法解析、语义分析以及生成抽象语法树,而后端则包括了汇编代码、目标文件的生成以及连接等等过程。LLVM 的目标是使前端和后端高度模块化,高度的每个模块都可重用,具体的做法就是通过 LLVM IR 连接前端和后端

LLVM IR 可以抽象的理解为 java 的字节码,后端理解成 jvm 的虚拟机,这样编译器开发人员就可以很方便的为某种语言开发一套编译器了:他只需要实现一个前端,用 LLVM IR 表示抽象语法树即可。而要添加对某个处理器平台的支持只需要添加对应平台的后端支持即可

为什么使用 LLVM IR

让我们来看一段伪代码:


                
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值