ipa: Adjust cgraph verifier to materialization on demand (PR 98222)
authorMartin Jambor <mjambor@suse.cz>
Sun, 17 Jan 2021 21:31:09 +0000 (22:31 +0100)
committerMartin Jambor <mjambor@suse.cz>
Sun, 17 Jan 2021 21:32:11 +0000 (22:32 +0100)
commit0f4c8f517b7954e113afb4d5c7212123c8ee2418
treebace5321c6a9fa5055178fc879a2559c86089b54
parent3804e937b0e252a7e42632fe6d9f898f1851a49c
ipa: Adjust cgraph verifier to materialization on demand (PR 98222)

after switching to materialization of clones on demand, the verifier
can happen to see edges leading to a clone of a materialized clone.
This means its clone_of is NULL and former_clone_of needs to be
checked in order to verify that the callee is a clone of the original
decl, which it did not do and reported edges to pointing to a wrong
place.

Fixed with the following patch, which has been pre-approved by Honza.
Bootstrapped and tested on x86_64-linux, pushed to master.

Martin

gcc/ChangeLog:

2021-01-15  Martin Jambor  <mjambor@suse.cz>

PR ipa/98222
* cgraph.c (clone_of_p): Check also former_clone_of as we climb
the clone tree.

gcc/testsuite/ChangeLog:

2021-01-15  Martin Jambor  <mjambor@suse.cz>

PR ipa/98222
* gcc.dg/ipa/pr98222.c: New test.
gcc/cgraph.c
gcc/testsuite/gcc.dg/ipa/pr98222.c [new file with mode: 0644]