基本块的主要保结构变换是 ① 删除公共子表达式 ② 删除无用代码 ③ 重新命名临时变量 ④ 交换语句次序 对于删除公共子表达式和删除无用代码这两种优化技术,我们在11.1中已经讨论过,这里简单介绍重新命名临时变量和交换语句次序是什么含义。 重新命名临时变量:假如有语句t∶=b+c,其中t是临时变量。如果把这个语句改为u∶=b+c,其中u是新的临时变量,并且把这个t的所有引用改成u,那么基本块的运算结果不变。 交换语句次序: 如果基本块有两个相邻的语句: t1∶=b+c t2∶=x+y 当且仅当x和y都不是t1,b和c都不是t2时,我们可以交换这两个语句的次序。 |