We follow the slow mutation of an intermediate representation from a well known quad-based form to a sparse graph-based form. The final form is similar to an operator-level Program Dependence Graph or Gated Single Assignment form. The final form contains all the information required to execute the program. What is more important, the graph form explicitly contains use-def information. Analyses can use this information directly without having to calculate it. Transformations modify the use-def information directly, without requiring separate steps to modify the intermediate representation and the use-def information.