https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65972
Bug ID: 65972 Summary: ICE after applying a patch to enable the vectorizer. Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: hiraditya at msn dot com Target Milestone: --- I was trying to debug a compiler crash while compiling a program with auto-fdo enabled during which the compiler crashed. I could triage the bug to this small case. The issue here is that ssa is not in a valid form at this point and the compiler analyzes a function for inlining. diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index 5d99887..d76f396 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -128,6 +128,7 @@ along with GCC; see the file COPYING3. If not see #include "ipa-utils.h" #include "cilk.h" #include "cfgexpand.h" +#include "tree-ssa.h" /* Estimate runtime of function can easilly run into huge numbers with many nested loops. Be sure we can compute time * INLINE_SIZE_SCALE * 2 in an @@ -2506,6 +2507,7 @@ estimate_function_body_sizes (struct cgraph_node *node, bool early) <0,2>. */ basic_block bb; struct function *my_function = DECL_STRUCT_FUNCTION (node->decl); + verify_ssa (false, true); int freq; struct inline_summary *info = inline_summaries->get (node); struct predicate bb_predicate; Configured with: ../configure --prefix=../install-crash --enable-shared --enable-static --target=arm-foo-linux-gnueabihf --with-sysroot=/compiler/tools/cross/arm-foo-linux-gnueabihf/gcc-5.1/2015-04-22-222321-2c9bf40-release-5.1/arm-foo-linux-gnueabihf/sysroot --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --with-gmp=/compiler/tools/cross/arm-foo-linux-gnueabihf/gcc-5.1/2015-04-22-222321-2c9bf40-release-5.1 --with-mpfr=/compiler/tools/cross/arm-foo-linux-gnueabihf/gcc-5.1/2015-04-22-222321-2c9bf40-release-5.1 --enable-target-optspace --disable-libquadmath --enable-tls --disable-libmudflap --enable-threads --with-mpc=/compiler/tools/cross/arm-foo-linux-gnueabihf/gcc-5.1/2015-04-22-222321-2c9bf40-release-5.1 --disable-decimal-float --enable-languages=c,c++,lto --with-build-time-tools=/compiler/tools/cross/arm-foo-linux-gnueabihf/gcc-5.1/2015-04-22-222321-2c9bf40-release-5.1/arm-foo-linux-gnueabihf/bin --disable-libgomp --with-pkgversion='Built at foo from commit SHA:2c9bf40, Rev:222321' --with-bugurl=foo...@samsung.com --with-abi=aapcs-linux --with-cpu=cortex-a15 --with-fpu=neon --with-float=hard --with-mode=arm --disable-bootstrap --enable-languages=c,c++ Thread model: posix The compiler crashes like this: ../../../libgcc/config/arm/unwind-arm.c: In function ‘__gnu_unwind_pr_common’: ../../../libgcc/config/arm/unwind-arm.c:511:1: error: virtual definition of statement not up-to-date } ^ # .MEM_102 = VDEF <.MEM_97> _103 = _Unwind_decode_typeinfo_ptr.isra.0 (_101); ../../../libgcc/config/arm/unwind-arm.c:511:1: internal compiler error: verify_ssa failed gcc/build-crash/./gcc/xgcc -Bgcc/build-crash/./gcc/ -Bgcc/build-crash/../install-crash/arm-foo-linux-gnueabihf/bin/ -Bgcc/build-crash/../install-crash/arm-foo-linux-gnueabihf/lib/ -isystem gcc/build-crash/../install-crash/arm-foo-linux-gnueabihf/include -isystem gcc/build-crash/../install-crash/arm-foo-linux-gnueabihf/sys-include -g -O2 -g -Os -O2 -g -O2 -g -Os -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -fno-inline -I. -I. -I../.././gcc -I../../../libgcc -I../../../libgcc/. -I../../../libgcc/../gcc -I../../../libgcc/../include -DHAVE_CC_TLS -o unwind-arm.o -MT unwind-arm.o -MD -MP -MF unwind-arm.dep -fexceptions -c ../../../libgcc/config/arm/unwind-arm.c 0xb80500 convert_callers_for_node ../../gcc/tree-sra.c:4940 0xb853cb cgraph_node::call_for_symbol_and_aliases(bool (*)(cgraph_node*, void*), void*, bool) ../../gcc/cgraph.h:3025 0xb853cb convert_callers ../../gcc/tree-sra.c:4955 0xb853cb modify_function ../../gcc/tree-sra.c:5011 0xb8e861 ipa_early_sra ../../gcc/tree-sra.c:5239 0xb8e861 execute ../../gcc/tree-sra.c:5286 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. make[2]: *** [unwind-arm.o] Error 1 make[2]: *** Waiting for unfinished jobs.... 0xc966ab verify_ssa(bool, bool) ../../gcc/tree-ssa.c:1068 0x8ef1d0 estimate_function_body_sizes ../../gcc/ipa-inline-analysis.c:2510 0x8f1f43 compute_inline_parameters(cgraph_node*, bool) ../../gcc/ipa-inline-analysis.c:2973 0xb80500 convert_callers_for_node ../../gcc/tree-sra.c:4940 0xb853cb cgraph_node::call_for_symbol_and_aliases(bool (*)(cgraph_node*, void*), void*, bool) ../../gcc/cgraph.h:3025 0xb853cb convert_callers ../../gcc/tree-sra.c:4955 0xb853cb modify_function ../../gcc/tree-sra.c:5011 0xb8e861 ipa_early_sra ../../gcc/tree-sra.c:5239 0xb8e861 execute ../../gcc/tree-sra.c:5286 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report.