Get the latest tech news

Linear Scan with Lifetime Holes


In my last post, I explained a bit about how to retrofit SSA onto the original linear scan algorithm. I went over all of the details for how to go from low-level IR to register assignments—liveness analysis, scheduling, building intervals, and the actual linear scan algorithm.

I went over all of the details for how to go from low-level IR to register assignments—liveness analysis, scheduling, building intervals, and the actual linear scan algorithm. I added this to the register allocator to test out the lifetime hole finding but kept the rest of the same (changed the APIs slightly so the interval could pretend it was still one big range). Maybe next time we will add interval splitting, which will help us a) address ABI constraints more cleanly in function calls and b) remove the dependence on reserving a scratch register.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Linear scan

Linear scan

Photo of Lifetime Holes

Lifetime Holes

Related news:

News photo

Linear scan register allocation on SSA