On Tue, Nov 2, 2021 at 2:21 PM Jan Hubicka via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Hi, > this patch is a small refactoring of ipa-modref to make it bit more > C++y by moving logic analyzing ssa name flags to a class > and I also moved the anonymous namespace markers so we do not > export unnecessary stuff. There are no functional changes. > > Bootstrapped/regtested x86_64-linux, will commit it shortly. > > gcc/ChangeLog: > > * ipa-modref.c Fix anonymous namespace placement. > (class modref_eaf_analysis): New class. > (analyze_ssa_name_flags): Turn to ... > (modref_eaf_analysis::analyze_ssa_name): ... this one. > (merge_call_lhs_flags): Turn to ... > (modref_eaf_analysis::merge_call_lhs_flags): .. this one > (modref_eaf_analysis::merge_with_ssa_name): New member function. > (record_escape_points): Turn to ... > (modref_eaf_analysis::record_escape_points): ... this one. > (analyze_parms): Updat > (ipa_merge_modref_summary_after_inlining): Move to the end of file. >
It broke GCC bootstrap: https://gcc.gnu.org/pipermail/gcc-regression/2021-November/075676.html In file included from ../../src-master/gcc/coretypes.h:474, from ../../src-master/gcc/expmed.c:26: In function ‘poly_uint16 mode_to_bytes(machine_mode)’, inlined from ‘typename if_nonpoly<typename T::measurement_type>::type GET_MODE_SIZE(const T&) [with T = scalar_int_mode]’ at ../../src-master/gcc/machmode.h:647:24, inlined from ‘rtx_def* emit_store_flag_1(rtx, rtx_code, rtx, rtx, machine_mode, int, int, machine_mode)’ at ../../src-master/gcc/expmed.c:5723:56: ../../src-master/gcc/machmode.h:550:49: warning: ‘*(unsigned int*)((char*)&int_mode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ may be used uninitialized in this function [-Wmaybe-uninitialized] 550 | ? mode_size_inline (mode) : mode_size[mode]); | ^~~~ ../../src-master/gcc/expmed.c: In function ‘rtx_def* emit_store_flag_1(rtx, rtx_code, rtx, rtx, machine_mode, int, int, machine_mode)’: ../../src-master/gcc/expmed.c:5652:19: note: ‘*(unsigned int*)((char*)&int_mode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ was declared here 5652 | scalar_int_mode int_mode; | ^~~~~~~~ /export/gnu/import/git/gcc-test-master-intel64-native/bld/./prev-gcc/xg++ -B/export/gnu/import/git/gcc-test-master-intel64-native/bld/./prev-gcc/ -B/usr/12.0.0/x86_64-pc-linux-gnu/bin/ -nostdinc++ -B/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -I/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/include -I/export/gnu/import/git/gcc-test-master-intel64-native/src-master/libstdc++-v3/libsupc++ -L/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/export/gnu/import/git/gcc-test-master-intel64-native/bld/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -fno-PIE -c -g -O2 -fno-checking -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../src-master/gcc -I../../src-master/gcc/. -I../../src-master/gcc/../include -I../../src-master/gcc/../libcpp/include -I../../src-master/gcc/../libcody -I../../src-master/gcc/../libdecnumber -I../../src-master/gcc/../libdecnumber/bid -I../libdecnumber -I../../src-master/gcc/../libbacktrace -o tree-eh.o -MT tree-eh.o -MMD -MP -MF ./.deps/tree-eh.TPo ../../src-master/gcc/tree-eh.c cc1plus: all warnings being treated as errors make[6]: *** [Makefile:1138: ipa-modref.o] Error 1 -- H.J.