Get the latest tech news
What I talk about when I talk about IRs
I have a lot of thoughts about the design of compiler intermediate representations (IRs). In this post I’m going to try and communicate some of those ideas and why I think they are important.
Potentially more subtle here is that we could represent the above IR snippet as a list of tuples, where instructions are related via some other table (say, a “variable environment”): This is complicated (choose which variables to split, replace all uses, to maintain SSA, etc) but gives us new places to store information inside the IR. The main idea is that IR nodes are by default unordered and are only ordered later, after effect analysis has removed a bunch of use edges.
Or read this on Hacker News