【PoCL】运行 LLVM 中 pass 优化过程详解
PoCL 项目中调用 LLVM 的 Pass 对编译过程的优化至关重要。本博文以PoCL 开源项目源码为例,详细说明【PoCL】运行 LLVM 中 pass 优化过程
目录
- 0. 个人简介 && 授权须知
- 1. pocl_llvm_run_pocl_passes 函数作用
- 2. 禁止 “小网格 small grid” 工作组(workGroup)特化的理论解释
- 3. pass执行函数的调用过程
- 4. 屏障 barrier 类 Pass 的作用
- 5. Pass 执行顺序的解释
- 5.1 barriers 类 pass
- 5.2 phi 节点类 pass
- 6. Pass 执行
- 6.1 build
- 6.1.1 文本形式的 Pass 管道描述格式
- 6.1.2 特殊快捷方式
- 6.1.3 混合不同的 pass
- 6.2 run
0. 个人简介 && 授权须知
📋 个人简介
- 💖 作者简介:大家好,我是喜欢记录零碎知识点的菜鸟打工人。😎
- 📝 个人主页:欢迎访问我的博客主页🔥…
- https://blog.csdn.net/qq_39217004?spm=1010.2135.3001.5343
- 🎉 支持我:点赞👍+收藏⭐️+留言📝
- 📣 系列专栏:嵌入式Linux开发 🍁 🍁
- 💬格言:写文档啊不是写文章,重要的还是直白!🔥
转载文章,禁止声明原创;不允许直接二次转载,转载请根据原文链接联系作者
若无需改版,在文首清楚标注作者及来源/原文链接,并删除【原创声明】,即可直接转载。
但对于未注明转载来源/原文链接的文章,我将保留追述的权利。https://blog.csdn.net/qq_39217004?spm=1010.2135.3001.5343
作者:积跬步、至千里
1. pocl_llvm_run_pocl_passes 函数作用
../lib/CL/pocl_llvm_wg.cc
目录的 pocl_llvm_run_pocl_passes()
函数的作用为:
对 LLVM 模块(
Bitcode
)开展一系列