什么是好的,免费提供的SSA / SCCP资源?

时间:2021-01-07 02:03:57

This is what I could come up with so far:

到目前为止,这是我能想到的:

gcc related:

Other:

I've made this a community wiki, so please feel free to add your own resources - thanks!

我已将其设为社区维基,所以请随意添加自己的资源 - 谢谢!

1 个解决方案

#1


You should be aware that GCC no longer uses the SSA described in those papers (Chow's HSSA). Rather it uses an "alias oracle" to disambiguate between memory addresses. It still uses SSA for scalar variables.

您应该知道GCC不再使用那些论文中描述的SSA(Chow的HSSA)。相反,它使用“别名oracle”来消除内存地址之间的歧义。它仍然使用SSA作为标量变量。

Resources:

  • I'm surprised you missed: "A propagation engine for GCC", which described the general framework for SCCP and other sparse conditional analyses used in GCC.
  • 我很惊讶你错过了:“GCC的传播引擎”,它描述了SCCP和GCC中使用的其他稀疏条件分析的一般框架。

  • Lenart and Sadler extend SCCP to type inference.
  • Lenart和Sadler将SCCP扩展到类型推断。

  • Patterson extends SCCP to value-range propagation (and also allows copy propagation). I'm pretty sure this is the algorithm GCC uses.
  • Patterson将SCCP扩展到值范围传播(并且还允许复制传播)。我很确定这是GCC使用的算法。

  • Finally, if I may be so bold as to suggest my own short paper, which discusses the algorithm, and tries to extend symbolic execution (the core of SCCP) to building SSA as well.
  • 最后,如果我可以如此大胆地提出我自己的讨论算法的简短论文,并尝试将符号执行(SCCP的核心)扩展到构建SSA。

#1


You should be aware that GCC no longer uses the SSA described in those papers (Chow's HSSA). Rather it uses an "alias oracle" to disambiguate between memory addresses. It still uses SSA for scalar variables.

您应该知道GCC不再使用那些论文中描述的SSA(Chow的HSSA)。相反,它使用“别名oracle”来消除内存地址之间的歧义。它仍然使用SSA作为标量变量。

Resources:

  • I'm surprised you missed: "A propagation engine for GCC", which described the general framework for SCCP and other sparse conditional analyses used in GCC.
  • 我很惊讶你错过了:“GCC的传播引擎”,它描述了SCCP和GCC中使用的其他稀疏条件分析的一般框架。

  • Lenart and Sadler extend SCCP to type inference.
  • Lenart和Sadler将SCCP扩展到类型推断。

  • Patterson extends SCCP to value-range propagation (and also allows copy propagation). I'm pretty sure this is the algorithm GCC uses.
  • Patterson将SCCP扩展到值范围传播(并且还允许复制传播)。我很确定这是GCC使用的算法。

  • Finally, if I may be so bold as to suggest my own short paper, which discusses the algorithm, and tries to extend symbolic execution (the core of SCCP) to building SSA as well.
  • 最后,如果我可以如此大胆地提出我自己的讨论算法的简短论文,并尝试将符号执行(SCCP的核心)扩展到构建SSA。