Currently -fopt-info-inline does nothing, as all of the dumping relating to inlining uses fprintf rather than dumpfile.h's dump_* interface.
This patch kit adds a %C format code to dumpfile.c for printing cgraph_node *, and uses it to port many of the IPA dump messages to the dump API. I focused on the dump messages that seemed most significant to end-users. With this kit, -fopt-info-inline prints messages at callsites such as e.g.: t.c:16:6: optimized: Inlining bar/1 into boo/2. t.c:15:11: optimized: Inlining foo/0 into boo/2. t.c:24:12: optimized: Inlining boo/2 into compute/3. and this can be checked for via the dg-optimized test directive (and appears in the -fsave-optimization-record result, etc). Dave David Malcolm (4): cgraph: add selftest::symbol_table_test dump_printf: add "%C" for dumping cgraph_node * support %f in pp_format ipa-inline.c/tree-inline.c: port from fprintf to dump API (PR ipa/86395) gcc/c-family/c-format.c | 59 +++++-- gcc/c-family/c-format.h | 1 + gcc/cgraph.c | 67 ++++++++ gcc/cgraph.h | 23 +++ gcc/doc/invoke.texi | 13 ++ gcc/dump-context.h | 8 + gcc/dumpfile.c | 115 +++++++++---- gcc/ipa-inline.c | 191 +++++++++++---------- gcc/pretty-print.c | 6 + gcc/pretty-print.h | 1 + gcc/selftest-run-tests.c | 1 + gcc/selftest.h | 1 + gcc/testsuite/g++.dg/ipa/devirt-12.C | 2 +- gcc/testsuite/g++.dg/ipa/imm-devirt-1.C | 2 +- .../g++.dg/tree-prof/inline_mismatch_args.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/inline-1.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/inline-2.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/inline-3.C | 2 +- gcc/testsuite/g++.dg/tree-ssa/inline-4.C | 32 ++++ gcc/testsuite/gcc.dg/format/gcc_diag-10.c | 7 +- gcc/testsuite/gcc.dg/ipa/fopt-info-inline-1.c | 44 +++++ gcc/testsuite/gcc.dg/ipa/inline-4.c | 4 +- gcc/testsuite/gcc.dg/ipa/inline-7.c | 6 +- gcc/testsuite/gcc.dg/ipa/inlinehint-4.c | 4 +- gcc/testsuite/gcc.dg/plugin/dump-1.c | 2 +- gcc/testsuite/gcc.dg/plugin/dump-2.c | 2 +- gcc/testsuite/gcc.dg/pr26570.c | 1 + gcc/testsuite/gcc.dg/pr71969-2.c | 2 +- gcc/testsuite/gcc.dg/pr71969-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/inline-11.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/inline-3.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/inline-4.c | 6 +- gcc/testsuite/gcc.dg/tree-ssa/inline-8.c | 2 +- gcc/testsuite/gfortran.dg/pr79966.f90 | 2 +- gcc/tree-inline.c | 20 ++- 35 files changed, 468 insertions(+), 174 deletions(-) create mode 100644 gcc/testsuite/g++.dg/tree-ssa/inline-4.C create mode 100644 gcc/testsuite/gcc.dg/ipa/fopt-info-inline-1.c -- 1.8.5.3