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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
We consider its data-based representation here, see Chap. 14.
References
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).
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).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
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)