七天LLVM零基础入门(Linux版本)------第四天

简介: 作者:snsn1984 第一步:复习第三天的时候,我们学习了LLVM的编程指引。在开始第四天的学习之前,需要复习之前学习过的两篇文档: LLVM IR的文档(http://llvm.org/docs/LangRef.html) 编程指引文档 (http://llvm.org/docs/ProgrammersManual.html) 这两篇文档是LLVM的重中之重,希望学习的时候认真一点,能掌握这些文档的核心。


第一步:复习

第三天的时候,我们学习了LLVM的编程指引。在开始第四天的学习之前,需要复习之前学习过的两篇文档:

LLVM IR的文档(http://llvm.org/docs/LangRef.html

编程指引文档 (http://llvm.org/docs/ProgrammersManual.html
这两篇文档是LLVM的重中之重,希望学习的时候认真一点,能掌握这些文档的核心。

第二步:阅读文档 Write an LLVM pass
http://llvm.org/docs/WritingAnLLVMPass.html

在阅读的过程中,文档中提到的例子要自己认真运行一下,并且对提到的实际代码,要认真的阅读。

对Pass的简要介绍,可参加我之前的一个博文:

http://blog.csdn.net/snsn1984/article/details/8160696

同时,还有一个对Pass例子的分析:

http://blog.csdn.net/snsn1984/article/details/8568828


第三步:自己根据HelloWorld的例子,写一个输出一个函数中所有的BasicBlock的name的Pass.
这个Pass是FunctionPass的子类,通过自己实现runOnFunction,来实现输出所有的BasicBlock的name.
在这个过程中,要善于利于google搜索,通过自己查找Function类的成员函数,来找到自己需要的成员函数。
这个Pass的难度不大,只是和HelloWorld稍微不同。

目录
相关文章
|
15天前
|
应用服务中间件 Linux nginx
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
126 77
|
3月前
|
安全 Linux 虚拟化
|
4月前
|
Kubernetes Linux 测试技术
|
4月前
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
156 0
|
5月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
497 1
|
5月前
|
安全 Linux API
关于Linux稳定版本的一切你想知道的内容 【ChatGPT】
关于Linux稳定版本的一切你想知道的内容 【ChatGPT】
|
5月前
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测
|
6月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
1151 3
|
6月前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
302 2
|
6月前
|
Linux 开发工具
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
278 2
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用