[Bug ipa/65972] New: ICE after applying a patch to enable the vectorizer.

hiraditya at msn dot com gcc-bugzilla@gcc.gnu.org
Fri May 1 21:23:00 GMT 2015


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+cc@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.


More information about the Gcc-bugs mailing list