Modifying LLVM Graph

I have written a data flow graph pass that would output the data flow dependencies in a DOT format for any given Function F. I used GraphTraits and DOTGraphTraits as required by GraphWriter and then used the WriteGraph function to write the graph in dot format to a file.

However, to further continue my research on the project I am working on, I want to modify this generated DFG and insert some additional nodes in between various currently existing Instruction nodes. I want to modify this graph heavily by playing with their edges. What is required to be done to accomplish this purpose ?