Translating Out of Static Single Assignment Form

@inproceedings{Sreedhar1999TranslatingOO,
  title={Translating Out of Static Single Assignment Form},
  author={Vugranam C. Sreedhar and Roy Dz-Ching Ju and David M. Gillies and Vatsa Santhanam},
  booktitle={Sensors Applications Symposium},
  year={1999}
}
Programs represented in Static Single Assignment (SSA) form contain phi instructions (or functions) whose operational semantics are to merge values coming from distinct control flow paths. [] Key Method The second method uses an interference graph to guide copy placement. The third method uses both data flow liveness sets and an interference graph to guide copy placement. We also present a new SSA-based coalescing method that can selectively remove redundant copy instructions with interfering operands. Our…

Optimizing translation out of SSA using renaming constraints

This work proposes a method to reduce the /spl Phi/-related copies during the out of SSA translation, thanks to a pinning-based coalescing algorithm that is aware of renaming constraints.

Optimizing the translation out-of-SSA with renaming constraints

This paper proposes an extension of the algorithm of Leung and George to minimize the -related copies during the out-of-SSA translation to present a renaming-constraints aware and pinning-based coalescing algorithm.

Parallel copy motion

Experiments show that an SSA-based register allocator can be applied broadly now, even for procedures with non-splittable edges: while those procedures could not be compiled before, with parallel copy motion, all moves could be pushed out of such edges.

Comparison and evaluation of back-translation algorithms for static single assignment forms

Revisiting Out-of-SSA Translation for Correctness, Code Quality and Efficiency

A new approach based on coalescing and a precise view of interferences, in which correctness and optimizations are separated is proposed, which is provably correct and simpler to implement, with no patches or particular cases as in previous solutions, while reducing the number of generated copies.

Future value based single assignment program representations and optimizations

This dissertation explores the domain of single assignment beyond SSA, and presents two novel program representations: future value concept, the designing base of both FGSA and RFPF, which permits a consumer instruction to be encountered before the producer of its source operand in a control flow setting.

Title omitted for double-blind reasons

This paper presents a new back-end optimization that is to move copy instructions in a register-allocated code from a program point, possibly an edge, to another and permutes register assignments so that a copy can "traverse" all instructions of a basic block, except those with conflicting register constraints.

Single Assignment Compiler, Single Assignment Architecture: Future Gated Single Assignment Form*; Static Single Assignment with Congruence Classes

The Future Gated Single Assignment Form (FGSA) is presented, a new static single assignment form which can be used by an optimizing compiler as its internal representation and the micro-architecture as its instruction set, and is efficiently computable by using a series of T1/T2 transformations.

SSA Back-Translation: Faster Results with Edge Splitting and Post Optimization

This thesis presents a modification that can be applied to the methods of Briggs and Sreedhar that splits edges between source and target by inserting phiblocks where the algorithms of SreedHar and Briggs emit copy operations to replace phi functions.

Interprocedural Static Single Assignment Form

This dissertation proposes new techniques to construct and integrate ISSA into modern compilers and evaluates the benefit of using ISSA form and presents an ISSA-based interprocedural induction variable analysis.
...

References

SHOWING 1-10 OF 11 REFERENCES

Practical improvements to the construction and destruction of static single assignment form

This paper presents a meta-modelling system that automates the very labor-intensive and therefore time-heavy and expensive and therefore expensive and expensive process of computer programming called “hacking”.

Static single assignment form for machine code

By resolving all mismatches between the two representations in separate phases, this work is able to utilize existing SSA algorithms unaltered to perform machine code optimizations.

Efficiently computing static single assignment form and the control dependence graph

New algorithms that efficiently compute static single assignment form and control dependence graph data structures for arbitrary control flow graphs are presented and it is given that all of these data structures are usually linear in the size of the original program.

Global code motion/global value numbering

This paper argues that optimizing compilers should treat the machine-independent optimizations (e.g., conditional constant propagation, global value numbering) and code motion issues separately, which allows stronger optimizations using simpler algorithms.

A new algorithm for partial redundancy elimination based on SSA form

A new algorithm, SSAPRE, for performing partial redundancy elimination based entirely on SSA form is presented. It achieves optimal code motion similar to lazy code motion [KRS94a, DS93], but is

Computing phi-nodes in linear time using DJ graphs

An algorithm for computing -nodes that runs in linear time is presented, which allows a single Sparse Evaluation Graph (SEG) in time O(E), based on which a wide range of data ow problems raised in optimizing compilers can be solved.

A Practical Approach to the Symbolic Debugging of Parallelized Code

Results of experimentation indicate the enlargement of the name space is reasonable and that virtually all non-current values are reportable in parallelized code.

Advanced Compiler Design and Implementation

Advanced Compiler Design and Implementation by Steven Muchnick Preface 1 Introduction to Advanced Topics 1.1 Review of Compiler Structure 1.2 Advanced Issues in Elementary Topics 1.3 The Importance

Constant propagation with conditional branches

The use of the algorithms presented here can result in smaller and faster compiled programs.

Efficient accommodation of may-alias information in SSA form

We present an algorithm for incrementally including may-alias information into Static Single Assignment form by computing a sequence of increasingly precise (and correspondingly larger) partial SSA