Skip to main content

Instruction Code Selection

  • Chapter
  • First Online:
SSA-based Compiler Design

Abstract

In this chapter, we introduce how SSA form can be used for instruction selection. Instruction selection translates a machine-independent intermediate code representation into a low-level intermediate representation or into machine code. Classical techniques specialize for specific target architectures and limit the scope to statement level. In this chapter, we present an optimal technique for intra-procedural instruction selection that uses partitioned Boolean quadratic optimization. The presented approach goes beyond limitations such as instruction selection expressed as trees and permits complex acyclic graph patterns in order to find the most suitable complex instructions in an instruction set. Such instructions can have multiple inputs and results at the same time.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    We consider its data-based representation here, see Chap. 14.

References

  1. Ebner, D., et al. (2008). Generalized instruction selection using SSA-graphs. Proceedings of the International Conference on Languages, Compilers, and Tools for Embedded Systems. LCTES ’08 (pp. 31–40).

    Google Scholar 

  2. Eckstein, E., König, O., & Scholz, B. (2003). Code instruction selection based on SSA-graphs. In: Proceedings of the International Workshop on Software & Compilers for Embedded Systems. SCOPES ’03 (pp. 49–65).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernhard Scholz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ebner, D., Krall, A., Scholz, B. (2022). Instruction Code Selection. In: Rastello, F., Bouchez Tichadou, F. (eds) SSA-based Compiler Design. Springer, Cham. https://doi.org/10.1007/978-3-030-80515-9_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-80515-9_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-80514-2

  • Online ISBN: 978-3-030-80515-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics