public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed Date: Wed, 24 Mar 2010 19:02:00 -0000 [thread overview] Message-ID: <20100324190202.710.qmail@sourceware.org> (raw) In-Reply-To: <bug-42906-10053@http.gcc.gnu.org/bugzilla/> ------- Comment #23 from hubicka at gcc dot gnu dot org 2010-03-24 19:02 ------- Created an attachment (id=20188) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20188&action=view) Patch in testing Hi, this is patch I am testing. I was also re-thinking the problem of redirecting BB with dead conditional to next useful postdominator (that is the "fixed" version of algorihm by shiller). I am not convinced we can pick random PHI argument here as Richard changed my original code looking for source of control dependent graph. The testcase would be something like BB1 with succesors BB2 and BB6 BB2 with succesors BB3 and BB4 BB3 and BB4 with succesors BB5 and BB6 containing PHI that is A from BB1 and B from BB3 or BB4 If we end up eliminating BB3 and BB4 and thus condition in BB3, we will redirect BB3 to BB5. The argument of PHI however must be updated to B for new edge, not A as we pick currently. I will try to create real world testcase and I think we can fix this by avoidiging the redirection. Cytron et al suggest using random edge leaving BB with dead conditional. This is wrong since it closes infinite loops. I think we can instead of that just pick random edge that is not loopback edge in DFS. That won't close loops and will result in acyclic reverse EBBS of empty blocks we easilly cleanup afterwards. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906
next prev parent reply other threads:[~2010-03-24 19:02 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-01-30 16:06 [Bug tree-optimization/42906] New: " rguenth at gcc dot gnu dot org 2010-01-30 16:06 ` [Bug tree-optimization/42906] " rguenth at gcc dot gnu dot org 2010-01-30 16:37 ` steven at gcc dot gnu dot org 2010-01-30 16:42 ` steven at gcc dot gnu dot org 2010-01-30 16:46 ` steven at gcc dot gnu dot org 2010-01-30 16:51 ` steven at gcc dot gnu dot org 2010-01-30 16:53 ` rguenth at gcc dot gnu dot org 2010-01-30 16:55 ` rguenth at gcc dot gnu dot org 2010-01-30 16:58 ` rguenth at gcc dot gnu dot org 2010-01-30 16:58 ` rguenth at gcc dot gnu dot org 2010-01-30 17:31 ` steven at gcc dot gnu dot org 2010-01-30 20:32 ` steven at gcc dot gnu dot org 2010-01-30 20:56 ` rguenth at gcc dot gnu dot org 2010-01-30 21:12 ` rguenth at gcc dot gnu dot org 2010-01-30 23:04 ` rguenth at gcc dot gnu dot org 2010-01-30 23:15 ` steven at gcc dot gnu dot org 2010-02-02 13:31 ` rguenth at gcc dot gnu dot org 2010-02-16 19:54 ` changpeng dot fang at amd dot com 2010-02-16 19:57 ` pinskia at gcc dot gnu dot org 2010-03-17 0:19 ` changpeng dot fang at amd dot com 2010-03-17 0:22 ` changpeng dot fang at amd dot com 2010-03-17 10:01 ` rguenther at suse dot de 2010-03-18 17:24 ` changpeng dot fang at amd dot com 2010-03-18 17:30 ` rguenther at suse dot de 2010-03-24 18:18 ` hubicka at gcc dot gnu dot org 2010-03-24 19:02 ` hubicka at gcc dot gnu dot org [this message] 2010-03-25 17:23 ` hubicka at ucw dot cz 2010-03-27 18:31 ` hubicka at gcc dot gnu dot org 2010-04-06 11:26 ` rguenth at gcc dot gnu dot org 2010-04-06 11:38 ` hubicka at ucw dot cz 2010-04-06 15:19 ` hubicka at gcc dot gnu dot org 2010-07-31 9:35 ` rguenth at gcc dot gnu dot org [not found] <bug-42906-4@http.gcc.gnu.org/bugzilla/> 2010-12-16 13:05 ` rguenth at gcc dot gnu.org 2011-04-28 15:15 ` rguenth at gcc dot gnu.org 2012-03-23 15:34 ` hubicka at gcc dot gnu.org 2012-07-02 10:29 ` rguenth 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=20100324190202.710.qmail@sourceware.org \ --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).