As described above, the intermediate representation may include a symbol table or other data structures to provide further information about the program, such as which variables are live-out of a region or which variables should be homed to the stack.