[braun11wir] | Matthias Braun, Sebastian Buchwald, Andreas Zwinkau, Firm---A Graph-Based Intermediate Representation, Karlsruhe Institute of Technology, Technical Report, Karlsruhe, Nr. 35, 2011.
|
Abstract
We present our compiler intermediate representation Firm. Programs
are always in SSA-form enabling a representation as graphs. We argue
that this naturally encodes context information simplifying many
analyses and optimizations. Instructions are connected by dependency
edges relaxing the total to a partial order inside a basic block.
For example alias analysis results can be directly encoded in the
graph structure.
The paper gives an overview of the representation and focuses on its
construction. We present a simple construction algorithm which does
not depend on dominance frontiers or a dominance tree. We prove that
for reducible programs it produces a program in pruned and minimal
SSA-form. The algorithm works incrementally so optimizations like
copy propagation and constant folding can be performed on-the-fly
during the construction.
Download
BibTeX
Authors at the institute
Projects