全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Loop Invariant Code Motion in Code Generator
代码生成阶段的循环不变量外提

Keywords: 指令调度,代码生成,编译器,中间表示,目标代码,代价模型,处理机,不变量,循环,优化算法

Full-Text   Cite this paper   Add to My Lib

Abstract:

循环不变量外提是一种传统的优化算法。在现代编译嚣中。循环不变量通常在编译器的中端中被删除或外提。中端的中间表示是目标处理机无关的,而编译器的后端的中间表示是目标处理机相关的。尽管中端的优化十分有效,但是从中端的中间表示向后端的中间表示转化的过程中会引入许多循环不变量。因此,有必要在后端再进行循环不变量外提。由于在指令调度的过程能够比较容易地决定一个循环不变量是否需要外提,我们将这一个阶段集成到指令调度中。为了降低指令调度的复杂性,我们把循环不变量的识别和外提区分开来。“识别”独立进行,而决定是否“外提”并实施“外提”则集成到指令调度阶段中。我们在开放源码编译器ORC的代码生成模块中具体实现了本文所介绍的算法。实验结果显示,在代码生成阶段的循环不变量外提能够提高目标代码1%的性能。我们的代价模型避免了78%的循环不变量不必要地外提到循环之外。

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133