From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1712 invoked by alias); 9 Jan 2015 14:23:00 -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 1125 invoked by uid 48); 9 Jan 2015 14:22:54 -0000 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939 Date: Fri, 09 Jan 2015 14:23:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: WAITING X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: marxin at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-01/txt/msg00613.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D64550 --- Comment #3 from Martin Li=C5=A1ka --- The problem is hidden in missing volatile side-effect comparison for: # VUSE <.MEM_5(D)> __mptr_8 =3D{v} _17->first; (gdb) call debug_gimple_stmt(s2) # VUSE <.MEM_5(D)> __mptr_8 =3D _17->first; where compare_memory_operand is called for: unit size align 64 symtab 0 alias set 5 canonical type 0x7ffff6d54b28 fie= lds context pointer_to_this chain > sizes-gimplified public unsigned DI size unit size align 64 symtab 0 alias set 3 canonical type 0x7ffff6d54bd0 pointer_to_this > side-effects volatile arg 0 unit size align 64 symtab 0 alias set 4 canonical type 0x7ffff6d54a80 fie= lds context pointer_to_this chain > arg 0 visiteddef_stmt _17 =3D _13 + _16; version 17 ptr-info 0x7ffff6d71750> arg 1 /home/marxin/Programming/testcases/ppc64-linux-bug.c:41:664> arg 1 unsigned DI file /home/marxin/Programming/testcases/ppc64-linux-bug= .c line 2 col 23 size unit size align 64 offset_align 128 offset bit offset context > /home/marxin/Programming/testcases/ppc64-linux-bug.c:41:630> Where volatile is correctly set, but after refactoring our volatile compari= son is based on result of ao_ref_base which is: >From gcc-bugs-return-472620-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jan 09 14:29:55 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 10422 invoked by alias); 9 Jan 2015 14:29:55 -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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 10390 invoked by uid 48); 9 Jan 2015 14:29:50 -0000 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939 Date: Fri, 09 Jan 2015 14:29:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: WAITING X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: marxin at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-01/txt/msg00614.txt.bz2 Content-length: 720 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D64550 --- Comment #4 from Martin Li=C5=A1ka --- Suggested patch: diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c index 9cb7bc3..7e3b1dd 100644 --- a/gcc/ipa-icf-gimple.c +++ b/gcc/ipa-icf-gimple.c @@ -260,7 +260,7 @@ func_checker::compare_memory_operand (tree t1, tree t2) /* Compare alias sets for memory operands. */ if (source_is_memop && target_is_memop) { - if (TREE_THIS_VOLATILE (b1) !=3D TREE_THIS_VOLATILE (b2)) + if (TREE_THIS_VOLATILE (t1) !=3D TREE_THIS_VOLATILE (t2)) return return_false_with_msg ("different operand volatility"); if (ao_ref_alias_set (&r1) !=3D ao_ref_alias_set (&r2) >>From gcc-bugs-return-472621-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jan 09 14:37:43 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 18440 invoked by alias); 9 Jan 2015 14:37:42 -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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 18196 invoked by uid 48); 9 Jan 2015 14:37:37 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/64551] New: Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private) Date: Fri, 09 Jan 2015 14:37:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail 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 cf_gcctarget attachments.created 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: 2015-01/txt/msg00615.txt.bz2 Content-length: 3517 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64551 Bug ID: 64551 Summary: Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private) Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com Target: alpha-linux-gnu Created attachment 34413 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34413&action=edit Preprocessed source Recently introduced problem. Segfault can be triggered with attached testcase for --target=alpha-linux-gnu configured crosscompiler: ~/gcc-build-alpha/gcc/cc1 -O2 -fpreprocessed -quiet -o aaa unwind-dw2.i ../../../gcc-svn/trunk/libgcc/unwind-dw2.c:1695:0: internal compiler error: Segmentation fault 0xa7d66f crash_signal /home/uros/gcc-svn/trunk/gcc/toplev.c:366 0xed5757 tree_check /home/uros/gcc-svn/trunk/gcc/tree.h:2778 0xed5757 target_opts_for_fn /home/uros/gcc-svn/trunk/gcc/tree.h:4681 0xed5757 ipa_icf::sem_function::equals_private(ipa_icf::sem_item*, hash_map&) /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:431 0xed6407 ipa_icf::sem_function::equals(ipa_icf::sem_item*, hash_map&) /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:386 0xed4d1a ipa_icf::sem_item_optimizer::subdivide_classes_by_equality(bool) /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:1893 0xed7466 ipa_icf::sem_item_optimizer::execute() /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:1712 0xed74f1 ipa_icf_driver /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:2441 gdb session: Program received signal SIGSEGV, Segmentation fault. target_opts_for_fn (fndecl=) at /home/uros/gcc-svn/trunk/gcc/tree.h:4681 4681 return TREE_TARGET_OPTION (fn_opts); (gdb) bt #0 target_opts_for_fn (fndecl=) at /home/uros/gcc-svn/trunk/gcc/tree.h:4681 #1 ipa_icf::sem_function::equals_private (this=0x151b080, item=, ignored_nodes=...) at /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:431 #2 0x0000000000ed6408 in ipa_icf::sem_function::equals (this=0x151b080, item=0x0, ignored_nodes=...) at /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:386 #3 0x0000000000ed4d1b in ipa_icf::sem_item_optimizer::subdivide_classes_by_equality (this=0x1522370, in_wpa=false) at /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:1893 #4 0x0000000000ed7467 in ipa_icf::sem_item_optimizer::execute (this=0x1522370) at /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:1712 #5 0x0000000000ed74f2 in ipa_icf::ipa_icf_driver () at /home/uros/gcc-svn/trunk/gcc/ipa-icf.c:2441 #6 0x00000000009bf8e3 in execute_one_pass (pass=0x14a9590) at /home/uros/gcc-svn/trunk/gcc/passes.c:2311 #7 0x00000000009bfe16 in execute_ipa_pass_list (pass=0x14a9590) at /home/uros/gcc-svn/trunk/gcc/passes.c:2708 #8 0x000000000068f79a in ipa_passes () at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:2124 #9 symbol_table::compile (this=0x2aaaae7ad000) at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:2212 fn_opts is NULL at the call site (line 4681). (gdb) list 4676 target_opts_for_fn (const_tree fndecl) 4677 { 4678 tree fn_opts = DECL_FUNCTION_SPECIFIC_TARGET (fndecl); 4679 if (fn_opts == NULL_TREE) 4680 fn_opts = target_option_default_node; 4681 return TREE_TARGET_OPTION (fn_opts); 4682 }