public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "law at redhat dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/60902] [4.9/4.10 Regression] ffmpeg built with gcc 4.9 RC produces incorrect flac playback code Date: Tue, 22 Apr 2014 07:21:00 -0000 [thread overview] Message-ID: <bug-60902-4-q95b7KGVZy@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-60902-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60902 --- Comment #24 from Jeffrey A. Law <law at redhat dot com> --- So the issue here is we have an ASM which feeds an eq/neq condition found inside a loop. The eq/neq condition creates an equivalency that is (mis) used when we thread through the loop backedge. The code which records temporary equivalences for jump threading ignores GIMPLE_ASMs, so as we reprocess the block, the old equivalence isn't replaced with anything new. ie, the old equivalence doesn't get invalidated. As a result we re-use the implied value from the conditional in a previous iteration of the loop to incorrectly simplify a test and all hell breaks loose. In the past we were so conservative when traversing loop backedges that it was safe to totally ignore GIMPLE_ASMs in this code. That's no longer the safe thing to do.
next prev parent reply other threads:[~2014-04-22 7:21 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-04-20 8:45 [Bug c/60902] New: " arthur.marsh at internode dot on.net 2014-04-20 8:48 ` [Bug target/60902] " pinskia at gcc dot gnu.org 2014-04-20 9:34 ` arthur.marsh at internode dot on.net 2014-04-20 9:39 ` arthur.marsh at internode dot on.net 2014-04-20 9:42 ` arthur.marsh at internode dot on.net 2014-04-20 9:43 ` pinskia at gcc dot gnu.org 2014-04-20 9:46 ` mpolacek at gcc dot gnu.org 2014-04-20 10:23 ` arthur.marsh at internode dot on.net 2014-04-20 10:24 ` arthur.marsh at internode dot on.net 2014-04-20 10:34 ` trippels at gcc dot gnu.org 2014-04-20 11:53 ` trippels at gcc dot gnu.org 2014-04-20 12:18 ` trippels at gcc dot gnu.org 2014-04-20 13:20 ` trippels at gcc dot gnu.org 2014-04-20 13:31 ` [Bug tree-optimization/60902] " trippels at gcc dot gnu.org 2014-04-20 13:31 ` trippels at gcc dot gnu.org 2014-04-20 17:19 ` [Bug tree-optimization/60902] [4.9/4.10 Regression] " trippels at gcc dot gnu.org 2014-04-20 17:22 ` trippels at gcc dot gnu.org 2014-04-20 17:29 ` trippels at gcc dot gnu.org 2014-04-20 17:32 ` trippels at gcc dot gnu.org 2014-04-21 7:34 ` trippels at gcc dot gnu.org 2014-04-22 5:10 ` law at redhat dot com 2014-04-22 6:42 ` law at redhat dot com 2014-04-22 7:21 ` law at redhat dot com [this message] 2014-04-22 7:29 ` law at redhat dot com 2014-04-22 8:50 ` rguenth at gcc dot gnu.org 2014-04-23 5:15 ` law at redhat dot com 2014-04-23 7:04 ` trippels at gcc dot gnu.org 2014-04-23 9:17 ` trippels at gcc dot gnu.org 2014-04-23 9:44 ` trippels at gcc dot gnu.org 2014-04-23 18:05 ` law at gcc dot gnu.org 2014-04-25 19:22 ` [Bug tree-optimization/60902] [4.9 " jamrial at gmail dot com 2014-04-25 19:51 ` law at redhat dot com 2014-04-28 13:38 ` law at gcc dot gnu.org 2014-05-13 20:27 ` law at gcc dot gnu.org 2014-05-13 20:28 ` law at redhat dot com
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-60902-4-q95b7KGVZy@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).