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

时间:2012-06-21 19:17:25

标签: compiler-construction

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

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

谢谢!

1 个答案:

答案 0 :(得分:4)

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

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