HOME | DEUTSCH | IMPRESSUM | KIT

Technical Report: Firm---A Graph-Based Intermediate Representation

[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

  [PDF]   [Link]

BibTeX

Authors at the institute

Former Staff Member
Dr.-Ing. Andreas Zwinkau
Dipl.-Inform. Matthias Braun
Dipl.-Inform. Sebastian Buchwald

Projects

Project
libFirm