LLVM日志7——Kaleidoscope:优化和添加JIT

本文探讨了Kaleidoscope项目的第四章内容,重点介绍了JIT(即时编译)和优化过程。文章讨论了如何通过Passmanager进行优化,并提到了在InitializeModuleAndPassManager函数中增加pass的方法。此外,还探讨了对HandleTopLevelExpression函数的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kaleidoscope的第4章,说说自己看的想法

首先是优化,还是调用LLVM的Pass,所以说这些优化是通用的。因为这些优化都是与高级语言无关的,是对LLVM IR 的优化。

优化的方法是增加一个Passmanager。在这个Passmanager中,增加pass,但是你得知道每个pass的作用呀!函数InitializeModuleAndPassManager进行初始化,每行都有注释。

关于JIT(just in time),我没有太多的感觉。可能我层次还不够,看了整个过程之后,没有感受到JIT的特点。

JIT是使用Kaleidoscope的JIT,在主函数的调用,在刚刚那个InitializeModuleAndPassManager函数中,增加JIT的初始化。

最主要的还是函数HandleTopLevelExpression,这里我不明白的是最后删除的范围,不会把前面的都删除吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值