论文 A Linear Time Algorithm for Placing phi-Nodes:阅读笔记
文章目录
- 介绍
- 想要解决的问题
- 传统placing ϕ \phi ϕ-node算法回顾
- 背景知识
- 核心实现
- 线性时间构造DJ-graph
- computing dominance frontier
- 插入 ϕ \phi ϕ-node
- 效果及使用情况
介绍
这个论文提出了一种简单高效率的插入 ϕ \phi ϕ-node的方法,也指出了传统插入 ϕ \phi ϕ-node算法的一些弊端。
注:这个论文还有一些前置论文,我懒得看了
想要解决的问题
论文想要解决的是在计算dominance frontier时候潜在的 O ( N 2 ) O(N^2) O(N2)的复杂度。论文指出计算 ϕ \phi ϕ-node插入位置可以在线性时间内完成,核心就在于处理dominator tree的顺序,同时这种方式还可以on-the-fly的方式计算dominance frontier。
该论文使用了一种 D J − g r a p h DJ-graph DJ−graph的结构来作为整个算法的基础。DJ-Graph的本质上是在dominator tree上添加了J-edge(join-edge),
The tree skeleton is augmented with J-edges (join edges) that correspond to all edges of the CFG whose source does not strictly dominate its destination. - Static Single Assignment Book
注:上图源于Static Single Assignment Book
传统placing ϕ \phi ϕ-node算法回顾
在构造SSA介绍的插入 ϕ \phi ϕ-node的算法比较粗糙,还没有考虑到live信息,效率也比较低。
注:上图来自于Data Flow Analysis Theory and Pratice
这个算法有两个特点,一是预先计算好所有的dominance frontier信息,二是迭代的方式插入 ϕ \phi ϕ-node的效率比较低。
背景知识
有两点背景知识以前没有接触过,一个是dominance frontier的拓展,从一个节点的 D F ( x ) DF(x) DF(x) 拓展到一个节点集合 D F ( S ) DF(S) DF(S)。
D F ( S ) = ⋃ x ∈ S D F ( x ) DF(S) = \bigcup_{x \in S} DF(x) DF(S)=x∈S⋃DF(x)
另一个是iterated dominance frontier I D F ( S ) IDF(S) IDF(S)或者( D F + ( S DF^+(S DF+(S)(这也是我为什么看llvm的代码IDFCalculatorBase
看不懂的原因
论文 A Linear Time Algorithm for Placing phi-Nodes:阅读笔记相关推荐
- 论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记
论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记 论文arxiv链接:Learning ...
- A fast surrogate-assisted PSO algorithm for computationally expensive proble 阅读笔记
PII: S1568-4946(20)30243-X DOI 目录 本文贡献 实验背景 本文工作(FASPSO) 本文主要贡献 FSAPSO算法详解 模型管理 提出的基于不确定性的准则(The pro ...
- 视频重建论文EDVR: Video Restoration with Enhanced Deformable Convolutional Networks阅读笔记
论文来源:CVPRW2019 论文链接:http://ieeexplore.ieee.org/document/9025464 项目地址:GitHub - xinntao/EDVR: Winning ...
- 论文 Matching Article Pairs with Graphical Decomposition and Convolutions 阅读笔记
论文 Matching Article Pairs with Graphical Decomposition and Convolutions 详细流程 论文发表在2019 ACL上,论文地址:htt ...
- 2020年ECCV论文DeepSFM: Structure From Motion Via Deep Bundle Adjustment阅读笔记
这篇博客分享的是2020年发表于ECCV上的一篇论文<DeepSFM: Structure From Motion Via Deep Bundle Adjustment>. 论文地址: ...
- 点云配准论文阅读笔记--(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration
目录 点云配准系列 写在前面 Abstract摘要 1 Introduction引言 2 Background研究背景 RANSAC Randomized Alignment 3 Approximat ...
- 毫米波点云生成论文 阅读笔记 | 3D Point Cloud Generation with Millimeter-Wave Radar
毫米波点云生成论文 | 3D Point Cloud Generation with Millimeter-Wave Radar Kun Qian, Zhaoyuan He, Xinyu Zhang ...
- 论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering
论文阅读笔记(5):Oracle Based Active Set Algorithm for Scalable Elastic Net Subspace Clustering,基于Oracle的可伸 ...
- DCP(Deep Closest Point)论文阅读笔记以及详析
DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...
最新文章
- 【干货】产品经理必读:app开发版本迭代的节奏该如何把握?
- python27文件夹_为什么python27.dll不是python安装文件夹的一部分,而是在Windows系统文件夹中...
- 动态创建 @ViewChild 导致运行时错误的原因分析
- 软件工程---2.软件过程
- 使用增强回归树和随机森林模型进行溪流水质预测--文献阅读
- 分布式训练PyTorch 源码解读
- 非递归的方法写快排java_快排的最差情况以及快排平均复杂度的计算
- hdu_2476_String painter(区间DP)
- C语言文件的随机读写
- Python 基础 —— docstring
- 【图像分割】基于形态学重建和过滤改进FCM算法(FRFCM)的图像分割【含Matlab源码 085期】
- 密码学中的各类密码汇总(一)
- 甘肃自考计算机技术,甘肃自考计算机与网络技术基础课程考试说明
- 浅析集线器、交换机、路由器
- 达梦常见故障模拟与恢复
- 微信小程序中基础入门
- 访问学者博士后面签后的几种情况?
- 业务员怎么网上找客户?4个快速有效方法在这里
- QT 可视化界面设计
- 第一次用计算机证明的数学定理是,勾股定理是一个基本几何定理,是人类早期发现并证明的重要数学定理之一,用代数思想解决几何...