From: Jan Hubicka <hubicka@ucw.cz>
To: Rishi Raj <rishiraj45035@gmail.com>
Cc: Martin Jambor <mjambor@suse.cz>,
Richard Biener <rguenther@suse.de>,
gcc@gcc.gnu.org
Subject: Re: Clarification regarding various classes DIE's attribute value class
Date: Wed, 11 Oct 2023 18:07:22 +0200 [thread overview]
Message-ID: <ZSbIOofH6GT8vKS5@kam.mff.cuni.cz> (raw)
In-Reply-To: <CA+1a67NP5XnJBqPNvizDUT3+k3K9vzyp_zSc067JFeFrpdQ3ng@mail.gmail.com>
> Hello,
> I am working on a project to produce the LTO object file from the compiler
> directly. So far, we have
> correctly outputted .symtab along with various .debug sections. The only
> thing remaining is to
> correctly output attribute values and their corresponding values in the
> .debug_info section. This is done by the output_die function in
> dwarf2out.cc based on the value's class. However, the same
> function is used in dwarf2out_finish as well as dwarf2out_early_finish, so
> I suspect that not every value class is being used in dwarfout_early_finish
> (mainly I am interested in -flto mode). As there is little documentation on
> the same, I experimented by commenting out the various cases of value class
> in output die. I found that the classes such as dw_val_class_addr,
> dw_val_class_high_pc, and dw_val_class_vms_delta aren't being used during
> the early_finish of LTO mode. I might be wrong, as my observation is based
> on commenting out and testing a few pieces of code that might need to be
> completed. So, can anyone please tell out of these 30 classes that are
> relevant to dwarf2out_early_finish in LTO mode or at least point out some
> documentation if it exists?
You can probably do gcc_assert (!in_lto_p && flag_lto && !flag_fat_lto_objects)
on parts of output_die which you think are unused and then do make check
and if it passes also make bootstrap. That should probably catch all
relevant cases.
Honza
> enum dw_val_class
> {
> dw_val_class_none,
> dw_val_class_addr,
> dw_val_class_offset,
> dw_val_class_loc,
> dw_val_class_loc_list,
> dw_val_class_range_list,
> dw_val_class_const,
> dw_val_class_unsigned_const,
> dw_val_class_const_double,
> dw_val_class_wide_int,
> dw_val_class_vec,
> dw_val_class_flag,
> dw_val_class_die_ref,
> dw_val_class_fde_ref,
> dw_val_class_lbl_id,
> dw_val_class_lineptr,
> dw_val_class_str,
> dw_val_class_macptr,
> dw_val_class_loclistsptr,
> dw_val_class_file,
> dw_val_class_data8,
> dw_val_class_decl_ref,
> dw_val_class_vms_delta,
> dw_val_class_high_pc,
> dw_val_class_discr_value,
> dw_val_class_discr_list,
> dw_val_class_const_implicit,
> dw_val_class_unsigned_const_implicit,
> dw_val_class_file_implicit,
> dw_val_class_view_list,
> dw_val_class_symview
> };
>
> --
> Rishi
prev parent reply other threads:[~2023-10-11 16:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-10 15:08 Rishi Raj
2023-10-11 8:42 ` Richard Biener
2023-10-11 16:07 ` Jan Hubicka [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZSbIOofH6GT8vKS5@kam.mff.cuni.cz \
--to=hubicka@ucw.cz \
--cc=gcc@gcc.gnu.org \
--cc=mjambor@suse.cz \
--cc=rguenther@suse.de \
--cc=rishiraj45035@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).