Original title:
Alias analýza v překladači jazyka C
Translated title:
Alias Analysis in C Compiler
Authors:
Bolvanský, Dávid ; Zachariášová, Marcela (referee) ; Hruška, Tomáš (advisor) Document type: Bachelor's theses
Year:
2018
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Táto práca sa venuje problematike alias analýzy a možnostiam jej vylepšenia v LLVM frameworku. Cieľom tejto práce je zlepšiť jej presnosť, čoho bolo dosiahnuté rozšírením implementácie Andersenovho algoritmu o citlivosť na položky štruktúr. Vysvetlené sú pojmy súvisiace s alias analýzou a je popísaný princíp algoritmov alias analýzy. Predstavený je koncept LLVM frameworku, popísané sú aktuálne implementované algoritmy alias analýzy. Porovnanie týchto algoritmov bolo vykonané z pohľadu ich princípu fungovania, vlastností a obmedzení. Implementácia citlivosti na položky štruktúr bola vyskúšaná na sade programov, ktorými sa testujú prekladače. Bol preskúmaný jej vplyv na rýchlosť prekladu programov a ich výkonnosť. Získané výsledky preukazujú zvýšenie presnosti alias analýzy v LLVM frameworku.
This thesis is dedicated to the problem of alias analysis and possibilities of its improvement in the LLVM framework. The goal of this thesis is to improve the accuracy, which was achieved by extending the existing implementation of Andresen algorithm to be field sensitive. The terms related to alias analysis and algorithms of the alias analysis available in LLVM are explained. These algorithms are compared according to their base idea, features, and limitations. The implementation of the field sensitivity has been tested using compiler test suites. Its impact on program compilation speed and performance has been analyzed. The measured results show an increase in the accuracy of alias analysis in the LLVM framework.
Keywords:
alias analysis; Clang; field; LLVM; optimizations; pointer analysis; pointers; static analysis; structure; alias analýza; analýza ukazovateľov; Clang; LLVM; optimalizácie; položka; statická analýza; ukazovateľ; štruktúra
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/85036