...
首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Translation Validation of Loop and Arithmetic Transformations in the Presence of Recurrences
【24h】

Translation Validation of Loop and Arithmetic Transformations in the Presence of Recurrences

机译:存在时循环和算术变换的翻译验证

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

摘要

Compiler optimization of array-intensive programs involves extensive application of loop transformations and arithmetic transformations. Hence, translation validation of array-intensive programs requires manipulation of intervals of integers (representing domains of array indices) and relations over such intervals to account for loop transformations and simplification of arithmetic expressions to handle arithmetic transformations. A major obstacle for verification of such programs is posed by the presence of recurrences, whereby an element of an array gets defined in a statement S inside a loop in terms of some other element(s) of the same array which have been previously defined through the same statement S. Recurrences lead to cycles in the data-dependence graph of a program which make dependence analyses and simplifications (through closed-form representations) of the data transformations difficult. Another technique which works better for recurrences does not handle arithmetic transformations. In this work, array data-dependence graphs (ADDGs) are used to represent both the original and the optimized versions of the program and a validation scheme is proposed where the cycles due to recurrences in the ADDGs are suitably abstracted as acyclic subgraphs. Thus, this work provides a unified equivalence checking framework to handle loop and arithmetic transformations along with most of the recurrences - this combination of features had not been achieved by a single verification technique earlier.
机译:数组密集型程序的编译器优化涉及循环转换和算术转换的广泛应用。因此,对数组密集型程序的翻译验证需要对整数间隔(表示数组索引的域)进行操作,并需要在这种间隔上进行关联,以解决循环转换和简化算术表达式以处理算术转换的问题。递归的存在构成了验证此类程序的主要障碍,由此,循环中的语句S中的数组元素被定义为先前通过以下方式定义的同一数组的其他元素:相同的陈述S.递归导致程序的数据依赖图中的循环,这使数据转换的依赖分析和简化(通过封闭形式表示)变得困难。另一种对递归效果更好的技术不能处理算术转换。在这项工作中,使用数组数据依赖图(ADDG)来表示程序的原始版本和优化版本,并提出了一种验证方案,其中将由于ADDG中的重复发生而引起的循环适当地抽象为非循环子图。因此,这项工作提供了一个统一的等价性检查框架来处理循环和算术转换以及大多数重复发生-这种功能的组合以前还没有通过单一的验证技术实现。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号