Dynamic Programming for Computer Register Allocation

Created on 2022-02-19T00:09:23-06:00

Return to the Index

This card pertains to a resource available on the internet.

This card can also be read via Gemini.

Poses register allocation as an optimization problem.

Notes that whenever code might jump back to a previous point all registers must be shuffled back to place.

Because of this the cost of reshuffling should be included as a penalty for a proposed solution.

Incorporates loops by adding increased weights to registers that can be re-entered via the loop.

Runs a Knuth-Plass-like dynamic programming solver to select spills and shuffles.