Sure it's faster this way, but what's wrong with valgrind? ;-
valgrind (and mtrace) are OS-specific. Also, tracking memory allocations has other benefits, like allowing to give memory statistics (what are the largest allocations, how much is used for compiler-generated temporaries, etc.).
What do you mean, is not library code? Do you need it in libgfortran or in GCC?
In libgfortran.
If the latter, of course you could write pointer_map_delete yourself; it might be worthwhile since pointer maps are a tad faster than libiberty hashtabs. It's on my todo list, but I wrote pointer_map for my private work on gcc and it was not needed at the time.
But didn't you say the need to remove entries (quite frequently, actually) makes pointer_map unsuitable?
FX -- François-Xavier Coudert http://www.homepages.ucl.ac.uk/~uccafco/