子程序推断

phi*_*lix 6 assembly compiler-theory information-theory computation-theory

是否有任何论文描述了从编译程序推断子程序的任何算法/技术?换句话说:是否有一种算法可以找到在程序中出现多次的代码块?这些块可以重新排序指令(当然没有程序行为改变),因此它更有可能找到匹配.

这个过程可以看作是子程序内联的反面,它由编译器完成,以避免调用,但增加了二进制大小.

在我看来,这是一个非常困难的理论问题.

Mac*_*ser 6

嗯,这是一个有趣的问题.人们确实在这方面工作.快速搜索返回以下两个:

但可能还有更多.您可以使用Google学术搜索查找更多最近引用这些旧文章的论文.