From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32760 invoked by alias); 30 Jan 2013 15:57:16 -0000 Received: (qmail 31547 invoked by uid 48); 30 Jan 2013 15:56:30 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/56150] [4.8 Regression] ICE segfault in do_pre / tail_merge_optimize Date: Wed, 30 Jan 2013 15:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Status Last reconfirmed AssignedTo Target Milestone Summary Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2013-01/txt/msg02765.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56150 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2013-01-30 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.8.0 Summary|ICE segfault in do_pre / |[4.8 Regression] ICE |tail_merge_optimize |segfault in do_pre / | |tail_merge_optimize Ever Confirmed|0 |1 --- Comment #2 from Richard Biener 2013-01-30 15:56:27 UTC --- Confirmed. 1119 case GIMPLE_ASSIGN: 1120 lhs1 = gimple_get_lhs (s1); 1121 lhs2 = gimple_get_lhs (s2); 1122 if (gimple_vdef (s1)) 1123 { 1124 if (vn_valueize (gimple_vdef (s1)) != vn_valueize (gimple_vdef (s2))) s2 isn't a store. Index: gcc/tree-ssa-tail-merge.c =================================================================== --- gcc/tree-ssa-tail-merge.c (revision 195574) +++ gcc/tree-ssa-tail-merge.c (working copy) @@ -1121,6 +1121,8 @@ gimple_equal_p (same_succ same_succ, gim lhs2 = gimple_get_lhs (s2); if (gimple_vdef (s1)) { + if (!gimple_vdef (s2)) + return false; if (vn_valueize (gimple_vdef (s1)) != vn_valueize (gimple_vdef (s2))) return false; if (TREE_CODE (lhs1) != SSA_NAME fixes it.