[LLVMdev] Debug info: type uniquing for C++ and the status on building clang with "-flto -g"

Manman Ren manman.ren at gmail.com
Tue Nov 12 12:42:53 PST 2013


Hi All,

Type uniquing for C++ is in. Some data for Xalan with -flto -g:
9.9MB raw dwarf size, peak memory usage at 2.8GB
The raw dwarf size was 58MB, memory usage was 7GB back in May, 2013.
Other efforts at size reduction helped, and type uniquing improved on top
of those.

Data on building clang with "-flto -g" after type uniquing:
  3.4GB MDNodes after parsing all bc files, 7GB MDNodes after linking all
bc files
  4.6GB DIEs
  4G MCContext
  --> The memory usage is still too big.

So how to reduce the memory footprint at MDNode level:
  1> Combine integers into MDString and further combining MDStrings (see
PR17891)
       A partial implementation on the important debug info nodes can
reduce the MDNodes from 7GB to 5.7GB
  2> Release MDNodes that are only used by source modules (I will send out
a proposal)
        An estimation based on partial implementation: this will reduce
MDNodes from 5.7GB to 3.9GB

Thanks,
Manman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131112/a88e3283/attachment.html>


More information about the llvm-dev mailing list