LLVM每日谈之五十六 从RegionPass看Region

栏目: 服务器 · 编程工具 · 发布时间: 7年前

LLVM每日谈之五十六 从RegionPass看Region

RegionPass是Pass的一个子类,和其他Pass的子类(ModulePass、FunctionPass、LoopPass、BasicBlockPass)一样,都是同样的一个模式:运行在每一个XX之上。(注:这里的XX代表着这几个Pass的针对的对象,每个都不同。FunctionPass运行在每一个Function之上,RegionPass运行在每一个Region之上。其他同样)

但是RegionPass有一些特殊之处,这主要是由于Region和Module、Function、Loop、BasicBlock的差别造成的。众所周知,Module、Function、Loop、BasicBlock都是LLVM IR的基本结构,相对而言比较容易理解。尤其是Module、Function、BasicBlock这三层结构,接触过LLVM IR的都比较熟悉。而Region则不能算是一个基本结构,它的定义为:

Region is a connected subgraph of a control flow graph that has exactly two connections to the remaining graph. It can be used to analyze or optimize parts of the control flow graph.(来自: RegionInfo.h 的注释)

翻译过来就是:Region是一个控制流图的连接的子图,它和剩余的部分有两个连接。它可以被用来分析和优化控制流图中的部分内容。

所以,一个简单的Region和剩余的图有两个边的连接,一个是入点,一个是出点。Region的入点是进入Region之后的第一个BasicBlock;Region的出点是离开Region之后的第一个BasicBlock。Region的入点BasicBlock主导Region的所有BasicBlock;Region的出点BasicBlock后置主导Region的所有BasicBlock。

来一起看个具体的实例:

LLVM每日谈之五十六 从RegionPass看Region

图中是Region的实例,图中共有两个Region,一个A一个B。这里的出点还容易让有点迷惑,需要针对图仔细揣摩一下。A是B的父Region。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

淘宝、天猫网上开店速查速用一本通

淘宝、天猫网上开店速查速用一本通

刘珂 / 北京时代华文书局 / 2015-6 / 39.8

为了帮助众多的新手卖家掌握淘宝天猫网上开店、货源准备、店铺装修、商品拍摄、交易方法、营销推广以及售后服务等知识,本书作者根据自己多年网上开店心得,并结合了多名淘宝五皇冠店主和天猫旗舰店卖家的经验,精心策划编写了本书。 《淘宝、天猫网上开店速查速用一本通:开店、装修、运营、推广完全攻略》将目前最前沿、最流行的营销理念运用到淘宝天猫网上平台,所有技术都在实际应用获得显著效果,并且还在持续创造着惊......一起来看看 《淘宝、天猫网上开店速查速用一本通》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具