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

简介: 作者:snsn1984 第一步:复习文档 Write an LLVM pass http://llvm.org/docs/WritingAnLLVMPass.html 第二步:阅读LLVM编程规范http://llvm.org/docs/CodingStandards.html 编程规范是编程中需要注意的基础点,代码风格符合不符合规范,将会直接影响整个代码的可读性和代码质量。

作者:snsn1984

第一步:复习文档 Write an LLVM pass

http://llvm.org/docs/WritingAnLLVMPass.html
第二步:阅读LLVM编程规范
http://llvm.org/docs/CodingStandards.html
编程规范是编程中需要注意的基础点,代码风格符合不符合规范,将会直接影响整个代码的可读性和代码质量。
所以一定要认真阅读,并且在自己编写代码的过程中要遵守规范。最容易犯错误的两点就是缩进和空格。不同
的编程规范的缩进是不同的,但是对TAB的限制是大多数规范都有的。任何不是必须的空格,都是不应该出现
的。
第三步:参照LLVM编程规范写Pass例子
编写一个Pass,删除掉程序中所有的没有使用的指令。比如:
%2 = add i32 %1, 1;
%3 = add i32 %2, 1;
ret;
那么因为%3并没有被使用,所以指令%3 = add i32 %2, 1; 就可以被删除了,删除之后,如果%2没有别的地方使用,
那么这条语句也可以删除掉了。依次循环下去,最后得到的是一个没有无用的代码的程序。
延伸阅读:

http://en.wikipedia.org/wiki/Dead_code_elimination


-------------------------------------------转载请注明出处-------------------------------------------------------------------------------------

目录
相关文章
|
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源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
498 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工具的使用