Název:
Generátor kódu s vyměnitelnou cílovou architekturou
Překlad názvu:
A retargetable code-generator
Autoři:
Zouhar, Jan ; Král, Jaroslav (oponent) ; Bednárek, David (vedoucí práce) Typ dokumentu: Diplomové práce
Rok:
2006
Jazyk:
cze
Abstrakt: [cze][eng] Práce se zabývá návrhem backendu pro kompilátor jazyka C++ s podporou generování kódu pro více cílových architektur. Backend je rozdělen na dvě části: systém popisu cílové architektury a generátor kódu. Popis cílové architektury je založen na jazyku XML. Ze vstupního XML souboru jsou pomocí XSL šablon vygenerovány C++ třídy reprezentující charakteristiky a vlastnosti architektury (instrukce, podporované datové typy, registry, atd). Tyto třídy používá generátor kódu jako zdroj informaí o cílové architektuře. Generátor kódu je na architektuře nezávislý. Hlavní fáze jsou: výběr instrukcí, plánování instrukcí, alokace registrů, generování spillkódu. Výstupem je asemblerový zdrojový kód.This work is focusing on a retargetable backend design for a C++ compiler. The backend is composed of two parts: a target architecture description and a code-generator. The architecture description is based on the XML language. A source XML le is an input for XSL templates that generate C++ classes with the architecture's characteristics such as instructions, supported data types, registers, etc. These classes are used by the code generator as a source of information about the target architecture. The code-generator is architecture-independent. The main phases are: instruction selection, instruction scheduling, register allocation, spill-code generation. The generated output is an assembly source code.