首页> 外文会议>International conference on compilers, architecture and synthesis for embedded systems 2010 >Eliminating False Phase Interactions to Reduce Optimization Phase Order Search Space
【24h】

Eliminating False Phase Interactions to Reduce Optimization Phase Order Search Space

机译:消除错误的相位相互作用以减少优化的相序搜索空间

获取原文
获取原文并翻译 | 示例

摘要

Compiler optimization phase ordering is a longstanding problem, and is of particular relevance to the performance-oriented and cost-constrained domain of embedded systems applications. Optimization phases are known to interact with each other, enabling and disabling opportunities for successive phases. Therefore, varying the order of applying these phases often generates distinct output codes, with different speed, code-size and power consumption characteristics. Most current approaches to address this issue focus on developing innovative methods to selectively evaluate the vast phase order search space to produce a good (but, potentially suboptimal) representation for each program.In contrast, the goal of this work is to study and identify common causes of optimization phase interactions across all phases, and then devise techniques to eliminate them, if and when possible. We observe that several phase interactions are caused by false register dependence during many optimization phases. We further find that depending on the implementation of optimization phases, even an increased availability of registers may not be able to significantly reduce such false register dependences. We explore the potential of cleanup phases, such as register remapping and copy propagation, at reducing false dependences. We show that innovative implementation and application of these phases to reduce false register dependences not only reduces the size of the phase order search space substantially, but can also improve the quality of code generated by optimizing compilers.Phase Ordering, False Register Dependence.
机译:编译器优化阶段排序是一个长期存在的问题,与嵌入式系统应用程序的性能导向和成本受限领域特别相关。已知优化阶段会相互影响,从而为后续阶段启用和禁用机会。因此,改变应用这些阶段的顺序通常会生成具有不同速度,代码大小和功耗特性的不同输出代码。解决此问题的当前方法主要是开发创新的方法,以有选择地评估广阔的相序搜索空间,从而为每个程序提供良好的(但可能是次优的)表示形式。相比之下,这项工作的目标是研究和确定通用的各个阶段之间优化阶段交互的原因,然后设计技术以消除这些干扰(如果可能)。我们观察到,在许多优化阶段中,错误的寄存器依赖性导致了多个阶段的交互作用。我们进一步发现,取决于优化阶段的实现,即使寄存器的可用性增加,也可能无法显着减少这种错误的寄存器依赖性。我们探索清理阶段的潜力,例如减少寄存器重映射和复制传播,以减少错误依赖性。我们展示了这些阶段的创新实现和应用,以减少对虚假寄存器的依赖,不仅大大减少了相序搜索空间的大小,而且还可以提高通过优化编译器生成的代码的质量。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号