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

Sebastian Dreßler dressler at zib.de
Mon Feb 18 05:49:39 PST 2013


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.


Best regards,
Sebastian






More information about the llvm-dev mailing list