1. A computer program product embodied on a non-transitory computer readable medium, comprising: code for receiving an integrated circuit hardware design encoded as one or more data flows, each representing a flow of data through the integrated circuit hardware design, and one or more control constructs configured to perform data steering operations; code for generating a node for each data flow of the one or more data flows; code for generating a node for each control construct of the one or more control constructs; code for determining connectivity of the nodes to generate a graph-based intermediate representation of the integrated circuit hardware design; and storing the graph-based intermediate representation of the integrated circuit hardware design in a source database.