Tag
instruction-selection
- Feb 17, 2026 Peephole Optimization and the Sliding Window How local rewrites over a small instruction window remove redundant loads, collapse moves, and turn compare-and-branch pairs into single instructions, and where the window size stops helping. compilers
- Aug 26, 2025 Folding Address Computation into Memory Operands How base, index, scale, and displacement get absorbed into load and store encodings, which arithmetic survives the fold, and why the selector must sometimes refuse. compilers
- Jan 24, 2025 Three-Address Code as the Contract Between Front End and Back End Why compilers flatten expression trees into single-operator instructions with named temporaries, what optimization gains from that shape, and which machine constructs the form cannot express directly. compilers
- Dec 19, 2024 Maximal Munch and Dynamic-Programming Tiling Two ways to choose which instruction patterns cover an expression tree, why greedy top-down matching can be arbitrarily bad, and what the optimal algorithm costs to run. compilers
- Apr 7, 2023 Instruction Selection as Tree Tiling How a back end maps an intermediate representation onto machine instructions by covering expression trees with patterns, and why legality and cost are separate questions. compilers
- Mar 4, 2022 Two-Address Instructions and Destructive Operands Why many instruction sets overwrite an input register to produce a result, how that constraint turns selection into a copy-insertion problem, and what the copies cost. compilers