Introduction
When a computer program is translated from human-readable code into machine code, the compiler must decide which machine instructions to use. This choice affects how efficiently the program runs and how much space it takes. Instruction selection solves the problem of picking the best machine instructions to represent the program's operations.