Original title:
Detekce kompletnosti instrukční sady pro generování univerzálního překladače jazyka C
Translated title:
Instruction Set Completness Detection for Retargetable C Compiler Generation
Authors:
Nagy, Michal ; Dolíhal, Luděk (referee) ; Hruška, Tomáš (advisor) Document type: Master’s theses
Year:
2012
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Práce se zabývá problematikou detekce kompletnosti popisu instrukční sady mikroprocesoru pro překladač LLVM, neboli schopností překladače vygenerovat cílový program pro každý validní zdrojový program v příslušném vyšším programovacím jazyce. Na základech teorie regulárních stromových gramatik a několika vědeckých prací, které se touto problematikou též zabývají, je navržen a implementován formální prostředek pro ověření inkluze dvou gramatik. Dále je navržen způsob automatické extrakce obou gramatik z popisu instrukční sady, v důsledku čehož je tento prostředek možné použít pro ověření kompletnosti výběru instrukcí. V kombinaci s ověřením kompletnosti tzv. procesu legalizace překladače LLVM, který výběr instrukcí předchází, by mělo být proveditelné ověření kompletnosti většiny části překladače závislých na popisu cílové architektury.
This thesis concerns the issue of completness detection of instruction set description for the LLVM compiler, or the ability of a compiler to generate target program for every valid source program in the appropriate high-level programming language. On the basis of regular tree grammar theory and several scietific theses that also concern this issue, formal tool for inclusion checking of two grammars. Furthermore a method for automatic extraction of the two grammars from the instruction set description has been devised, as a result of which the tool can be used for checking completeness of instruction selection. In combination with checking completeness of the legalization process of the LLVM compiler, which preceeds the instruction selection, it should be feaseable to check completeness of most compiler parts dependent on the target architecture.
Keywords:
completeness; dynamic checks; instruction selection; legalization; LLVM; TableGen; tree grammar; dynamické kontroly; kompletnost; legalizace; LLVM; stromová gramatika; TableGen; výběr instrukcí
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/52712