Tree SSA A New Optimization Infrastructure for GCC
نویسنده
چکیده
Tree SSA is a new optimization framework based on the Static Single Assignment (SSA) form that operates on GCC’s tree representation. Tree SSA is designed to be both language and target independent and allow highlevel analyses and transformations that are difficult or impossible to implement with RTL. One of the main goals of the project is to produce an analysis and optimization infrastructure based on proven algorithms and techniques available in the literature. In this paper we describe the design and implementation of the Tree SSA framework, provide preliminary results and discuss possible applications and future work.
منابع مشابه
Tree SSA – A New High-Level Optimization Framework for the GNU Compiler Collection∗
In this paper we introduce Tree SSA, a new optimization framework for the GNU Compiler Collection (GCC) based on the Static Single Assignment form. The paper provides a brief historical perspective on GCC’s development, the rationale behind the new framework and its potential applications. We will also discuss some of the analyses and optimizations that are being designed and implemented on top...
متن کاملAutovectorization in GCC
Vectorization is an optimization technique that has traditionally targeted vector processors. The importance of this optimization has increased in recent years with the introduction of SIMD (single instruction multiple data) extensions to general purpose processors, and with the growing significance of applications that can benefit from this functionality. With the adoption of the new Tree SSA ...
متن کاملThe New Framework for Loop Nest Optimization in GCC: from Prototyping to Evaluation
This paper presents a practical prototyping tool for SSA transformations based on PROLOG, and a case study of its applicability using the New Framework for Loop Nest Optimization of the GNU Compiler Collection (GCC). Using this approach, we implemented an induction variable analysis in GCC and performed several experiments for assessing different issues: performance of the generated code, effec...
متن کاملEfficiently Building the Gated Single Assignment Form in Codes with Pointers in Modern Optimizing Compilers
Understanding program behavior is at the foundation of program optimization. Techniques for automatic recognition of program constructs characterize the behavior of code fragments, providing compilers with valuable information to guide code optimizations. The XARK compiler framework provides a complete, robust and extensible solution to the automatic recognition problem that was shown to be eff...
متن کاملDraft Version Denotational Semantics for SSA Conversion
We present the first formal specification of the SSA form, an intermediate code representation language used in most modern compilers such as GCC or Intel CC, and of its conversion process from imperative languages. More specifically, we provide (1) a denotational semantics of the SSA, the Static Single Assignment form, (2) a collecting denotational semantics for a Turing-complete imperative la...
متن کامل