From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9362 invoked by alias); 30 May 2013 23:43:20 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 9337 invoked by uid 48); 30 May 2013 23:43:16 -0000 From: "bccheng at android dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/57479] New: [ARM][NEON] internal compiler error: Segmentation fault in add_dependence_list Date: Thu, 30 May 2013 23:43:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.7.3 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: bccheng at android dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-05/txt/msg02128.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57479 Bug ID: 57479 Summary: [ARM][NEON] internal compiler error: Segmentation fault in add_dependence_list Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: bccheng at android dot com I hit an ICE with GCC 4.7.2 and 4.7.3 on a function with lots of ARM NEON code. The reduced input file is attached (I cannot seem to further reduce it) and here are the cmdline options I used: -march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb-interwork -g -frename-registers -O2 -c test.c Here is the stack trace in gdb when the segfault happens: Program received signal SIGSEGV, Segmentation fault. 0x0000000000f3cbf2 in add_dependence_list (insn=0x7ffff70317e0, list=0x521, uncond=1, dep_type=REG_DEP_ANTI) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555 1555 add_dependence (insn, XEXP (list, 0), dep_type); (gdb) bt #0 0x0000000000f3cbf2 in add_dependence_list (insn=0x7ffff70317e0, list=0x521, uncond=1, dep_type=REG_DEP_ANTI) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555 #1 0x0000000000f3fb5c in sched_analyze_insn (deps=0x7fffffffca30, x=0x7ffff7030780, insn=0x7ffff70317e0) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:2982 #2 0x0000000000f4198d in deps_analyze_insn (deps=0x7fffffffca30, insn=0x7ffff70317e0) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:3505 #3 0x0000000000f41e67 in sched_analyze (deps=0x7fffffffca30, head=0x7ffff702a0d8, tail=0x7ffff7032320) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:3653 #4 0x00000000009c2155 in compute_block_dependences (bb=0) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:2702 #5 0x00000000009c35ae in sched_rgn_compute_dependencies (rgn=3) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3140 #6 0x00000000009c2d2a in schedule_region (rgn=3) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:2915 #7 0x00000000009c3d0b in schedule_insns () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3299 #8 0x00000000009c4613 in rest_of_handle_sched2 () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-rgn.c:3523 #9 0x0000000000942511 in execute_one_pass (pass=0x1a85ae0 ) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2084 #10 0x00000000009426ea in execute_pass_list (pass=0x1a85ae0 ) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2139 #11 0x000000000094270b in execute_pass_list (pass=0x1a84ec0 ) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2140 #12 0x000000000094270b in execute_pass_list ( pass=0x1a84e60 ) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/passes.c:2140 #13 0x0000000000a7c36c in tree_rest_of_compilation (fndecl=0x7ffff729dd00) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/tree-optimize.c:422 #14 0x00000000007372fa in cgraph_expand_function (node=0x7ffff72a3240) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1837 #15 0x00000000007374c5 in cgraph_expand_all_functions () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1904 #16 0x0000000000737dd1 in cgraph_optimize () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:2218 #17 0x00000000007360e9 in cgraph_finalize_compilation_unit () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/cgraphunit.c:1344 #18 0x000000000063364b in c_write_global_declarations () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/c-decl.c:10032 #19 0x0000000000a121a4 in compile_file () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:573 #20 0x0000000000a141ab in do_compile () at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:1938 #21 0x0000000000a1431b in toplev_main (argc=26, argv=0x7fffffffcec8) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/toplev.c:2014 #22 0x00000000006c0308 in main (argc=26, argv=0x7fffffffcec8) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/main.c:36 (gdb) f 0 #0 0x0000000000f3cbf2 in add_dependence_list (insn=0x7ffff70317e0, list=0x521, uncond=1, dep_type=REG_DEP_ANTI) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:1555 1555 add_dependence (insn, XEXP (list, 0), dep_type); (gdb) up #1 0x0000000000f3fb5c in sched_analyze_insn (deps=0x7fffffffca30, x=0x7ffff7030780, insn=0x7ffff70317e0) at /tmp/AOSP-toolchain/build/../gcc/gcc-4.7/gcc/sched-deps.c:2982 2982 add_dependence_list (insn, reg_last->sets, 1, REG_DEP_ANTI); (gdb) p reg_last->sets $1 = (rtx) 0x521 Looks like reg_last->sets carries some garbage values. I also tried GCC 4.8.0 and it doesn't have the crash. However the code looks very different around those functions. If there is a patch I can cherry-pick to 4.7 that will be great. Thanks!