[cfe-dev] Constructing use-def chains

mtzrgb at gmail.com mtzrgb at gmail.com
Tue Sep 1 10:10:01 PDT 2009

Thanks Ted and Simone for your replies I didn't have the chance to see  
your emails earlier.

Sure, your implementation will be useful

Best regards,

On Sep 1, 2009, at 5:53 PM, Ted Kremenek <kremenek at apple.com> wrote:

> On Sep 1, 2009, at 6:37 AM, Simone Pellegrini wrote:
>> Hi Ted and Moataz,
>> Actually I have already implemented Def-Use chains in clang.
>> I didn't announce it in the mailing list because I thought DefUse  
>> chain analysis was not in the philosophy of Clang as all the  
>> analysis and optimizations are built in LLVM (from SSA code).
>> Anyway if the community is interested I can make the implementation  
>> available to you, my only concern is about the coding style. I saw  
>> you frequently use data containers (map, vector)
>> from the LLVM framework while I preferred to stick with the STL  
>> (because I am sure they are not buggy) :)
>> My current implementations is based on the Kennedy's book algorithm  
>> (which is recursive). The analysis has been tested against several  
>> codes... I am sure it's still not perfect but it's working in most  
>> of the cases.
>> regards, Simone Pellegrini
> Hi Simone,
> We'd be delighted if you wanted to make your DefUse implementation  
> available for others to use.  I should mention that for the code to  
> be committed back to the Clang tree, it would still have to undergo  
> code review like any other patch.  If you don't want to go through  
> this process, simply making the code available would be great!
> To comment on your point about STL and LLVM data structures, we tend  
> to use LLVM data structures (such as DenseMap) instead of those in  
> the STL because of their vastly improved performance  
> characteristics.  Most of the LLVM data structures have direct  
> analogues to STL data structures (e.g.,, DenseMap and HashMap), so  
> swapping one for the other is usually trivial.  We're not opposed to  
> using STL data structures when they are clearly the best solution.
> Regards,
> Ted

More information about the cfe-dev mailing list