Integrating modern parallel techniques in the Tiger compiler

From LRDE

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Abstract

Tiger is a language designed as a reference for pedagogical compiler writing. Our C++ implementation of a Tiger compiler takes advantage of well-established practices in program transformation tools. The multi-core era has made parallelization a requirement in any computer science curriculum. As a support for teaching, our compiler has to evolve and make use of modern parallel techniques. This report introduces a solution to distribute work in a task-based concurrency model using Intel Threading Building Blocks (TBB) to decouple the programming from hardware specificities.