Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorBodlaender, H. L.
dc.contributor.advisorDijkstra, A.
dc.contributor.authorHeijer, S.K. den
dc.date.accessioned2018-07-19T17:04:27Z
dc.date.available2018-07-19T17:04:27Z
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/29549
dc.description.abstractWhen inlining recursive functions care must be taken to ensure termination of the inliner. The Glasgow Haskell Compiler does this by choosing a loop breaker (which may never be inlined) for each recursion loop in the program. These breakers are currently chosen by a simple heuristic which makes little effort to minimise the number of breaker vertices chosen, even though there are several cases where a smarter choice of of a set of loop breaker vertices can be much smaller. In this paper we apply algorithmic techniques (related to the Directed Feedback Vertex Set and Feedback Arc Set) to determine the minimum size set of breakers necessary to break every loop. Our approach requires significantly fewer loop breakers.
dc.description.sponsorshipUtrecht University
dc.format.extent1679693
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.titleOptimal Loop Breaker Choice for Inlining
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordscompiler, Haskell, GHC, optimisation, inlining, directed blackout feedback vertex set, blackout feedback arc set
dc.subject.courseuuApplied Computing Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record