A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion

A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion
复制标题

Knoop、Rüthing 和 Steffen 的惰性代码运动的变体

DOI:
--
复制
发表时间:
1993
期刊:
SIGP
影响因子:
--
通讯作者:
Manfred P. Stadel
Manfred P. Stadel
中科院分区:
--
文献类型:
--
作者:
K. Drechsler;Manfred P. Stadel

文献摘要

被引文献

相似文献

Morel和Renvoise在1979年讨论了一种在编译器中进行全局代码优化的通用方法。通过抑制部分冗余,他们的方法同时实现了几种优化技术,例如将循环不变计算移出循环或删除冗余计算。他们的算法将计算移动到执行路径中较早的位置,以消除部分冗余。运动是由一些算法控制的,Morel和Renvoise使用的算法有时会给实际应用带来困难。随后的论文通过稍微修改算法和算法,部分地规避了这些困难。Knoop,R thing和Steffen在他们的论文Lazy Code Motion中发表了一种消除部分冗余的最佳算法,完全避免了这些困难。本文提出了一个变种,他们的算法,这是更好地准备实际使用。
Morel and Renvoise discussed in 1979 a universal method for global code optimization in a compiler. By suppressing partial redundancies their method achieves several optimization techniques - such as moving loop invariant computations out of a loop or deleting redundant computations - at once. Their algorithm moves computations to earlier places in execution paths to eliminate partial redundancies. The movement is controlled by some heuristics.The heuristics and algorithms used by Morel and Renvoise sometimes cause difficulties for practical use. Subsequent papers partly circumvented these difficulties by slightly modifying the heuristics and the algorithms. Knoop, Rüthing, and Steffen published in their paper Lazy Code Motion an optimal algorithm for the elimination of partial redundancies which entirely prevents these difficulties. This paper presents a variant of their algorithm which is better prepared for practical use.