Show simple item record

Alternativní implementace inlineru v GNU Compiler Collection
dc.contributor.advisorHubička, Jan
dc.creatorKáně, Vojtěch
dc.date.accessioned2024-11-29T05:36:15Z
dc.date.available2024-11-29T05:36:15Z
dc.date.issued2024
dc.identifier.urihttp://hdl.handle.net/20.500.11956/193186
dc.description.abstractInlinování je velmi důležitou součástí optimalizačních průchodů současných překla- dačů. Nahrazením volání funkce za její tělo se ušetří režie na provedení volání a získá více kontextu pro ostatní optimalizační průchody. V práci prozkoumáme současný "hladový" inliner v GNU Compiler Collection napsaný před více než dvaceti lety a navrhneme alter- nativní algoritmus vhodný pro použití v paralelním prostředí. Spojíme současný přístup používající prioritní frontu a přístup early inlineru procházejícího funkce v topologickém pořadí (reverse post order) tím, že průchod provedeme opakovaně s postupně se zvyšu- jícími limity. Měření naznačují, že navržený algoritmus je hoden dalšího zkoumání a že nastavením vhodných konstant by se mohl postavit současnému inlineru a přesto být připravený na budoucí paralelizování IPA fáze překladu.cs_CZ
dc.description.abstractInlining is a very important optimization pass of today's compilers. It saves func- tion call overhead and provides more context for other optimization passes by replacing function's call site with its body. We revisit the current "greedy" inliner in GNU Com- piler Collection, which was written more then 20 years ago and propose an alternative algorithm suitable for parallel processing. We combine the current approach of using a priority queue and the approach of the early inliner of traversing the callgraph in re- verse post order by running the RPO traversal multiple times with increasing limits. Our measurements suggest the presented algorithm is worth further research and that prop- erly tuning the constants may put it on a par with the current inliner all while allowing space for future parallelization of the IPA phase.en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectcompiler|inter-procedural optimizationen_US
dc.subjectpřekladač|interprocedurální optimalizacecs_CZ
dc.titleAlternativní implementace inlineru v GNU Compiler Collectionen_US
dc.typebakalářská prácecs_CZ
dcterms.created2024
dcterms.dateAccepted2024-09-06
dc.description.departmentDepartment of Applied Mathematicsen_US
dc.description.departmentKatedra aplikované matematikycs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId272461
dc.title.translatedAlternativní implementace inlineru v GNU Compiler Collectioncs_CZ
dc.contributor.refereeJambor, Martin
thesis.degree.nameBc.
thesis.degree.levelbakalářskécs_CZ
thesis.degree.disciplineComputer Science with specialisation in Foundations of Computer Scienceen_US
thesis.degree.disciplineInformatika se specializací Obecná informatikacs_CZ
thesis.degree.programComputer Scienceen_US
thesis.degree.programInformatikacs_CZ
uk.thesis.typebakalářská prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra aplikované matematikycs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Applied Mathematicsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csInformatika se specializací Obecná informatikacs_CZ
uk.degree-discipline.enComputer Science with specialisation in Foundations of Computer Scienceen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVelmi dobřecs_CZ
thesis.grade.enVery gooden_US
uk.abstract.csInlinování je velmi důležitou součástí optimalizačních průchodů současných překla- dačů. Nahrazením volání funkce za její tělo se ušetří režie na provedení volání a získá více kontextu pro ostatní optimalizační průchody. V práci prozkoumáme současný "hladový" inliner v GNU Compiler Collection napsaný před více než dvaceti lety a navrhneme alter- nativní algoritmus vhodný pro použití v paralelním prostředí. Spojíme současný přístup používající prioritní frontu a přístup early inlineru procházejícího funkce v topologickém pořadí (reverse post order) tím, že průchod provedeme opakovaně s postupně se zvyšu- jícími limity. Měření naznačují, že navržený algoritmus je hoden dalšího zkoumání a že nastavením vhodných konstant by se mohl postavit současnému inlineru a přesto být připravený na budoucí paralelizování IPA fáze překladu.cs_CZ
uk.abstract.enInlining is a very important optimization pass of today's compilers. It saves func- tion call overhead and provides more context for other optimization passes by replacing function's call site with its body. We revisit the current "greedy" inliner in GNU Com- piler Collection, which was written more then 20 years ago and propose an alternative algorithm suitable for parallel processing. We combine the current approach of using a priority queue and the approach of the early inliner of traversing the callgraph in re- verse post order by running the RPO traversal multiple times with increasing limits. Our measurements suggest the presented algorithm is worth further research and that prop- erly tuning the constants may put it on a par with the current inliner all while allowing space for future parallelization of the IPA phase.en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra aplikované matematikycs_CZ
thesis.grade.code2
uk.publication-placePrahacs_CZ
uk.thesis.defenceStatusO


Files in this item

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV