编译原理——基本块
2017-10-22 本文已影响0人
牛程程
•基本块是连续三地址状态的最大序列,其中控制流只能在块的第一个语句中输入,并在最后一个语句中停留,而不会停止或分支。
•流程图是程序的图形表示,其中图形的节点是基本块,并且图形的边界显示控件如何在块之间流动。
流程图中的循环是一个强连接的区域,单个入口点称为循环头。
•基本块的DAG表示是有向非循环图,其中DAG的节点表示块内的语句,并且节点的每个子节对应着语句中使用操作数最后定义的语句。
•窥视孔优化可以通过滑动窗口,改进程序本地代码的转换。
可以通过树重写过程完成指令选择,其中使用与机器指令相对应的树形图来平铺语法树。 我们可以将成本与树重写规则相结合,并应用动态规划来获得有效的机器和表达式的最佳平铺。
•溢出代码是将寄存器中的值存储到存储器中的指令序列,用来在该寄存器中保留另一个值。