In this project, compiler algorithms for the enhancement of data locality on parallel computer systems are developed. These algorithms are implemented in a compiler for a data parallel extension to C targeted to MIMD systems. Enhancements to data locality improve the run time performance of programs by reducing the need for communication and/or synchronization. This work extends compiler design and implementation work on data parallel extensions to FORTRAN (e.g., FORTRAN 90 with extensions) targeted to SIMD systems. Both language extensions and compiler optimizations are investigated. The language extensions are aimed at improving the expressiveness of data parallelism. Generalizations of data locality representations and algorithms to a wider class of architectures and languages are designed and implemented. Automatic techniques for localizing data are investigated with programmer directives.