public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/65177] [5 Regression]: extend jump thread for finite state automata causes miscompilation Date: Mon, 23 Feb 2015 17:41:00 -0000 [thread overview] Message-ID: <bug-65177-4-e6nSxWhpEV@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-65177-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65177 --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Martin Liška from comment #0) > Hello. > > Starting with r218451, http://hmmer.janelia.org/ started to be miscompiled. > > Steps to reproduce: > wget > http://selab.janelia.org/software/hmmer3/3.1b1/hmmer-3.1b1-linux-intel- > x86_64.tar.gz > tar xvzf hmmer-3.1b1-cygwin.tar.gz > cd hmmer-3.1b1-cygwin > CFLAGS="-g -O1 -ftree-vrp -fexpensive-optimizations" ./configure > make > make check > > and following test fails: > gdb src/impl_sse/optacc_utest > > Program received signal SIGSEGV, Segmentation fault. > 0x0000000000406a2c in select_i (k=<optimized out>, i=0, gx=0x45ed60, > gm=0x470420) at generic_optacc.c:293 > 293 path[0] = TSCDELTA(p7P_MI, k) * MMX(i-1,k); > (gdb) bt > #0 0x0000000000406a2c in select_i (k=<optimized out>, i=0, gx=0x45ed60, > gm=0x470420) at generic_optacc.c:293 The reason for memory corruption is caused by select_i function called with i == 0, which causes memory load for array[-1]. Martin > #1 p7_GOATrace (gm=0x470420, pp=pp@entry=0x466150, gx=gx@entry=0x45ed60, > tr=tr@entry=0x46e4e0) at generic_optacc.c:220 > #2 0x000000000040322f in utest_optacc (go=go@entry=0x44e010, > r=r@entry=0x44e170, abc=abc@entry=0x44eb50, bg=bg@entry=0x44ed90, > M=M@entry=45, L=L@entry=50, N=19) at ./optacc.c:659 > #3 0x0000000000403613 in main (argc=<optimized out>, argv=<optimized out>) > at ./optacc.c:801 > > I really tried to reduce test case, but unfortunately it's very hard to do > it for the project. > Please tell me if you are capable of reproducing the issue? > > Thanks, > Martin >From gcc-bugs-return-478193-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Feb 23 16:45:18 2015 Return-Path: <gcc-bugs-return-478193-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 28149 invoked by alias); 23 Feb 2015 16:45:18 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 28078 invoked by uid 48); 23 Feb 2015 16:45:13 -0000 From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/65032] [5 Regression] ICE in reload_combine_note_use, at postreload.c:1556 on i686-linux-gnu Date: Mon, 23 Feb 2015 17:46:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub 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: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: <bug-65032-4-kE9AXyavg3@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-65032-4@http.gcc.gnu.org/bugzilla/> References: <bug-65032-4@http.gcc.gnu.org/bugzilla/> 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-02/txt/msg02525.txt.bz2 Content-length: 2075 https://gcc.gnu.org/bugzilla/show_bug.cgi?ide032 --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, from what I can see, the problem is that we have during IRA: (insn 48 47 49 6 (parallel [ (set (reg:DI 93 [ D.2201 ]) (sign_extend:DI (reg/v:SI 88 [ b ]))) (clobber (reg:CC 17 flags)) (clobber (scratch:SI)) ]) pr65032.C:79 143 {extendsidi2_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) (insn 50 93 51 6 (parallel [ (set (reg:DI 111 [ D.2201 ]) (neg:DI (reg:DI 93 [ D.2201 ]))) (clobber (reg:CC 17 flags)) ]) pr65032.C:79 450 {*negdi2_doubleword} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) and LRA turns this into: (insn 48 47 49 6 (parallel [ (set (mem/c:DI (plus:SI (reg/f:SI 7 sp) (const_int 8 [0x8])) [13 %sfp+-24 S8 A64]) (sign_extend:DI (reg/v:SI 5 di [orig:88 b ] [88]))) (clobber (reg:CC 17 flags)) (clobber (reg:SI 0 ax [118])) ]) pr65032.C:79 143 {extendsidi2_1} (nil)) (insn 104 93 101 6 (parallel [ (set (reg:DI 0 ax [orig:111 D.2201 ] [111]) (sign_extend:DI (reg/v:SI 5 di [orig:88 b ] [88]))) (clobber (reg:CC 17 flags)) (clobber (reg:SI 118)) ]) pr65032.C:79 143 {extendsidi2_1} (nil)) (insn 50 101 102 6 (parallel [ (set (reg:DI 0 ax [orig:111 D.2201 ] [111]) (neg:DI (reg:DI 0 ax [orig:111 D.2201 ] [111]))) (clobber (reg:CC 17 flags)) ]) pr65032.C:79 450 {*negdi2_doubleword} (nil)) and the problem is the (clobber (reg:SI 118)) kept in the IL. The constraint for it there is "=X", but despite that accepting anything, postreload really doesn't like pseudos kept around in the instructions. Dunno if (scratch:SI) instead would be still acceptable post-reload, or if we need some other way to express we really don't care about the clobber (the insn will be split during split2 pass).
next prev parent reply other threads:[~2015-02-23 16:39 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-02-23 15:49 [Bug tree-optimization/65177] New: " marxin at gcc dot gnu.org 2015-02-23 15:58 ` [Bug tree-optimization/65177] " rguenth at gcc dot gnu.org 2015-02-23 16:19 ` trippels at gcc dot gnu.org 2015-02-23 17:41 ` marxin at gcc dot gnu.org [this message] 2015-02-23 17:48 ` spop at gcc dot gnu.org 2015-02-23 17:49 ` spop at gcc dot gnu.org 2015-02-25 21:33 ` mpolacek at gcc dot gnu.org 2015-02-25 23:05 ` spop at gcc dot gnu.org 2015-03-09 14:26 ` jakub at gcc dot gnu.org 2015-03-10 22:08 ` law at redhat dot com 2015-03-10 22:39 ` spop at gcc dot gnu.org 2015-03-10 22:42 ` spop at gcc dot gnu.org 2015-03-10 22:49 ` law at redhat dot com 2015-03-10 22:57 ` spop at gcc dot gnu.org 2015-03-10 23:03 ` law at redhat dot com 2015-03-11 16:27 ` spop at gcc dot gnu.org 2015-03-11 21:45 ` law at redhat dot com 2015-03-13 20:47 ` spop at gcc dot gnu.org 2015-03-13 21:05 ` spop at gcc dot gnu.org 2015-03-16 21:35 ` spop at gcc dot gnu.org 2015-03-17 19:05 ` law at redhat dot com 2015-03-17 20:15 ` spop at gcc dot gnu.org 2015-03-24 13:47 ` law at redhat dot com 2015-03-24 16:49 ` spop at gcc dot gnu.org 2015-03-25 23:26 ` spop at gcc dot gnu.org 2015-03-25 23:43 ` spop at gcc dot gnu.org 2015-10-28 9:01 ` yroux at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-65177-4-e6nSxWhpEV@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).