从编译器角度看超级块和超级块定义

ami*_*far 3 compiler-construction

对于编译器人员来说,这是一个非常简单的问题,但我总是对超级块和超级块感到困惑。我已经看到了超级块和超级块的定义,但我想从编译器人员的角度了解它们的定义。

我熟悉基本块、谓词执行和循环展开等概念,因此您可以跳过基本内容。

谢谢!

ami*_*far 6

本文描述了超级的概念以及超级块是什么。简而言之,这个想法是增加跨基本块的 ILP,因为基本块中的 ILP 可能不够高。超级块是没有侧入口的迹线。控制只能从顶部进入,但可以从一个或多个出口点离开。所以顶部只有一个入口,但有多个出口。我们使用配置文件信息从包括多个基本块的公共路径构建超级块。然后我们应用超级块优化。请查看论文以获取更多信息。

如果我们没有单一的公共路径,并且如果我们有预测支持,我们可以组合多个公共路径来制作一个超级块,并对超级块进行优化。