last updated:Feb 22, 2002
The objective of the Open Research Compiler (ORC) project is to provide a leading open source Itanium™ Processor Family (IA-64) compiler infrastructure to the compiler and architecture research community. This project is a collaboration between Intel Corp. and Chinese Academy of Sciences. We would like to provide a common infrastructure to encourage and facilitate compiler and architecture research. In the design of ORC, we stress on the following aspects: compatibility to other open source tools, robustness of the entire infrastructure, flexibility and modularity for quick prototyping of novel ideas, and leading performance among Itanium™ processor family open source compilers. We would like to invite researchers to explore all aspects of compiler and architecture research on ORC, e.g. performance-driven optimizations, thread-level parallelism, co-design of software and hardware features, power management, design and implementation of type-safe languages, co-design of static and dynamic compilation, optimizations for memory hierarchies, etc.
To best leverage existing resources and make timely deliverables, ORC is based on the open source Pro64 compiler hosted on Linux. Pro64 includes a comprehensive set of components: front-ends for C/C++ and Fortran 90, inter-procedural analysis and optimizations, loop-nest optimizations, scalar global optimizations, and code generation. It incorporates many state-of-the-art technologies. In the first set of deliverables, ORC has focused its efforts to largely redesign the code generation mainly from two aspects: new optimizations to better utilize Itanium™ architectural features and new features to facilitate future research. The new Itanium™ optimizations include global instruction scheduler integrated with a finite-state-automaton-based resource management, control and data speculation with recovery code generation, if-conversation, and predicate analysis. The research-enabling features include region-based compilation, a rich set of profiling feedback and associated support, and parameterized machine descriptions. The details of ORC features and tools are in the ORC Micro34 tutorial.
In the subsequent efforts of ORC, the entire compiler will be significantly enhanced and additional features will be added to take full advantage of the Itanium™ processor family platform. With the performance of ORC already outperforming that of Pro64, the drive to performance as well as robustness and flexibility will steer the focus of future design and development. The ORC team is excited to contribute this compiler infrastructure to the research community and would like to collaborate with researchers on advanced research.