Publication | Open Access
Effective function merging in the SSA form
26
Citations
26
References
2020
Year
Unknown Venue
EngineeringBoolean FunctionCompiler TechnologyComputer ArchitectureEffective Function MergingEvaluation StrategySoftware AnalysisFormal VerificationHardware SecurityParallel ComputingCompilersFunction MergingApproximation TheoryInstruction-level ParallelismDynamic CompilationCompiler SupportComputer EngineeringEvaluationComputer ScienceTheta FunctionOptimizing CompilerCode SizeProgram AnalysisFormal MethodsParallel ProgrammingSingle Function
Function merging is an important optimization for reducing code size. This technique eliminates redundant code across functions by merging them into a single function. While initially limited to identical or trivially similar functions, the most recent approach can identify all merging opportunities in arbitrary pairs of functions. However, this approach has a serious limitation which prevents it from reaching its full potential. Because it cannot handle phi-nodes, the state-of-the-art applies register demotion to eliminate them before applying its core algorithm. While a superficially minor workaround, this has a three-fold negative effect: by artificially lengthening the instruction sequences to be aligned, it hinders the identification of mergeable instruction; it prevents a vast number of functions from being profitably merged; it increases compilation overheads, both in terms of compile-time and memory usage.
| Year | Citations | |
|---|---|---|
Page 1
Page 1