首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Ivanqi
掘友等级
抱怨不如争气 失业程序员,找工作ing
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
最新
热门
窥孔优化(Peephole Optimization)
概述 编译原理的窥孔优化(Peephole Optimization) 是一种基于目标代理或低级中间表示(LIR) 的局部优化技术 它通过在代码中设置一个固定大小的窗口(窥孔),检查窗口内的指令序列,
词法与语法分析器介绍
概述 词法和语法可以使用正则表达式和BNF范式表达,而最终描述文法含义的事状态转换图 Lex与YACC 词法分析器Lex 词法分析词Lex,是一种生成词法分析的工具,描述器是识别文本中词汇模式的程序,
规范设计
开源规范 开源协议概述 业界有上百种开源协议,每种开源协议的要求不一样,有的协议对使用条件要求比较苛刻,有的则相对比价宽松 6种常见开源协议: GPL、MPL、LGPL、Apache、BSD和MIT
mem2reg整体流程
LLVM假设程序中所有的局部变量都在栈上,并且通过Alloca指令在函数的Entry BB 进行声明,并且只出现在Entry BB里。 对步骤1中声明的每个ALLOC指令,LLVM都会检查它是否为pr
可规约性分析(Reducibility Analysis)
概念 程序流图(Program Flow Graph, CFG) 的可归约性(Reducibility) 是编译和程序分析领域中的一个重要概念 一个CFG被认为是可归约的,如果它可以通过一系列的变换(
错误处理的3种主流方式
使用返回值(错误码) 使用返回值来表征错误,是最古老也是最实用的一种方式,它使用范围很广,从函数返回值、到操作系统的系统调用的错误码errno、进程退出的错误码retval,甚至HTTP API的状态
构造静态单赋值形式的简单方法 - 重命名
重命名 在最终的静态单赋值形式,每个全局名字都变为一个基本名,而对该基本名的各个定义则通过添加数字下标区分 对于对应到源语音变量的名字,比如说x,算法使用x作为基本名。因而,重命名算法遇到的对x的第一
构造静态单赋值形式的简单方法 - 放置Φ函数
放置Φ函数 朴素的算法会在每个汇合点结点起始处为每个变量放置一个Φ函数,有了支配边界之后,编译器可以更精确地判断何处可能需要Φ函数 其基本思想很简单,基本程序块b中对x的定义,则要求在DF(b)集合包
构造静态单赋值形式的简单方法
最大静态单赋值形式(maximal SSA form) 插入Φ函数 在具有多个前趋的每个程序块起始处,为当前过程中定义或使用的每个名字y,插入一个Φ函数,如y <- Φ(y, y) 对于CFG中的每一
支配树
支配树 如果每一条从流图的入口结点到结点n的路径都经过结点d,我们就说d支配(dominate) n, 记为 d dom n. 请注意,在这个定义下每个结点都支配它自己 上面的flow-graph入口
下一页
个人成就
文章被点赞
1
文章被阅读
5,781
掘力值
393
关注了
1
关注者
3
收藏集
0
关注标签
132
加入于
2017-05-23