David Gregg

I have moved to Trinity College Dublin where my new homepage can be found. This webpage is purely for archive purposes.


I am a PhD student at the Technische Univesität Wien where I am working on global instruction scheduling for VLIW and other EPIC machines. I work primarily on software pipelining loops containing if statements.

The project takes a two prong approach to multiple path speculation. First, we are looking at the best approaches to scheduling general DAG shaped regions of code. Our work includes looking at using profile directed feedback for probability based scheduling; heuristics for calculating height in the presence of multiple paths; avoiding unnecessary speculation; the effects on instruction and data cache of multiple path speculation; and reducing unnecessary code growth.

The second part of our work deals with software pipelining loops containing multiple paths. We use software pipelining because it creates much less code growth than loop unrolling. We are working on a software pipelining algorithm that is heavily influenced by our work on acyclic scheduling.

The project is funded by the Austrian Science Foundation (FWF). The experimental compiler and machine simulator we are using is the Chameleon system from IBM's VLIW research group.

A list of my publications can be found here.

Research Activities

In March 2000, I presented a paper on my work at the CC 2000 International Conference on Compiler Construction. The paper deals with my software pipelining algorithm -- Iteration Preselection.

I spent October 1999 working with the Advanced Ananlysis and Code Optimization (A3) group at the INRIA research institute near Paris. The A3 group specialises in analysis and optimisation for ILP machines. During my stay, I presented a talk on my work. The slides for this talk can be found here.

In April 1999 I presented a talk on my work at the Seminar on Instruction-Level Parallelism and Parallelizing Compilation ( 99161). This seminar took place at the Schloss Dagstuhl International Conference and Research Centre for Computer Science.


I lecture on Code Generation at the Technische Universität Wien. The course concentrates on compiling for ILP machines, and takes place in the Summer semester.

Other stuff...

My favorite newspaper is The Irish Times
Computer industry gossip and rumours at The Register
The annual Halloween Punkin Chunk competition
American - Viennese Phrase Book

David Gregg
(+431) 58801-58530, FAX (+431) 58801-18598

Institut für Computersprachen E185/1
Technische Universität Wien
Argentinierstraße 8/ 4
A-1040 Wien
Austria Europe