首页> 外文学位 >Eliminating scope and selection restrictions in compiler optimization.
【24h】

Eliminating scope and selection restrictions in compiler optimization.

机译:在编译器优化中消除范围和选择限制。

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

摘要

To meet the challenges presented by the performance requirements of modern architectures, compilers have been augmented with a rich set of aggressive optimizing transformations. However, the overall compilation model within which these transformations operate has remained fundamentally unchanged. This model imposes restrictions on these transformations' application, limiting their effectiveness.; First, procedure-based compilation limits code transformations within a single procedure's boundaries, which may not present an ideal optimization scope. Although aggressive inlining and interprocedural optimization can alleviate this problem, code growth and compile time considerations limit their applicability.; Second, by applying a uniform optimization process on all codes, compilers cannot meet the particular optimization needs of each code segment. Although the optimization process is tailored by heuristics that attempt to a priori judge the effect of each transformation on final code quality, the unpredictability of modern optimization routines and the complexity of the target architectures severely limit the accuracy of such predictions. This thesis focuses on removing these restrictions through two novel compilation framework modifications, Procedure Boundary Elimination (PBE) and Optimization-Space Exploration (OSE).; PBE forms compilation units independent of the original procedures. This is achieved by unifying the entire application into a whole-program control-flow graph, allowing the compiler to repartition this graph into free-form regions, making analysis and optimization routines able to operate on these generalized compilation units. Targeted code duplication techniques can then recover the performance benefits of inlining while limiting code growth. Thus PBE offers a superset of the benefits of inlining and interprocedural optimization, while avoiding both excessive code growth and overly long compile times.; OSE, on the other hand, explores many optimization options for each code segment and selects the best one a posteriori. OSE trims the space of options explored through limited use of heuristics, further limits the search space during compiler tuning, and exploits feedback to prune the remaining optimization configurations at compile time. The resulting optimization outcomes are compared through a fast and effective static performance estimator. As a result, OSE is the first iterative compilation technique fast enough and general enough for general-purpose compilation.
机译:为了满足现代体系结构的性能要求所带来的挑战,编译器已经增加了丰富的,积极的优化转换集。但是,用于这些转换的总体编译模型从根本上保持不变。该模型对这些转换的应用施加了限制,从而限制了其有效性。首先,基于过程的编译将代码转换限制在单个过程的范围内,这可能不会提供理想的优化范围。尽管积极的内联和过程间优化可以缓解此问题,但是代码增长和编译时间的考虑限制了它们的适用性。其次,通过对所有代码应用统一的优化过程,编译器无法满足每个代码段的特定优化需求。尽管优化过程是通过试探法来量身定制的,这些试探法试图事先判断每个转换对最终代码质量的影响,但是现代优化例程的不可预测性和目标体系结构的复杂性严重限制了此类预测的准确性。本文的重点是通过两种新颖的编译框架修改(过程边界消除(PBE)和优化空间探索(OSE))消除这些限制。 PBE形成独立于原始程序的编译单元。这是通过将整个应用程序统一为一个完整程序的控制流图来实现的,允许编译器将该图重新划分为自由格式的区域,从而使分析和优化例程能够在这些通用的编译单元上运行。然后,目标代码复制技术可以在限制代码增长的同时恢复内联的性能优势。因此,PBE提供了内联和过程间优化的优点的超集,同时避免了过多的代码增长和过长的编译时间。另一方面,OSE为每个代码段探索了许多优化选项,并选择了后代中的最佳选择。 OSE修剪了通过有限地使用启发式方法探索的选项的空间,进一步限制了编译器调整期间的搜索空间,并利用反馈在编译时修剪剩余的优化配置。通过快速有效的静态性能估算器比较最终的优化结果。结果,OSE是第一个足够快且足够通用的迭代编译技术,可用于通用编译。

著录项

  • 作者

    Triantafyllis, Spyridon.;

  • 作者单位

    Princeton University.;

  • 授予单位 Princeton University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2006
  • 页码 109 p.
  • 总页数 109
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号