[LLVMdev] LLVM Graph Representation

Andre Tavares andrelct at dcc.ufmg.br
Mon Jul 6 18:17:56 PDT 2009


Dave,

I will commit it to the trunk when ABCD is ready, so I will stick to 
LLVM ADT, and will optimize the operations I need. And forget about the 
ones I do not need, like removal of node or edge.

Thanks for the help, Dave and Eli

David Greene wrote:
> 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
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>   

-- 
Andre Tavares
Master Student in Computer Science - UFMG - Brasil
http://dcc.ufmg.br/~andrelct




More information about the llvm-dev mailing list