A collaborative dependence analysis framework

A collaborative dependence analysis framework
复制标题

协作依赖分析框架

DOI:
10.1109/cgo.2017.7863736
复制
发表时间:
2017
期刊:
2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
影响因子:
--
通讯作者:
David I. August
David I. August
中科院分区:
--
文献类型:
--
作者:
Nick P. Johnson;Jordan Fix;S. Beard;Taewook Oh;T. Jablin;David I. August

文献摘要

被引文献

相似文献

编译器优化通过查询静态分析发现了有关程序行为的事实。但是,很难制定或扩展精确的分析。一些先前的作品用单个算法实现了分析,但是该算法变得更加复杂,因为它的延长以提高精度。其他作品通过实施几种简单的算法来实现模块化,并琐碎地撰写它们以报告其中的最佳结果。这种模块化方法的精度有限,因为它仅采用一种算法来响应一个查询,而在算法之间没有协同作用。本文提出了一个依赖分析算法的框架,以便与这些算法的微不足道组合进行协作和实现精度。使用此框架,开发人员可以通过简单和正交算法的协作来实现复杂分析算法的高度精度,而无需牺牲模块化方法的实现。结果表明,简单分析的协作可以实现高级编译器优化。
Compiler optimizations discover facts about program behavior by querying static analysis. However, developing or extending precise analysis is difficult. Some prior works implement analysis with a single algorithm, but the algorithm becomes more complex as it is extended for greater precision. Other works achieve modularity by implementing several simple algorithms and trivially composing them to report the best result from among them. Such a modular approach has limited precision because it employs only one algorithm in response to one query, without synergy between algorithms. This paper presents a framework for dependence analysis algorithms to collaborate and achieve precision greater than the trivial combination of those algorithms. With this framework, developers can achieve the high precision of complex analysis algorithms through collaboration of simple and orthogonal algorithms, without sacrificing the ease of implementation of the modular approach. Results demonstrate that collaboration of simple analyses enables advanced compiler optimizations.