© 2016

Instruction Selection

Principles, Methods, and Applications

  • First comprehensive treatment of this topic since the 1980s

  • Guides reader towards the extensive research literature

  • Presents an elegant new taxonomy, and points to open problems


Table of contents

  1. Front Matter
    Pages i-xviii
  2. Gabriel Hjort Blindell
    Pages 1-11
  3. Gabriel Hjort Blindell
    Pages 13-29
  4. Gabriel Hjort Blindell
    Pages 31-76
  5. Gabriel Hjort Blindell
    Pages 77-104
  6. Gabriel Hjort Blindell
    Pages 105-119
  7. Gabriel Hjort Blindell
    Pages 121-124
  8. Back Matter
    Pages 125-177

About this book


This book presents a comprehensive, structured, up-to-date survey on instruction selection. The survey is structured according to two dimensions: approaches to instruction selection from the past 45 years are organized and discussed according to their fundamental principles, and according to the characteristics of the supported machine instructions. The fundamental principles are macro expansion, tree covering, DAG covering, and graph covering. The machine instruction characteristics introduced are single-output, multi-output, disjoint-output, inter-block, and interdependent machine instructions. The survey also examines problems that have yet to be addressed by existing approaches. 

The book is suitable for advanced undergraduate students in computer science, graduate students, practitioners, and researchers.


Compilers Constraint-based programming DAG covering Graph covering Instruction selection Machine instructions Macro expansion Tree covering

Authors and affiliations

  1. 1.Computer Systems Lab (CSL)Royal Institute of Technology (KTH)KistaSweden

About the authors

Gabriel Hjort Blindell's research focuses on advanced computer architecture, compiler construction, parallel systems, combinatorial optimization, algorithms, data structures, and complexity. Since June 2012 he has participated in a research project on constraint-based compilation, in particular he is investigating how constraint programming can be used to drive and optimize the instruction selection phase.

Bibliographic information

Industry Sectors
Chemical Manufacturing
IT & Software
Finance, Business & Banking
Energy, Utilities & Environment