From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24362 invoked by alias); 7 Jan 2013 13:50:28 -0000 Received: (qmail 24293 invoked by uid 48); 7 Jan 2013 13:50:05 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/55862] [4.8 Regression] ICE in compute_antic, at tree-ssa-pre.c:2495 Date: Mon, 07 Jan 2013 13:50: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: RESOLVED 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: 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/msg00488.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55862 --- Comment #5 from Richard Biener 2013-01-07 13:50:03 UTC --- Followup, because of PR55888. We have : # c_21 = PHI # p_41 = PHI a.1_42 = a; goto ; : # c_57 = PHI # a.1_63 = PHI # p_65 = PHI *c_57 = 0; and when PHI-translating p_65 we end up with p_41 (or c_21 value-ized). But AVAIL_OUT of BB 11 is: debug[0] := { c_12(D) (0014), p_32(D) (0027), g.0_11 (0013), c_21 (0033), a.1_42 (0034) } thus contains _only_ c_21 (well, exactly one expression per value - it is a value set after all). And clean via valid_in_sets does case NAME: return bitmap_set_contains_expr (AVAIL_OUT (block), expr); thus checks for the expression availability. That looks bogus to me. Instead we should verify if there is a leader for the NAME in AVAIL_OUT.