An LLVM Back-end for REPLICA : Code Generation for a Multi-core VLIWProcessor with Chaining

University essay from PELAB - Laboratoriet för programmeringsomgivningar; Tekniska högskolan

Author: Daniel Åkesson; [2012]

Keywords: REPLICA; LLVM; PRAM; compilers; MBTAC;

Abstract: REPLICA is a PRAM-NUMA hybrid architecture, with support for instructionlevel parallelism as a VLIW architecture. REPLICA can also chain instructionsso that the output from an earlier instruction can be used as input to a laterinstruction in the same execution step. There are plans in the REPLICA project to develop a new C-based program-ming language, compilers and libraries to speed up development of parallel pro-grams. We have developed a LLVM back-end as a part of the REPLICA projectthat can be used to generate code for the REPLICA architecture. We have alsocreated a simple optimization algorithm to make better use of REPLICAs supportfor instruction level parallelism. Some changes to Clang, LLVMs front-end forC/C++/Objective-C, was also necessary so that we could use assembler in-liningin our REPLICA programs. Using Clang to compile C-code to LLVMs internal representation and LLVMwith our REPLICA back-end to transform LLVMs internal representation intoMBTAC1 assembler.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)