A LLVM based compiler for COFFEE

Guoqing Zhang, Tapani Ahonen · 2013

LLVM has gained its popularity from both industrial side and academic side due to its well-defined architecture and good support for parallel programming. The purpose of this paper is to explain essential concepts which must be understood by complier developers in order to carry on the implementation of LLVM based compiler and also share experiences that we've gained during the implementation of our own LLVM compiler. For developers who have a working GCC compiler at hand, we propose a methodology to help them verify the new LLVM compiler by using the output of existing GCC compiler as reference. The COFFEE core (A Core For FrEE) is the hardware we are targeting, which supports both integer operations and single precision floating point operations. The paper will illustrate how the LLVM based compiler for the COFFEE core is implemented in both front end and back end.

Read the paper · More papers on PaperTik