文章目录

  • 介绍
    • 想要解决的问题
    • 传统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:阅读笔记相关推荐

  1. 论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记

    论文Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems阅读笔记 论文arxiv链接:Learning ...

  2. A fast surrogate-assisted PSO algorithm for computationally expensive proble 阅读笔记

    PII: S1568-4946(20)30243-X DOI 目录 本文贡献 实验背景 本文工作(FASPSO) 本文主要贡献 FSAPSO算法详解 模型管理 提出的基于不确定性的准则(The pro ...

  3. 视频重建论文EDVR: Video Restoration with Enhanced Deformable Convolutional Networks阅读笔记

    论文来源:CVPRW2019 论文链接:http://ieeexplore.ieee.org/document/9025464 项目地址:GitHub - xinntao/EDVR: Winning ...

  4. 论文 Matching Article Pairs with Graphical Decomposition and Convolutions 阅读笔记

    论文 Matching Article Pairs with Graphical Decomposition and Convolutions 详细流程 论文发表在2019 ACL上,论文地址:htt ...

  5. 2020年ECCV论文DeepSFM: Structure From Motion Via Deep Bundle Adjustment阅读笔记

      这篇博客分享的是2020年发表于ECCV上的一篇论文<DeepSFM: Structure From Motion Via Deep Bundle Adjustment>. 论文地址: ...

  6. 点云配准论文阅读笔记--(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration

    目录 点云配准系列 写在前面 Abstract摘要 1 Introduction引言 2 Background研究背景 RANSAC Randomized Alignment 3 Approximat ...

  7. 毫米波点云生成论文 阅读笔记 | 3D Point Cloud Generation with Millimeter-Wave Radar

    毫米波点云生成论文 | 3D Point Cloud Generation with Millimeter-Wave Radar Kun Qian, Zhaoyuan He, Xinyu Zhang ...

  8. 论文阅读笔记(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的可伸 ...

  9. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

最新文章

  1. 【干货】产品经理必读:app开发版本迭代的节奏该如何把握?
  2. python27文件夹_为什么python27.dll不是python安装文件夹的一部分,而是在Windows系统文件夹中...
  3. 动态创建 @ViewChild 导致运行时错误的原因分析
  4. 软件工程---2.软件过程
  5. 使用增强回归树和随机森林模型进行溪流水质预测--文献阅读
  6. 分布式训练PyTorch 源码解读
  7. 非递归的方法写快排java_快排的最差情况以及快排平均复杂度的计算
  8. hdu_2476_String painter(区间DP)
  9. C语言文件的随机读写
  10. Python 基础 —— docstring
  11. 【图像分割】基于形态学重建和过滤改进FCM算法(FRFCM)的图像分割【含Matlab源码 085期】
  12. 密码学中的各类密码汇总(一)
  13. 甘肃自考计算机技术,甘肃自考计算机与网络技术基础课程考试说明
  14. 浅析集线器、交换机、路由器
  15. 达梦常见故障模拟与恢复
  16. 微信小程序中基础入门
  17. 访问学者博士后面签后的几种情况?
  18. 业务员怎么网上找客户?4个快速有效方法在这里
  19. QT 可视化界面设计
  20. 第一次用计算机证明的数学定理是,勾股定理是一个基本几何定理,是人类早期发现并证明的重要数学定理之一,用代数思想解决几何...

热门文章

  1. python路径必须用双斜线分隔
  2. llama.cpp LLM模型 windows cpu安装部署;运行LLaMA2模型测试
  3. 新手入门微信小程序-从注册到开发(校庆头像框)
  4. 三菱FX3U——ST编程中的数组
  5. 利用matlab模拟光学简单空间滤波系统,空间滤波应用举例
  6. JSPs only permit GET POST or HEAD问题
  7. Latex中ACM-Reference-Format顺序与论文引用顺序不一致solution
  8. 自然二进制数与格雷码的相互转换
  9. 搜狗私有化新进展:腾讯收购股权获准,后者曾被顶格处罚
  10. Android——动画学习,界面切换