LLVM 学习记录:编译器最佳实践 - 后端
SIMT 是什么意思? Single Instruction Multiple Threads” (SIMT) 单指令多线程。 在纯 SIMD 中,一条指令以完全相同的方式作用于所有数据。 在 SIMT 中,这一限制有所放松:可以激活或停用选定的线程,以便仅在活动线程上处理指令和数据,而在非活...
阅读全文NOTES · IDEAS · ENGINEERING
关于编程、技术与生活的独立笔记。挑一篇感兴趣的文章,从这里开始阅读。
THE JOURNAL
SIMT 是什么意思? Single Instruction Multiple Threads” (SIMT) 单指令多线程。 在纯 SIMD 中,一条指令以完全相同的方式作用于所有数据。 在 SIMT 中,这一限制有所放松:可以激活或停用选定的线程,以便仅在活动线程上处理指令和数据,而在非活...
阅读全文如何快速的入门 llvm 后端? IDE工具 推荐一个工具clion:这个没有社区版的, 用付费的就可以, 其他的我不知道。 有个trace功能,1个函数调用路径,然后右键查看源码可以跳转到源码里面去。 操作系统 windoows, 不管是多大的项目,只要debug,几秒就可以调到断点的地方。...
阅读全文学习内容来自网络课程,这个基本上是针对有点经验的 llvm 开发者,前面的就是过一遍。 https://github.com/PacktPublishing/LLVM-Techniques-Tips-and-Best-Practices-Clang-and-Middle-End-Librari...
阅读全文学习内容来自网络课程,这个基本上是针对有点经验的 llvm 开发者,前面的就是过一遍。 https://github.com/PacktPublishing/LLVM-Techniques-Tips-and-Best-Practices-Clang-and-Middle-End-Librari...
阅读全文想象一下,一个不懂编程的小白站在电脑前,面对着一堆凌乱的代码和复杂的设计需求,手足无措。突然,他看到了桌上那台小巧而神秘的设备——Cursor自动编码工具。它似乎能读懂他的每一个想法,并自动将其转换成可运行的程序。这不仅仅是一个虚构的故事,而是科技行业正在发生的真实转变。简述AI辅助编程工具在...
阅读全文调试的时候有几个技巧,分享和记录下,方便自己后面可以熟练的用到。 看所有的编译命令,但是不执行 -###,这个就是 clang 的第一个参数。 https://clang.llvm.org/docs/CommandGuide/clang.html 用 clang 编译的时候,会从打印(但不运行...
阅读全文这里直接推荐一个 https://blog.csdn.net/zhongyunde/article/details/109013865 工具的选项 传递编译选项给 clang -cc1:-Xclang -cc1 选项:实际的编译命令 传递编译选项给 llvm 编译:-mllvm 打印 toke...
阅读全文需要主要有一个地方。 如果是 intrinsic*.td 里面使用了,ClangBuiltin<>, 那么就不需要再 CGBuiltin.cpp 里面添加枚举了。 先来看一组定义的差别 定义 1 def int_stackrestore : DefaultAttrsIntrinsi...
阅读全文学习内容来自极客时间的付费课程,我是针对性的学习,直接进入后端的学习,从 20 讲开始,前端的词法解析,直接跳过。 https://time.geekbang.org/column/intro/100034101 ```graph TD A[前端] –> B{词法分析} B –> ...
阅读全文前面学习了如何添加一个 intrinsic 函数的过程,发现有涉及到 td table gen 语言的格式,这个需要注意。 有几个关键字,def,defm,defvar 的区别? 这个内容非常的简单,使用的时候注意下即可。官方文档把这个称为 record,翻译过来是记录?anyway,随便是什...
阅读全文