diff mbox series

ipa: dump symtab to emergency dump file

Message ID 12ee946e-ff3e-6113-8ebd-0e11b0f4ae8d@suse.cz
State New
Headers show
Series ipa: dump symtab to emergency dump file | expand

Commit Message

Martin Liška Nov. 30, 2020, 2:04 p.m. UTC
Hi.

It's handy to have symbol table when we dump emergency dump.
It's likely next stage1 material.

Thoughts?
Martin

gcc/ChangeLog:

	* passes.c (emergency_dump_function): Dump symtab when
	we are in an IPA pass.
---
  gcc/passes.c | 3 +++
  1 file changed, 3 insertions(+)

Comments

Jeff Law Nov. 30, 2020, 3:47 p.m. UTC | #1
On 11/30/20 7:04 AM, Martin Liška wrote:
> Hi.
>
> It's handy to have symbol table when we dump emergency dump.
> It's likely next stage1 material.
>
> Thoughts?
> Martin
>
> gcc/ChangeLog:
>
>     * passes.c (emergency_dump_function): Dump symtab when
>     we are in an IPA pass.
Your call now or next stage1.   We should keep in mind that if the
symtab structures are inconsistent/corrupted that we can ICE or worse
yet spin while dumping the symtab.

Jeff
Jan Hubicka Nov. 30, 2020, 3:50 p.m. UTC | #2
> 
> 
> On 11/30/20 7:04 AM, Martin Liška wrote:
> > Hi.
> >
> > It's handy to have symbol table when we dump emergency dump.
> > It's likely next stage1 material.
> >
> > Thoughts?
> > Martin
> >
> > gcc/ChangeLog:
> >
> >     * passes.c (emergency_dump_function): Dump symtab when
> >     we are in an IPA pass.
> Your call now or next stage1.   We should keep in mind that if the
> symtab structures are inconsistent/corrupted that we can ICE or worse
> yet spin while dumping the symtab.

We already dump function bodies that has same problem, so I think
dumping symtab is fine (and I have no problem with it going to trunk
this stage3)

Honza
> 
> Jeff
>
Martin Liška Nov. 30, 2020, 4:31 p.m. UTC | #3
On 11/30/20 4:50 PM, Jan Hubicka wrote:
>>
>>
>> On 11/30/20 7:04 AM, Martin Liška wrote:
>>> Hi.
>>>
>>> It's handy to have symbol table when we dump emergency dump.
>>> It's likely next stage1 material.
>>>
>>> Thoughts?
>>> Martin
>>>
>>> gcc/ChangeLog:
>>>
>>>     * passes.c (emergency_dump_function): Dump symtab when
>>>     we are in an IPA pass.
>> Your call now or next stage1.   We should keep in mind that if the
>> symtab structures are inconsistent/corrupted that we can ICE or worse
>> yet spin while dumping the symtab.
> 
> We already dump function bodies that has same problem, so I think
> dumping symtab is fine (and I have no problem with it going to trunk
> this stage3)

Thank you, I install the patch now.

Martin

> 
> Honza
>>
>> Jeff
>>
diff mbox series

Patch

diff --git a/gcc/passes.c b/gcc/passes.c
index f71f63918f4..973c958f769 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1837,6 +1837,9 @@  emergency_dump_function ()
    fnotice (stderr, "dump file: %s\n", dump_file_name);
    fprintf (dump_file, "\n\n\nEMERGENCY DUMP:\n\n");
    execute_function_dump (cfun, current_pass);
+
+  if (symtab && current_pass->type == IPA_PASS)
+    symtab->dump (dump_file);
  }
  
  static struct profile_record *profile_record;