Abstract
Xavier Leroy, Director of Research at INRIA, presented the compilation of high-level programs into machine code. He detailed the various stages: syntactic analysis, type analysis, data allocation, memory allocation, stack execution mechanisms, register allocation, optimization and code generation. He showed that optimizing a program often required speculating to compensate for the slowness of memories, unfolding loops and reordering the resulting expanded code to pre-load data before it was actually needed. Finally, he demonstrated the possibility of writing mathematically correct compilers, a feat which his group was the first to achieve and which may have considerable practical impact in the future.