Return to search

An LLVM Back-end for REPLICA : Code Generation for a Multi-core VLIWProcessor with Chaining / Ett LLVM Back-end för REPLICA : Kodgenerering för en Flerkärning VLIW Processor med Kedjade Instruktioner

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. / REPLICA är en VLIW liknande PRAM-NUMA arkitektur, med möjlighet för attkedja ihop instruktioner så att resultat från tidigare instruktioner kan användassom indata till nästa instruktion i samma exekveringssteg. Inom REPLICA projetet finns planer på att utecklar ett nytt C-baserat pro-grammeringsspråk, kompilatorer och bibliotek för att snabbba upp utvecklingen avparallella program. Som en del av REPLICA projektet har vi utvecklat ett kompi-lator back-end för LLVM som kan användas för att generera kod till REPLICA. Vihar även utvecklat en enklare optimerings algoritm för att bättre utnyttja REPLI-CAs förmåga för instruktions parallelisering. Vi har även gjort ändringar i Clang,LLVMs front-end för C/C++/Objective-C, så att vi kan använda inline assembleri REPLICA program. Med Clang kan man kompilera C-kod till LLVMs interna representation somi sin tur genom LLVM och REPLICA back-end kan omvandlas till MBTAC3 as-sembler.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-77405
Date January 2012
CreatorsÅkesson, Daniel
PublisherLinköpings universitet, PELAB - Laboratoriet för programmeringsomgivningar, Linköpings universitet, Tekniska högskolan
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0227 seconds