文章目录

  • 前言
  • 静态单赋值(static single assignment)的概念
  • 静态单赋值算法

前言

视频:北大-软件分析-公开课

文档:课件’ | 静态单赋值形式-wiki

这里简单记录下。


静态单赋值(static single assignment)的概念

在数据流分析中,我们在每一个节点都保存了全部的变量。如果节点可以根据“Def-Use关系”来保存相应的节点,则可以少保存很多节点,从而提高算法效率。

Def-Use关系:给定变量x,如果结点A可能改变x的值,结点B可能使用结点A改变后的x的值,则结点A和结点B存在Def-Use关系。

如何获取Def-Use关系?可以使用静态单赋值形式,每个变量都只被赋值一次

静态单赋值形式上的流非敏感分析与流敏感分析等价。

静态单赋值算法

我们的数据流分析,建立在控制流程图上。控制流程图建立在基本块上。

要实现静态单赋值功能,需要相应的算法。算法本身也可以从不同角度进行优化。

SSA算法介绍,略(没咋搞懂算法-_-)。

静态单赋值形式-概念简介相关推荐

  1. 数据流分析与 SSA | 什么是静态单赋值 SSA

    什么是静态单赋值 SSA. SSA 是 static single assignment 的缩写,也就是静态单赋值形式. 顾名思义,就是每个变量只有唯一的赋值.

  2. 一文入门Go静态单赋值(SSA)

    在上一篇文章<通过实例理解Go内联优化>[1]中,我们探讨了Go编译器在编译中端进行的内联优化.内联优化基于IR中间表示进行,不过Go编译过程不止有一种IR表示,这点和龙书<编译原理 ...

  3. SSA(static single assignment)(静态单赋值)

    SSA属于控制流分析,所以有些相关的概念如控制流图,控制树,n控制m,直接控制和真控制需要参考如下文章: 控制流分析 引入 例如: SSA 一个问题: 这是肯定的,有了SSA,做出上面的判断不难. 上 ...

  4. MFC单文档及其简介

    MFC单文档及其简介 MFC 是一个编程框架 MFC 中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来 建立Windows 下的应用程序.MFC 框架定义了应用程序的轮廓,并 ...

  5. 计算机动画基本概念,计算机三维动画基本概念简介

    简单介绍三维计算机动画技术的原理和实现,对里面的几项关键部分的概念进行阐述说明. 2 1 0 0年 9月 第 9期 (第 1 2期 )总 4 广西轻工业 G A G IOR A F IH D SR 计 ...

  6. 数据结构 - 静态单链表的实行(C语言)

    静态单链表的实现 1 静态链表定义 静态链表存储结构的定义如下: /* 线性表的静态链表存储结构 */ #define MAXSIZE 1000 /* 假设链表的最大长度是1000 */ typede ...

  7. 项目背景介绍及文件系统基本概念简介

    文章目录 1 项目背景介绍 2 文件系统基本概念简介 2.1 文件系统接口 2.2 存储的基本单位 2.3 文件存储单位 2.4 文件结构 3 海量存储选用大文件结构的原因 1 项目背景介绍 根据淘宝 ...

  8. layui 子页面写弹出框覆盖父页面,以及给弹框中的表单赋值

    咋说呢,因为对 layui 不太熟悉,这个弹出框搞了好久,看了好多解决方案,大致尝试了一下其中几种,在坑中无法自拔...总之终于搞出来了,在这里分享一下我的笔记. 着急的直接 戳这里 看解决代码. 尝 ...

  9. 懵了,Java枚举单例模式比DCL和静态单例要好???

    点击关注公众号,实用技术文章及时了解 来源:liuchenyang0515.blog.csdn.net/article/ details/121049426 文章目录 双重校验锁单例(DCL) 为什么 ...

最新文章

  1. 知识蒸馏在推荐系统的应用
  2. saltstack配置管理之YAML(二)
  3. docker应用,后端服务出现OOM情况排查
  4. 基于Wemos的智能感应开盖垃圾桶——日记
  5. dio设置自定义post请求_Flutter Dio简单二次封装和自定义Header
  6. php键值对数组排序,PHP按指定键值对二维数组进行排序的方法_PHP
  7. c语言万年历的设计任务,万年历设计报告
  8. 信息学奥赛一本通 1233:接水问题 | 1950:【10NOIP普及组】接水问题 | OpenJudge NOI 1.9 15 | 洛谷 P1190 [NOIP2010 普及组] 接水问题
  9. 程序员利用恶意软件攻击数万台 Mac、PC,窃取用户隐私长达 13 年
  10. 用nodejs 调试nginx rewrite 后输出路径
  11. JavaScript文件存储信息对象cookie编码生存期
  12. Linux环境下如何编译C++程序
  13. 软件测试 (5) 数据库语句
  14. 云端(服务器)车牌识别SDK
  15. UINO优锘:数据中心可视化管理面向运营的IT运维配置管理
  16. 基于SIMULINK的AWGN信道仿真
  17. 打开计算机系统无法访问指定的,win10系统运行软件时提示“无法访问指定设备路径或文件的修复步骤...
  18. 精伦身份证阅读器php_华视CVR-100身份证阅读器BS开发包
  19. 2019年英语专升本英语阅读「Part II 阅读专区」【文章(图片)、答案、词汇记忆】
  20. 儿子让我在坚强中求生

热门文章

  1. idea导入项目全部爆红问题怎么解决
  2. 利亚德解读冬奥:开幕式背后的数字显示技术
  3. 2022年度总结|在CSDN的成长报告
  4. 谁被誉为计算机科学与人工智能之父,被誉为计算机科学与人工智能之父的是()。...
  5. 2019多校联讯 test 3 T2
  6. 云时通供应链中台 | 打造供应链智慧大脑,实现70%订单交易自动化
  7. session共享几种方式
  8. Redis源码、面试指南(5)多机数据库、复制、哨兵、集群
  9. mysql 互斥_Mysql 中互斥锁的使用
  10. 汽车数字钥匙设计03:UWB测距原理