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

Reply via email to