LLVM每日谈之十三 使用LLVM自带的PASS

作者:snsn1984

PS:最近一段时间,投入在LLVM上的时间有些减少。差点把对它的研究断掉,今天开始继续。对LLVM的研究需要很长一段时间的坚持不懈才可以彻底搞明白。

前面已经介绍过如何写自己的PASS,并且也针对一个简单的PASS进行了分析和介绍。相信大家也可以从LLVM源码中找到很多的PASS,这些PASS太多,他们每个到底是做什么用?如何去调用这些系统已经有的PASS?这就是这次每日谈要关注的问题。

在文档 http://llvm.org/docs/Passes.html 中,列出了所有的PASS的命令行参数以及这个PASS主要是做什么用的。下面来实际进行测试下。
在编译好的bin/目录下,使用clang生成一个.bc文件作为例子。然后使用opt工具:
./opt -print-module <test.bc > /dev/null
这里选择的是-print-module,对于它的介绍如下:
This pass simply prints out the entire module when it is executed.

这个文档中的其他Pass也是类似的。自己不但可以在这个列表里找到自己需要的Pass,也可以通过这个列表来熟悉这些Pass。另外这个列表中的Pass的源码主要在llvm源码/lib/Analysis和llvm源码/lib/Transforms两个目录下,大家可以根据pass的名字自己去找。

转载于:https://www.cnblogs.com/ainima/archive/2013/05/07/6331979.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(JAVA)Math类

package com.book.lite;import java.util.regex.Matcher;/*** author zhangyu* date 2021年08月19日 11:34 下午* 1.绝对值*/ public class MathDemo {public static void main(String[] args) {System.out.println(methon_1());System.out.println(methon_2());System.out.pri…

Android学习笔记-判断手机外部存储是否可读写

通过调用Environment的getExternalStorageState()方法来判断外部存储的状态: /* 查检外部存储读取与写入功能是否可用 */ public boolean isExternalStorageWritable() {String state Environment.getExternalStorageState();if (Environment.MEDIA_MOUNTED.equals(state)) {r…

寄存器指令MIPS 寄存器介绍

之前朋友几篇文章介绍了改寄存器指令的文章. 关联文章的地址 MIPS有32个通用寄存器&#xff08;$0-$31&#xff09;&#xff0c;各寄存器的功能及汇编程序中应用约定如下&#xff1a; 下表描述32个通用寄存器的别名和用处 REGISTER NAME USAGE $0 $zero 常量0(constant va…

(JAVA)Random类

package com.book.lite;import java.util.Random;/*** author zhangyu* date 2021年08月19日 11:57 下午* Math.random()获取随机数&#xff0c;底层调用Random类* Random类* 1.构造方法* 2.nextInt(int n )*/public class RandomDemo {public static void main(String[] args)…

SIFT算法

介绍这个算法的网上的博客很多&#xff0c;这个百度一下就有很多篇&#xff0c;我写一下我的认识。 前面考虑的一个图像的特征点是角点&#xff0c;这边提出了&#xff0c;图像的特征点可以是一个斑点&#xff0c;就像 明显的就是部分向日葵的原型就是一个特征&#xff0c;而这…

(JAVA)超大整数运算

package com.book.lite;import java.math.BigInteger;/*** author zhangyu* date 2021年08月21日 4:27 下午* Biginterger类&#xff0c;超大数的四则运算*/ public class BigIntegerDemo {public static void main(String[] args) {methon_3();}public static BigInteger meth…

PHP中过滤数组中的元素

演示使用自定义函数删除数组中的偶数元素。 <?php function myfunc(&$arr){//自定义一个过滤函数$jcount($arr);for($i0;$i<$j;$i){if($arr[$i]%20)unset($arr[$i]);} }$arrarray(23,14,37,263,244,379,100,153,150);//定义一个数组 echo 数组进行过滤之前的信息&am…

(JAVA)超大小数运算

package com.book.lite;import java.math.BigDecimal;/*** author zhangyu* date 2021年08月21日 4:56* 双精度大数据运算* divide()除法运算。* public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) (被除数&#xff0c;保留位数&#xff0c;舍入方法…

(JAVA)格式化输出日期

1.使用子类SimpleDateFormet() 2.使用父类DateFormet package com.book.lite;import javafx.scene.input.DataFormat;import java.text.*; import java.util.Date;/*** author zhangyu* date 2021年08月21日 5:23 下午* Date 类&#xff1a;输出系统日期* 1.空参构造器* 2.传…

windows下使用MinGW+msys编译ffmpeg

本文参考了网络上的不少文章&#xff0c;但由于版本环境的问题参考文章并不能直接指导编译&#xff0c;本文吸收多方经验&#xff0c;并在自己多次编译实验的基础上写成&#xff0c;欢迎转载&#xff0c;请注名出处。 FFmpeg是在Linux平台下开发的&#xff0c;但它同样可以在…

(JAVA)Calender类

package com.book.lite;import sun.misc.ClassFileTransformer;import java.util.Calendar;/*** author zhangyu* date 2021年08月22日 4:22 下午* java.util.Calender类&#xff0c; 生活中的日历进行对象封装* 1.abstract Calender类* 2.使用子类GregorianCalendar类 数据类…

Schema evolution in Avro, Protocol Buffers and Thrift

http://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html 当想要数据, 比如对象或其他类型的, 存到文件或是通过网络传输, 需要面对的问题是序列化问题 对于序列化, 当然各个语言都提供相应的包, 比如, Java serialization, Ruby’s ma…

(JAVA)获取对象

Student.java package cn.book.objectarr;/*** author zhangyu* date 2021年08月22日 6:57 下午*/ public class Student {private String name;private int age;public Student(){}public Student(String name,int age){this.age age;this.name name;}public String getName…

JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...

转&#xff1a;http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码&#xff0c;也不会对这些 ASCII 标点符号进行编码&#xff1a; - _ . ! ~ * ( ) 。 //其他字符&#xff08;比如 &#xff1a;;/?:&$,# v…

(JAVA)CollectionDemo1

package cn.cast.collection;import java.util.ArrayList; import java.util.Collection;/*** author zhangyu* date 2021年08月22日 10:19 下午* 使用集合添加add()* 使用集合移除&#xff0c;返回boolean值*/ public class CollectionDemo {public static void main(String[]…