基于GlobalISel的LPVM BPF后端获取方式技术咨询
关于基于GlobalISel的BPF后端获取解答
- 2017年LLVM大会《Head first into GlobalISel》演讲中展示的BPF通过GlobalISel降级到
MIR的实现,是当时GlobalISel框架开发阶段的原型演示代码,从未完成代码评审合入LLVM主线仓库,因此LLVM 14、LLVM 15等正式发布的主线版本中,BPF后端默认使用DAG-based ISel方案是正常情况,和演讲演示内容并不矛盾。 - 这套2017年演示用的BPF GlobalISel原型没有发布过独立的可获取归档版本,目前没有官方维护的公开下载渠道。
- 如果你的目的是学习GlobalISel后端开发技术,不需要刻意寻找这套早年原型:
- LLVM主线仓库中已经有多款持续维护的成熟GlobalISel后端可作为参考案例,比如AArch64、RISC-V、AMDGPU后端的GlobalISel实现,均适配了对应版本LLVM的最新GlobalISel接口,相比2017年的老旧原型参考价值高很多。
- BPF后端的GlobalISel适配工作目前仍在LLVM社区逐步推进,相关开发补丁会按流程提交到LLVM代码评审平台,你可以跟进社区开发动态获取最新的BPF GlobalISel实现代码。
- 早年演示版本的零散代码仅存在于2017年前后GlobalISel开发分支的历史提交快照中,由于LLVM的GlobalISel框架在后续多年迭代中接口变动极大,这类旧代码已经无法在新版本LLVM上运行,参考学习的价值很低。
内容的提问来源于stack exchange,提问作者ihi
相关产品推荐
相关产品推荐

