Automatically Generating Back Ends for a Portable Assembly Language Using Declarative Machine Descriptions

João Dias, Norman F. Ramsey · 2009

We show how to generate the back end of an optimizing compiler from a formal description of the syntax and semantics of machine instructions. Our generated back ends for x86, ARM, and PowerPC perform as well as their hand-written counterparts. Automatic generation is enabled by two new ideas: a model of machine-level computation that reduces back-end generation to the problem of finding implementations of about a hundred simple, machine-level operations; and an algorithm that finds these implementations by combining machine instructions. 1.

Read the paper · More papers on PaperTik