Hi Dave,

Thanks for the suggestions. I will look into -fsave-optimization-record and
pugin implementation.

Thanks

Soma

On Thu, Apr 9, 2026 at 2:57 PM David Malcolm <[email protected]> wrote:

> 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
>
>

Reply via email to