The Wayback Machine - https://web.archive.org/web/20040812030043/http://www-acaps.cs.mcgill.ca:80/info/McCAT/McCAT.html

McCAT Compiler

McGill Compiler/Architecture Testbed


Introduction

The efficient exploitation of parallelism is a major challenge in the design of next-generation high-performance compilers. McCAT a compiler/architecture testbed project provides a unified approach to the development and performance analysis of compilation techniques and high-performance achritectural features. The core of the project is a C compiler equipped with many analyses and transformations at all levels of the compilation process. The McCAT compiler can be used in as a source to source translator, as a complete code generating compiler for several architectures (DLX, Sparc at the moment), or produce LAST which is the low level representation used in McCAT which can be interpreted.

The uses of the McCAT compiler expand as new projects start in the ACAPS research group. As part of the EARTH Project the McCAT compiler is being extended to automatically generate Threaded C for parallel execution of C programs.


Further Information

Because McCAT compiles C here are some links that deal with intricacies of C


Publications

The documents contained in this list are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are retained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. Unless explicitly noted to the contrary, these works may not be reposted without the explicit permission of the copyright holder.

LCPC93:
L. Hendren, C. Donawa, M. Emami, G. Gao, Justiani, and B. Sridharan, "Designing the McCAT Compiler Based on a Family of Structured Intermediate Representations," in Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing (Uptal Banerjee, David Gelernter, Alex Nicolau, and David Padua, eds.), no. 757 in Lecture Notes in Computer Science, New Haven, Connecticut, pp. 406-420, Springer-Verlag, August 3-5, 1992. Published in 1993.
CC94:
Justiani and Laurie J. Hendren, "Supporting Array Dependence Testing for an Optimizing/Parallelizing C Compiler," in Proceedings of the 5th International Conference on Compiler Construction, CC '94 (Peter A. Fritzson, ed.), no. 786 in Lecture Notes in Computer Science, Edinburgh, Scotland, pp. 309-323, Springer-Verlag, April 7-9, 1994.
PLDI94:
Maryam Emami, Rakesh Ghiya, and Laurie J. Hendren, "Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers," in Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, Orlando, Florida, pp. 242-256, June 20-24, 1994. SIGPLAN Notices, 29(6), June 1994.
ICCL94:
Ana M. Erosa and Laurie J. Hendren, "Taming Control Flow: A Structured Approach to Eliminating Goto Statements," in Proceedings of the 1994 International Conference on Computer Languages, Toulouse, France, pp. 229-240, IEEE Computer Society Press, May 16-19, 1994.
LCPC95:
Rakesh Ghiya and Laurie J. Hendren, "Connection Analysis: A practical interprocedural heap analysis for C", In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, August 1995. To appear as LNCS.
POPL96:
Rakesh Ghiya and Laurie J. Hendren, "Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C," in Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg, Florida, pp. 1-15, January 21-24, 1996.
PACT97a:
Yingchun Zhu and Laurie J. Hendren, "Locality Analysis for Parallel C Programs," in Proceedings of 1997 Conference on Parallel Architectures and Compilation Techniques, San Francisco, California, pp. 1-12, Novemeber 12-14, 1997.
PACT97b:
Xinan Tang, Rakesh Ghiya, Laurie J. Hendren, and Guang R. Gao, "Heap Analysis and Optimizations for Threaded Programs," in Proceedings of 1997 Conference on Parallel Architectures and Compilation Techniques, San Francisco, California, pp. 13-25, Novemeber 12-14, 1997.
POPL98:
Rakesh Ghiya and Laurie J. Hendren, "Putting Pointer Analysis to Work," To appear in Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California, January 19-21, 1998.

McCAT People

Active McCAT People

McCAT Alumni


Back to ACAPS home page.
ACAPS Lab / mcadmin@acaps.cs.mcgill.ca
(Christopher Lapkowski)
February 1995