From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29035 invoked by alias); 23 Oct 2013 11:39:17 -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 29000 invoked by uid 48); 23 Oct 2013 11:39:14 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/58831] [4.8/4.9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu in 64-bit mode Date: Wed, 23 Oct 2013 11:39:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.9.0 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.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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-10/txt/msg01677.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58831 --- Comment #4 from Richard Biener --- Btw, at some point during DSE true_dependence_1 still returns true for (mem/f/c:DI (symbol_ref:DI ("r") ) [3 r+0 S8 A64]) (mem/f:DI (reg/v/f:DI 90 [ p2 ]) [3 *p2_9(D)+0 S8 A64]) but later when sched2 asks (maybe the wrong question?) base_alias_check says that for Breakpoint 8, true_dependence_1 (mem=0x7ffff6e6c360, mem_mode=VOIDmode, mem_addr=0x0, x=0x7ffff6e6c420, x_addr=0x0, mem_canonicalized=false) at /space/rguenther/src/svn/trunk/gcc/alias.c:2520 2520 gcc_checking_assert (mem_canonicalized ? (mem_addr != NULL_RTX) (mem/f:DI (reg/v/f:DI 4 si [orig:90 p2 ] [90]) [3 *p2_9(D)+0 S8 A64]) (mem/f/c:DI (symbol_ref:DI ("r") ) [3 r+0 S8 A64]) rtx mem_base = find_base_term (mem_addr); if (! base_alias_check (x_addr, base, mem_addr, mem_base, GET_MODE (x), mem_mode)) return 0; we pass (gdb) call debug_rtx (mem_base) (symbol_ref/f:DI ("*.LC0") [flags 0x2] ) !? to it. find_base_term uses REG_BASE_VALUE which is initialized to the above.