Compiler Back-End Research at Institut für Computersprachen

Our emphasis in this area is on tree-parsing code selection, low-effort code-generation and compilation methods for exploiting instruction-level and SIMD parallelism.



Tree-Parsing Code Selection

On-Demand Tree-Parsing Automata
(Anton Ertl, David Gregg, Kevin Casey, Jakob Sievers). Paper (PLDI '06) and some data used in it. Erlang Implementation and lcc lburg extension.
Optimization During Tree-Parsing Code Selection
(Anton Ertl). Talk (Dagstuhl Seminar on Code Optimization, 2000).
Optimal code selection in DAGs
(Anton Ertl). Paper (POPL '99) and Package.
List of projects using tree-parsing code selection
(Florian Brandner, Anton Ertl).

Instruction-Level Parallelism

Optimal Global Instruction Scheduling with Unlimited Resources
(Anton Ertl, David Gregg, Andreas Krall). Paper (CC'94).
Repairing: Removing antidependences without increasing register pressure
(Anton Ertl, Andi Krall). Paper (CC '96).
Reconciling register allocation and instruction scheduling
(Wolfgang Ambrosch, Anton Ertl, Felix Beer, Andi Krall). Paper (PLSA'94).
Handling structural hazards in instruction scheduling
(Anton Ertl, Andi Krall). Paper (CC'92).
Optimal instruction scheduling
using constraint logic programming (Anton Ertl, Andi Krall). Paper (PLILP'91).


Retargeting JIT compilers by using C-compiler generated executable code
(Anton Ertl, David Gregg). Paper (PACT '04)
Code generation for stack machines
(Martin Maierhofer, Anton Ertl). Diplomarbeit (in German) and papers (CC '98 and Forth-Tagung '97).
Code replication for improving profile-driven branch prediction
(Andi Krall). Abstract and Paper (SIGPLAN PLDI'94).
Comparison of graph colouring register allocation algorithms
(Wolfgang Ambrosch). Diplomarbeit.
Forth native code generation.
(Anton Ertl, Christian Pirker). Paper (EuroForth'92); Diplomarbeit (in German); Ph.D. Thesis chapter; a paper on the basic block part, with results (EuroForth'96); the paper on the internal organization of the compiler (EuroForth '97) may also be interesting to people not interested in Forth. Status report. The FWF (Austrian Science Foundation) supported this work (project number P11231).
Bibtex entries for our papers (including abstracts) can be found here. And our FODOK-entry is there (in German).

Links to related stuff