A compiler transforms program source code into a suitable intermediate representation. The intermediate representation must be able to support the analyses and transformations that the compiler is expected to perform. Here, we list some of the most common styles of intermediate representation, with links to helpful papers with further details.
static single assignment SSI [CFR+91]
static single information SSI [Ana99]
thinned gated single-assignment TGSA [Hav93]
value dependence graph VDG [WCES94]
dependence flow graph DFG [JP93] [PBJ+91]
value state dependence graph VSDG [JM03]
program dependence web PDW [BMO90]
program dependence graph PDG [FOW87]