https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87491

            Bug ID: 87491
           Summary: ipa_fn_summary missing for node during
                    inlining/dumping
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: michael.ploujnikov at oracle dot com
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

Commit: d2c2513e2d - "Clean-up usage of ipa_fn_summary and ipa_call_summary
summaries" causes a segfault when running a test with dumping enabled:

/gcc/build/gcc/xg++ -fdump-ipa-all -dumpbase dumps 
-B/gcc/build/gcc/testsuite/g++9/../../
/gcc/src/gcc/testsuite/g++.dg/opt/pr61654.C -fno-diagnostics-show-caret
-fdiagnostics-color=never -nostdinc++
-I/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
-I/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include
-I/gcc/src/libstdc++-v3/libsupc++ -I/gcc/src/libstdc++-v3/include/backward
-I/gcc/src/libstdc++-v3/testsuite/util -fmessage-length=0 -std=gnu++98 -O3  
-fno-inline-small-functions -fdump-ipa-cp
-L/gcc/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-B/gcc/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-L/gcc/build/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs
-B/gcc/build/x86_64-pc-linux-gnu/./libitm/
-L/gcc/build/x86_64-pc-linux-gnu/./libitm/.libs -lm -S -o pr61654.s

/gcc/src/gcc/testsuite/g++.dg/opt/pr61654.C:27:1: internal compiler error:
Segmentation fault
0xe866bf crash_signal
        ../../src/gcc/toplev.c:325
0x172b251 inline_to_all_callers_1
        ../../src/gcc/ipa-inline.c:2225
0x172b251 inline_to_all_callers
        ../../src/gcc/ipa-inline.c:2260
0xa097ce cgraph_node::call_for_symbol_and_aliases(bool (*)(cgraph_node*,
void*), void*, bool)
        ../../src/gcc/cgraph.h:3213
0xa097ce cgraph_node::call_for_symbol_and_aliases_1(bool (*)(cgraph_node*,
void*), void*, bool)
        ../../src/gcc/cgraph.c:3744
0x172d3b9 cgraph_node::call_for_symbol_and_aliases(bool (*)(cgraph_node*,
void*), void*, bool)
        ../../src/gcc/cgraph.h:3217
0x172d3b9 ipa_inline
        ../../src/gcc/ipa-inline.c:2580
0x172d3b9 execute
        ../../src/gcc/ipa-inline.c:2918


The segfault doesn't happen if I remove "-fdump-ipa-all -dumpbase dumps" from
the command.

Looks like ipa_fn_summaries doesn't have an entry for "int B::*.LTHUNK0(int,
int)" at the point of inlining because the only time it's actually added to the
map was in ipa_dump_fn_summary() before d2c2513e2d.

Reply via email to