[LLVMdev] LLVM Graph Representation
David Greene
dag at cray.com
Mon Jul 6 15:41:31 PDT 2009
On Monday 06 July 2009 14:32, Andre Tavares wrote:
> I'm developing the ABCD algorithm for LLVM, and I will need to store
> some information as a digraph.
>
> I was thinking of a list of adjacency, implemented with a
> map<Instruction, Set<Node>>. The node would have an Instruction and a
> value. I opted for map and set, because I will create the graph once and
> will search on it a bunch of times, and will never remove a node.
It will be very slow. Using LLVM data structures will help.
If you're not planning to commit this to trunk, I'll suggest the Boost
Graph Library. It's a bit daunting at first but has a lot of ways to
tune performance. Plus many common and useful algorithms are built-in. A
rewrite and simplification is in the works but it won't be ready soon, I'm
afraid.
-Dave
More information about the llvm-dev
mailing list