Files in this item

FilesDescriptionFormat

application/pdf

application/pdflin-kasampalis-adve-2021-tr.pdf (1MB)
Main articlePDF

Description

Title:A Translation Validation Algorithm for LLVM Register Allocators
Author(s):Lin, Zhengyao; Kasampalis, Theodoros; Adve, Vikram
Subject(s):Translation validation
Register allocation
LLVM
Abstract:Register allocation is a crucial and complex phase of any modern production compiler. In this work, we present a translation validation algorithm that verifies each single instance of register allocation. Our algorithm is external to the compiler and independent of the register allocation algorithm. We support all major register allocation optimizations such as live range splitting, register coalescing, and rematerialization. We developed a prototype of this approach for the production-quality register allocation phase of LLVM. We evaluated this prototype for compiling the source code of SPECint 2006 benchmark, and we were able to verify the register allocation of over 88% of supported functions in the benchmark, using all 4 register allocators available in LLVM 5.0.2.
Issue Date:2021
Genre:Technical Report
Type:Text
Language:English
URI:http://hdl.handle.net/2142/112734
Date Available in IDEALS:2021-11-12


This item appears in the following Collection(s)

Item Statistics