When I do differential profiling with cg_diff I see a lot of entries like this:
-333,110 js/src/optg32/../assembler/assembler/AssemblerBuffer.h:T.3670 333,110 js/src/optg32/../assembler/assembler/AssemblerBuffer.h:T.3703
T.3703 are clearly the same function, one which must be auto-generated by GCC but given different randomized suffixes in different builds. These entries are uninteresting and I plan to add an option to cg_diff that allows the user to munge function names with a search-and-replace expression so I can get rid of them.
But I’d like to know what the are first, so I can talk about them in the cg_diff documentation. Does anybody know? I tried googling, but it’s a very hard thing to find out with a search engine. (If someone can find something about it with a search engine I’d love to know what search term you used.)
2 replies on “What is this T.3670 function produced by GCC?”
I got a similar name in one of my programs, and it referred to a static function.
These can be gcc internal labels or private names. They always include a prefix and a number, but the exact format varies by target and is determined by target macros: http://gcc.gnu.org/onlinedocs/gccint/Label-Output.html#index-ASM_005fGENERATE_005fINTERNAL_005fLABEL-4517