Re: Extract function properties

David Malcolm via Gcc <[email protected]>
Newsgroups gmane.comp.gcc.devel
Message-ID <[email protected]>
On Wed, 2026-04-08 at 11:47 -0500, soma pal via Gcc wrote:
> Hi ,

Hi Soma

> 
> I am a research scholar working with GCC, and I am interested in
> extracting
> properties of individual functions in a program, especially the hot
> functions identified through profiling. I would like to obtain
> features
> such as function_name, bb_count, loop_count, branch_count,
> call_count,
> load_count, store_count, and instruction_count to use as input for an
> ML
> model.
> 
> Could you please suggest a way to extract this information?

Some possible approaches you could try:

* -fsave-optimization-record will write out a SRCFILE.opt-
record.json.gz with information on optimization, including some of the
information you want (e.g. profile data)

* -fdump-tree-all, -fdump-rtl-all, etc will dump a lot more info,
albeit not necessarily in a readily-consumable form

* in the not-yet-released trunk (gcc 16), -fdiagnostics-add-
output=sarif:cfgs=yes emits a .sarif file containing detailed
information about the CFGs for all functions at the start of each
optimization pass (both for the gimple and RTL intermediate
representations).

* write a plugin that captures exactly the information you need
(perhaps looking at the implementation of the above for inspiration)

Hope this is constructive
Dave
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.