Litcius/Paper detail

HyFM: function merging for free

Rodrigo C. O. Rocha, Pavlos Petoumenos, Zheng Wang, Murray Cole, Kim Hazelwood, Hugh Leather

202121 citationsDOIOpen Access PDF

Abstract

Function merging is an important optimization for reducing code size. It merges multiple functions into a single one, eliminating duplicate code among them. The existing state-of-the-art relies on a well-known sequence alignment algorithm to identify duplicate code across whole functions. However, this algorithm is quadratic in time and space on the number of instructions. This leads to very high time overheads and prohibitive levels of memory usage even for medium-sized benchmarks. For larger programs, it becomes impractical.

Topics & Concepts

Computer scienceCode (set theory)Sequence (biology)Function (biology)AlgorithmParallel computingQuadratic equationState (computer science)Theoretical computer scienceProgramming languageMathematicsBiologyGeneticsEvolutionary biologyGeometrySet (abstract data type)Parallel Computing and Optimization TechniquesAdvanced Data Storage TechnologiesSoftware Engineering Research