Microsoft is building a next-generation compiler infrastructure that will be the basis for Microsoft's product compilers and other programming tools and a research platform as well. This project, code-named Phoenix, is a joint effort between the Developer Platforms Division and Microsoft Research. The general idea is to build a set of compiler building blocks that are unified using a common intermediate representation. The blocks will be composed to derive various compiler configurations and to support programming tools. The challenge is to span a range of input languages, target architectures, compiler configurations, and to produce a useful research platform. We have assembled a team with experience in these different areas. In this talk, I'll give a high-level overview of the project, discussing goals, input languages, target architectures, compilation models, ideas for making it available as a research platform, and progress to date. The intermediate representation is still a work-in-progress, so I will only be giving a general overview of it. I will also discuss some research topics that my group plans to investigate using Phoenix as a research platform.
Host: Bob Harper
Appointments: Debbie Cavlovich
Principles
of Programming Seminars