[LLVMdev] Passes for object memory footprint / data-direction

Hal Finkel hfinkel at anl.gov
Mon Feb 18 09:33:44 PST 2013


----- Original Message -----
> From: "Sebastian Dreßler" <dressler at zib.de>
> To: llvmdev at cs.uiuc.edu
> Sent: Monday, February 18, 2013 7:49:39 AM
> Subject: [LLVMdev] Passes for object memory footprint / data-direction
> 
> Hi,
> 
> In the past months we were working on two LLVM passes which use data
> objects of functions as input. One pass computes the
> "data-direction" (FORTRAN users know this as intent) of the object,
> i.e. whether it is read-only, write-only or read-write. The second
> pass injects code into the LLVM module that, when called at
> run-time, computes the memory footprint of the object. This also
> works for non-linear objects, e.g. linked lists or instances of
> std::map. Dynamic allocation is also supported, with some
> limitations.
> 
> Our original aim was to use these passes for a scheduler developed in
> the project we are currently involved (ENHANCE,
> http://www.enhance-project.de). However, I'm curios to hear whether
> these passes could also be useful for other LLVM developers / users.

Sebastian,

These sounds quite interesting. Can you explain a little more about how they work? How they scale? Do they work with objects used across multiple modules? If so, does that require the use of LTO?

 -Hal

> 
> 
> Best regards,
> Sebastian
> 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 




More information about the llvm-dev mailing list