【24h】

Merging Head and Tail Duplication for Convergent Hyperblock Formation

机译:合并头尾复制以形成收敛的超块

获取原文

摘要

VLIW and EDGE (Explicit Data Graph Execution) ar- chitectures rely on compilers to form high-quality hyper- blocks for good performance. These compilers typically perform hyperblock formation, loop unrolling, and scalar optimizations in a fixed order. This approach limits the compiler's ability to exploit or correct interactions among these phases. EDGE architectures exacerbate this problem by imposing structural constraints on hyperblocks, such as instruction count and instruction composition. This paper presents convergent hyperblock formation, which iteratively applies if-conversion, peeling, unrolling, and scalar optimizations until converging on hyperblocks that are as close as possible to the structural constraints. To perform peeling and unrolling, convergent hyperblock formation generalizes tail duplication, which removes side entrances to acyclic traces, to remove back edges into cyclic traces using head duplication. Simulation results for an EDGE architecture show that convergent hyperblock formation improves code quality over discrete-phase ap- proaches with heuristics for VLIW and EDGE. This algo- rithm offers a solution to hyperblock phase ordering prob- lems and can be configured to implement a wide range of policies.
机译:VLIW和EDGE(显式数据图执行)体系结构依靠编译器来形成高质量的超块,以实现良好的性能。这些编译器通常以固定顺序执行超块形成,循环展开和标量优化。这种方法限制了编译器利用或纠正这些阶段之间的交互的能力。 EDGE体系结构通过在超级块上施加结构约束(例如指令计数和指令组成)而加剧了这一问题。本文介绍了会聚超块的形成,它迭代地应用if-conversion,剥离,展开和标量优化,直到会聚在尽可能靠近结构约束的超块上。为了执行剥离和展开,会聚的超块形成将尾部重复生成广义化,从而消除无环迹线的侧面入口,从而使用头部复制将后边缘去除为循环迹线。 EDGE架构的仿真结果表明,采用启发式的VLIW和EDGE,收敛的超块形成比离散相位的方法提高了代码质量。该算法为超块相序问题提供了解决方案,并且可以配置为实施各种策略。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号