Chapter

Rewriting Techniques and Applications

Volume 2378 of the series Lecture Notes in Computer Science pp 237-251

Date:

Rewriting Strategies for Instruction Selection

  • Martin BravenboerAffiliated withInstitute of Information and Computing Sciences, Universiteit Utrecht
  • , Eelco VisserAffiliated withInstitute of Information and Computing Sciences, Universiteit Utrecht

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Instruction selection (mapping IR trees to machine instructions) can be expressed by means of rewrite rules. Typically, such sets of rewrite rules are highly ambiguous. Therefore, standard rewriting engines based on fixed, exhaustive strategies are not appropriate for the execution of instruction selection. Code generator generators use special purpose implementations employing dynamic programming. In this paper we show how rewriting strategies for instruction selection can be encoded concisely in Stratego, a language for program transformation based on the paradigm of programmable rewriting strategies. This embedding obviates the need for a language dedicated to code generation, and makes it easy to combine code generation with other optimizations.