For the purposes of studying dead-code elimination in LLVM, I'd like to generate a simple list of all the functions that are ever called by the target program. There's no need for any timing or frequency reports or backtraces or any other details. So far, the best solution I can find is to filter callgrind output like this:
grep -E "^c?fn" callgrind/output.raw | cut -d " " -f 2- | grep -Ev "^0x|^c?fn" It doesn't seem highly reliable, since I'm just picking out entries by sort of guessing, then checking the results with gdb (setting a breakpoint on every symbol not encountered by callgrind). All target programs are trivial unit tests with rigid, deterministic behavior, but it would still be nicer to have a more formally defined approach for extracting a precise set of function symbols for which invocation was observed during the execution. Thanks in advance for any suggestions. Byron
_______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users