Type-Safe Metaprogramming and Compilation Techniques For Designing Efficient Systems in High-Level Languages
Type-Safe Metaprogramming and Compilation Techniques For Designing Efficient Systems in High-Level Languages
复制标题
用高级语言设计高效系统的类型安全元编程和编译技术
DOI:
10.1145/1040305.1040335
复制
发表时间:
2020
影响因子:
11.1
通讯作者:
L. Parreaux
中科院分区:
文献类型:
--
作者:
L. Parreaux
We present Rhodium, a new language for writing compiler optimizations that can be automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses optimizations using explicit dataflow facts manipulated by local propagation and transformation rules. This new style allows Rhodium optimizations to be mutually recursively defined, to be automatically composed, to be interpreted in both flow-sensitive and -insensitive ways, and to be applied interprocedurally given a separate context-sensitivity strategy, all while retaining soundness. Rhodium also supports infinite analysis domains while guaranteeing termination of analysis. We have implemented a soundness checker for Rhodium and have specified and automatically proven the soundness of all of Cobalt's optimizations plus a variety of optimizations not expressible in Cobalt, including Andersen's points-to analysis, arithmetic-invariant detection, loop-induction-variable strength reduction, and redundant array load elimination.