assembly - 子程序推理

标签 assembly compiler-theory computation-theory information-theory

是否有任何论文描述了从编译的程序推断子例程的算法/技术?换句话说:是否有一种算法可以找到程序中多次出现的代码块?这些 block 可以对指令进行重新排序(当然,无需更改程序行为),以便更有可能找到匹配项。

这个过程可以看作是编译器为避免调用而完成的子例程内联的相反过程,但会增加二进制大小。

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

最佳答案

嗯,这是一个有趣的问题。人们确实在这方面做出了努力。快速搜索会返回这两个:

但可能还有更多。您可以使用 Google Scholar查找引用这些旧论文的更多最新论文。

关于assembly - 子程序推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407229/

相关文章:

linux - 使用 Kdbg 调试汇编代码

automata - 什么是glushkov NFA。 Glushkov NFA 和 Thompson NFA 有什么区别?

compiler-construction - 现代和旧的编译器是用什么编写的?

algorithm - 对于任何局部搜索算法,在邻域中搜索的一步是否总是可以在多项式时间内完成?

theory - 计算理论中的重要主题

c - 了解arm64的kvm_vcpu_run_vhe函数

assembly - 找到一个空闲的中断槽

assembly - 如何将字符串的第一个字符与 x86-64 汇编中的另一个字符进行比较?

compiler-construction - 有趣的编译器项目

算法名称 - 匹配 AST 中的子树