Looking at tree dumps, most variables used are compiler generated temporaries and they have names like pretmp.DECIMAL_NUMBER If instead of DECIMAL_NUMBER the same number bug in hex was used, this would reduce the memory used for those temporary names. This simple patch (that does not take care of all the temporaries, only a subset): Index: defaults.h =================================================================== --- defaults.h (revision 158360) +++ defaults.h (working copy) @@ -46,12 +46,12 @@ #ifndef ASM_PN_FORMAT # ifndef NO_DOT_IN_LABEL -# define ASM_PN_FORMAT "%s.%lu" +# define ASM_PN_FORMAT "%s.%lx" # else # ifndef NO_DOLLAR_IN_LABEL -# define ASM_PN_FORMAT "%s$%lu" +# define ASM_PN_FORMAT "%s$%lx" # else -# define ASM_PN_FORMAT "__%s_%lu" +# define ASM_PN_FORMAT "__%s_%lx" # endif # endif #endif /* ! ASM_PN_FORMAT */ has this effect on the string pool (for an average size C file (dispnew.c from emacs): Before: avg. entry 17.04 bytes (+/- 8.46) after: avg. entry 16.99 bytes (+/- 8.50) so it's something given how small the change was. The difference would be even bigger if instead of base 32 or base 64 were used instead of hex, but that's a larger change... Also "pretmp" "prehitmp" and "ivtmp" prefixes are too long, they could be one or two letters...
>Also "pretmp" "prehitmp" and "ivtmp" prefixes are too long, They might be too long but they are useful long without looking too much into the code to figure out what kind of temp they are. We could just use D.XYZ instead without a "long name". Really debug dumps should be used to debug the compiler which means having nice names sometimes makes it easier to debug.
(In reply to comment #1) > >Also "pretmp" "prehitmp" and "ivtmp" prefixes are too long, > > They might be too long but they are useful long without looking too much into > the code to figure out what kind of temp they are. We could just use D.XYZ > instead without a "long name". Or using P. (or PR.), I. (or IV.) > Really debug dumps should be used to debug the > compiler which means having nice names sometimes makes it easier to debug. As shown above, the names can be both shorter and nice, it's possible to have both.