GCC and LLVM - Compiler backends implementation comparison

GCC a LLVM - Porovnání implementací zadních částí překladačů

Editors

Other contributors

Journal Title

Journal ISSN

Volume Title

Publisher

České vysoké učení technické v Praze
Czech Technical University in Prague

Research Projects

Organizational Units

Journal Issue

Abstract

Tato diplomová práce se zabývá problematikou překladu programovacích jazyků do strojového kódu. Zaměřuje se na zadní část překladače a vysvětluje základní pojmy a principy fungování generátoru strojového kódu. Dále podrobněji rozebíra implementace generátorů kódu v překladačích GCC a LLVM. Zejména zkoumá způsob, jakým je dosaženo podpory více cílových architektur v jednom kompilátoru. V praktické části byly projekty GCC a LLVM rozšířeny o generátor kódu pro jednoduchou registrovou architekturu s redukovanou instrukční sadou.

This thesis deals with translation of high-level programming languages into machine code. It focuses mainly on back-end part of the compiler. It explains basic concepts and principles of machine code generator. Further it analyzes in greater detail implementation of code generators in the GCC and LLVM. Particularly examining aspects which enable support of multiple target architectures in a single compiler. In practical part of this thesis GCC and LLVM projects were extended to support code generation for a simple register architecture with a reduced instruction set.

Description

Citation

Endorsement

Review

Supplemented By

Referenced By