From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15794 invoked by alias); 3 Oct 2014 13:51:45 -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 15770 invoked by uid 48); 3 Oct 2014 13:51:41 -0000 From: "glisse at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/63446] dangling reference results in confusing diagnostic from -Wuninitialized Date: Fri, 03 Oct 2014 13:51: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-Version: 4.6.0 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: glisse at gcc dot gnu.org X-Bugzilla-Status: NEW 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: 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: 2014-10/txt/msg00211.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D63446 --- Comment #7 from Marc Glisse --- (In reply to Manuel L=C3=B3pez-Ib=C3=A1=C3=B1ez from comment #6) > What about [...] That's roughly what I describe in comment #2, amended by comment #3. > It could be a matter of following the chain of VUSE->VDEF, > which I think we already do for Wuninitialized. IIRC we don't, and the file contains a comment saying that it would be expensive. Actually, properly limiting the maximal depth of the walk (as is done in several other passes) would make it cheap enough and we should prob= ably do it. Note that if make_foo was static or inline, it wouldn't exist anymore in the uninit pass. >>From gcc-bugs-return-463192-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Oct 03 14:23:20 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 16454 invoked by alias); 3 Oct 2014 14:23:19 -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 15793 invoked by uid 48); 3 Oct 2014 14:23:13 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/57003] [4.8/4.9/5.0 Regression] gcc breaks -O2 optimization with Wine(64) - links/info/bisect of commits included Date: Fri, 03 Oct 2014 14:23: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: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: REOPENED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status resolution target_milestone short_desc 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: 2014-10/txt/msg00213.txt.bz2 Content-length: 5637 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D57003 Uro=C5=A1 Bizjak changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |--- Target Milestone|4.8.1 |5.0 Summary|[4.8/4.9 Regression] |[4.8/4.9/5.0 Regression] |gcc-4.8.0 breaks -O2 |gcc breaks -O2 optimization |optimization with Wine(64) |with Wine(64) - |- links/info/bisect of |links/info/bisect of |commits included |commits included --- Comment #23 from Uro=C5=A1 Bizjak --- My r215428 change regressed this PR again. The difference is: --- pr57003.s 2014-10-03 15:08:24.000000000 +0200 +++ pr57003_.s 2014-10-03 15:08:19.000000000 +0200 @@ -78,7 +78,7 @@ leaq -20(%rbx), %rdx movq %rax, %rdi call memcpy - movq %rdi, c(%rip) + movq %rax, c(%rip) .L8: movaps (%rsp), %xmm6 movaps 16(%rsp), %xmm7 @@ -321,5 +321,5 @@ .byte 0xb .align 8 .LEFDE7: - .ident "GCC: (GNU) 5.0.0 20141002 (experimental) [trunk revision 215797]" + .ident "GCC: (GNU) 4.9.2 20141001 (prerelease) [gcc-4_9-branch revision 215749]" .section .note.GNU-stack,"",@progbits So, gcc-5.0 does not detect that %rdi is clobbered in ELF ABI. The runtime failure happens only on CentOS5 (and not in Fedora20), which supports findings in Comment #17. The difference is, that previously we emit memcpy call as: #(call_insn:TI 24 23 27 3 (set (reg:DI 0 ax) # (call (mem:QI (symbol_ref:DI ("memcpy") [flags 0x41] ) [0 memcpy S1 A8]) # (const_int 0 [0]))) pr57003.c:32 661 {*call_value} # (expr_list:REG_DEAD (reg:DI 5 di) # (expr_list:REG_DEAD (reg:DI 4 si) # (expr_list:REG_DEAD (reg:DI 1 dx) # (expr_list:REG_UNUSED (reg:DI 0 ax) # (expr_list:REG_RETURNED (reg/v/f:DI 2 cx [orig:87 e ] [87]) # (expr_list:REG_CALL_DECL (symbol_ref:DI ("memcpy") [flags 0x41] ) # (expr_list:REG_EH_REGION (const_int 0 [0]) # (nil)))))))) # (expr_list (clobber (reg:TI 52 xmm15)) # (expr_list (clobber (reg:TI 51 xmm14)) # (expr_list (clobber (reg:TI 50 xmm13)) # (expr_list (clobber (reg:TI 49 xmm12)) # (expr_list (clobber (reg:TI 48 xmm11)) # (expr_list (clobber (reg:TI 47 xmm10)) # (expr_list (clobber (reg:TI 46 xmm9)) # (expr_list (clobber (reg:TI 45 xmm8)) # (expr_list (clobber (reg:TI 28 xmm7)) # (expr_list (clobber (reg:TI 27 xmm= 6)) # (expr_list (clobber (reg:DI 5 = di)) # (expr_list (clobber (reg:D= I 4 si)) # (expr_list:DI (set (re= g:DI 0 ax) # (reg:DI 5 di)) # (expr_list:DI (use (reg:DI 5 di)) # (expr_list:DI = (use (reg:DI 4 si)) # (expr_list= :DI (use (reg:DI 1 dx)) #=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 (nil)))))))))))))))))) which is alternate, but equivalent form of what was generated previously: #(call_insn:TI 24 23 27 3 (parallel [ # (set (reg:DI 0 ax) # (call (mem:QI (symbol_ref:DI ("memcpy") [flags 0x41] ) [0 memcpy S1 A8]) # (const_int 0 [0]))) # (unspec [ # (const_int 0 [0]) # ] UNSPEC_MS_TO_SYSV_CALL) # (clobber (reg:DI 4 si)) # (clobber (reg:DI 5 di)) # (clobber (reg:TI 27 xmm6)) # (clobber (reg:TI 28 xmm7)) # (clobber (reg:TI 45 xmm8)) # (clobber (reg:TI 46 xmm9)) # (clobber (reg:TI 47 xmm10)) # (clobber (reg:TI 48 xmm11)) # (clobber (reg:TI 49 xmm12)) # (clobber (reg:TI 50 xmm13)) # (clobber (reg:TI 51 xmm14)) # (clobber (reg:TI 52 xmm15)) # ]) pr57003.c:32 652 {*call_value_rex64_ms_sysv} # (expr_list:REG_DEAD (reg:DI 5 di) # (expr_list:REG_DEAD (reg:DI 4 si) # (expr_list:REG_DEAD (reg:DI 1 dx) # (expr_list:REG_RETURNED (reg/v/f:DI 2 cx [orig:87 e ] [87]) # (expr_list:REG_EH_REGION (const_int 0 [0]) # (nil)))))) # (expr_list:DI (set (reg:DI 0 ax) # (reg:DI 5 di)) # (expr_list:DI (use (reg:DI 5 di)) # (expr_list:DI (use (reg:DI 4 si)) # (expr_list:DI (use (reg:DI 1 dx)) # (nil)))))) It looks that Jakub's patch, proposed in Comment #21 doesn't cover alternat= ive form, so it doesn't record clobbers in the alternative form properly. Reopened as 5.0 regression. >>From gcc-bugs-return-463191-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Oct 03 14:23:13 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 15794 invoked by alias); 3 Oct 2014 14:23:13 -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 15727 invoked by uid 48); 3 Oct 2014 14:23:06 -0000 From: "chefmax at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug testsuite/58867] asan and ubsan tests not run for installed testing Date: Fri, 03 Oct 2014 14:23:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: testsuite X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: patch X-Bugzilla-Severity: normal X-Bugzilla-Who: chefmax at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: pinskia at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.2 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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: 2014-10/txt/msg00212.txt.bz2 Content-length: 486 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58867 Maxim Ostapenko changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |chefmax at gcc dot gnu.org --- Comment #5 from Maxim Ostapenko --- This is fixed by r215793, but I forgot to mention it in commit message. So, ok to resolve as fixed?