> On Tue, Aug 26, 2014 at 10:52 PM, Uros Bizjak wrote: > > Hello! > > > >> I noticed most of the cgraph and IPA files use xstrdup for cgraph node > >> names when printing to dump_file. Very leaky... > >> > >> What is the reason for all those xstrdups? I couldn't think of any. > > > > Please see [1] and [2]. > > > > [1] https://gcc.gnu.org/ml/gcc-patches/2012-04/msg01904.html > > [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53136 > > > Thanks. Well, that is surprising. The cxx_printable_name_internal uses > a ring buffer for caching the names. Apparently that didn't work in > your PR. > > The leaks get quite large over time, especially with a large code base > and many small functions. I noticed this when compiling a large code > base with dumping enabled and ran out of memory. > > I assume you also tried increasing the ring buffer size? Oh well, > probably not very robust, and we do seem to leak a lot of strings in > general...
With print_debug, perhaps we can have % formatter for the cgraph nodes output? That would be very convenient, since we would be consistent about printing them (currently we mix assembler name, function name, sometimes we print order sometimes we don't) Honza > > Ciao! > Steven