1. A computer program product embodied on a non-transitory computer readable medium, comprising: code for receiving a graph-based intermediate representation of a hardware design stored in a source database; code for determining an instance of each unique module in the source database; code for generating a hardware module node for each unique module; code for associating a list of one or more instances with each hardware module node; and code for storing a graph-based common representation of the hardware design that includes one or more of the generated hardware module nodes.