Title :
A LLVM based compiler for COFFEE
Author :
Guoqing Zhang ; Ahonen, Tapani
Author_Institution :
Dept. of Electron. & Commun. Eng., Tampere Univ. of Technol., Tampere, Finland
Abstract :
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.
Keywords :
floating point arithmetic; parallel programming; parallelising compilers; COFFEE core; GCC compiler; LLVM compiler; integer operations; parallel programming; single precision floating point operations; Encoding; Hardware; Law; Optimization; Program processors; Registers; COFFEE; Clang; Compiler; GCC; LLVM;
Conference_Titel :
Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC), 2013 IEEE 16th International Symposium on
Conference_Location :
Paderborn
DOI :
10.1109/ISORC.2013.6913221