首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Ivanqi
掘友等级
抱怨不如争气 失业程序员,找工作ing
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
Ivanqi
1年前
关注
窥孔优化(Peephole Optimization)
概述 编译原理的窥孔优化(Peephole Optimization) 是一种基于目标代理或低级中间表示(LIR) 的局部优化技术 它通过在代码中设置一个固定大小的窗口(窥...
0
评论
分享
Ivanqi
1年前
关注
词法与语法分析器介绍
概述 词法和语法可以使用正则表达式和BNF范式表达,而最终描述文法含义的事状态转换图 Lex与YACC 词法分析器Lex 词法分析词Lex,是一种生成词法分析的工具,描述器...
0
评论
分享
Ivanqi
1年前
关注
规范设计
开源规范 开源协议概述 业界有上百种开源协议,每种开源协议的要求不一样,有的协议对使用条件要求比较苛刻,有的则相对比价宽松 6种常见开源协议: GPL、MPL、LGPL、A...
0
评论
分享
Ivanqi
1年前
关注
mem2reg整体流程
LLVM假设程序中所有的局部变量都在栈上,并且通过Alloca指令在函数的Entry BB 进行声明,并且只出现在Entry BB里。 对步骤1中声明的每个ALLOC指令,...
0
评论
分享
Ivanqi
1年前
关注
可规约性分析(Reducibility Analysis)
概念 程序流图(Program Flow Graph, CFG) 的可归约性(Reducibility) 是编译和程序分析领域中的一个重要概念 一个CFG被认为是可归约的,...
0
评论
分享
Ivanqi
1年前
关注
错误处理的3种主流方式
使用返回值(错误码) 使用返回值来表征错误,是最古老也是最实用的一种方式,它使用范围很广,从函数返回值、到操作系统的系统调用的错误码errno、进程退出的错误码retval...
0
评论
分享
Ivanqi
1年前
关注
构造静态单赋值形式的简单方法 - 重命名
重命名 在最终的静态单赋值形式,每个全局名字都变为一个基本名,而对该基本名的各个定义则通过添加数字下标区分 对于对应到源语音变量的名字,比如说x,算法使用x作为基本名。因而...
0
评论
分享
Ivanqi
1年前
关注
构造静态单赋值形式的简单方法 - 放置Φ函数
放置Φ函数 朴素的算法会在每个汇合点结点起始处为每个变量放置一个Φ函数,有了支配边界之后,编译器可以更精确地判断何处可能需要Φ函数 其基本思想很简单,基本程序块b中对x的定...
0
评论
分享
Ivanqi
1年前
关注
构造静态单赋值形式的简单方法
最大静态单赋值形式(maximal SSA form) 插入Φ函数 在具有多个前趋的每个程序块起始处,为当前过程中定义或使用的每个名字y,插入一个Φ函数,如y <- Φ(y...
0
评论
分享
Ivanqi
1年前
关注
支配树
支配树 如果每一条从流图的入口结点到结点n的路径都经过结点d,我们就说d支配(dominate) n, 记为 d dom n. 请注意,在这个定义下每个结点都支配它自己 上...
0
评论
分享
Ivanqi
1年前
关注
可用表达式分析(Available Expressions Analysis, must analysis)
Transfer Function:OUT[B] = genB U (IN[B] - killB) OUT[B]: 是基本块B的输出可用表达式集合,即离开基本块B仍然有效的...
1
评论
分享
Ivanqi
1年前
关注
活性变量分析 (Live Variables Analysis, may analysis)
Control Flow:OUT[B] = US a_successor_of_BIN[S] OUT[B]: 基本块B的出口存活变量集合,即基本块B执行完毕后,接下来的执行...
0
评论
分享
Ivanqi
1年前
关注
达成定义分析 (Reaching Definitions Analysis,may analysis)
概述 Reaching Definitions Analysis 是一种数据流分析技术,用于确定程序中某个变量定义对程序中其他点的可见性 Transfer Function...
0
评论
分享
Ivanqi
1年前
关注
反向分析(Backward Analysis): IN[s]=fs(OUT[s])
概述 “Backward Analysis”或“反向分析”是一种分析技术,它从程序或代码的输出结果开始,逆向推导出程序的状态或者输入值 这里的表达式“IN[s]=fs(OU...
0
评论
分享
Ivanqi
1年前
关注
前向分析(Forward Analysis): OUT[s]=fs(IN[s])
概述 前向分析,它是一种数据流分析技术,其中分析按照程序执行的顺序进行 在前向分析中,关注如何从程序的开头向结尾传播信息,并计算每个语句(或基本块)的输出值 OUT[s]=...
0
评论
分享
Ivanqi
1年前
关注
半格
偏序集(Partially Ordered Set, POS) 首先,半格是基于偏序集的概念。偏序集是一个集合,集合中的某些元素之间进行比较,这些比较关系不一定完全,即并不...
0
评论
分享
Ivanqi
1年前
关注
线性代数
内积(点乘)概述 内积(inner product) 计算的则是两个向量之间的关系 两个相同维度向量内积的表达式为: # 内积(点乘)概述 内积(inner product...
0
评论
分享
Ivanqi
1年前
关注
Φ-function
定义 在编译原理中, Φ-function(也称为phi函数)是用于在编译优化过程中,特别是在控制流图(Control Flow Graph, CFG) 中用于实现数据流分...
0
评论
分享
Ivanqi
1年前
关注
支配边界(dominance frontier)
定义 支配边界是指在支配树中,一个节点的所有非直接支配的子节点集合 具体来说,对于支配树中的一个节点(n),其支配边界(DF(n)) 是这样的节点集合 这些节点被(n)支配...
0
评论
分享
Ivanqi
1年前
关注
IDOM(Immediate Dominator)
定义 在支配树(Dominator Tree)中,IDOM(Immediate Dominator)是指直接支配者,它是支配树中的一个节点,该节点在到达另一个节点的所有路径...
0
评论
分享
下一页
个人成就
文章被点赞
1
文章被阅读
7,204
掘力值
397
关注了
1
关注者
3
收藏集
0
关注标签
132
加入于
2017-05-23