3.最后再进行一遍扫描消除无用赋值.先清空符号表,再做 扫描代码中每个指令: 若为赋值指令,(将源操作数在表中登记项的行号内容删 去),则考察目的操作数变量: A.若其不在表中,则登记该变量,并将该指令的行号 登记为该变量的内容; B.若在表中,则根据符号表中所记录的行号,删除该 行指令,登记本行行号. 按照上述方法,第一个为无用赋值,删除后得: i=6;ret_reg=7;reti
3.最后再进行一遍扫描消除无用赋值.先清空符号表,再做 扫描代码中每个指令: 若为赋值指令,(将源操作数在表中登记项的行号内容删 去),则考察目的操作数变量: A.若其不在表中,则登记该变量,并将该指令的行号 登记为该变量的内容; B.若在表中,则根据符号表中所记录的行号,删除该 行指令,登记本行行号. 按照上述方法,第一个i为无用赋值,删除后得: i=6; ret_reg=7; ret;
8.3基于结钓信息的优化 ·窥孔优化的依据仅仅是对一组相邻指令进 行分析所得信息。 ·有些优化项目需要分析代码的整体结构, 而且需使用更复杂的技术。 ·本节将介绍以基本块为基础的优化方法 ·优化对象为采用三地址码形式的四元式代 码序列
8.3 基于结构信息的优化 • 窥孔优化的依据仅仅是对一组相邻指令进 行分析所得信息。 • 有些优化项目需要分析代码的整体结构, 而且需使用更复杂的技术。 • 本节将介绍以基本块为基础的优化方法 • 优化对象为采用三地址码形式的四元式代 码序列