public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dberlin at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/18291] [4.0 Regression]: ICE in merge_alias_info
Date: Fri, 26 Nov 2004 22:11:00 -0000	[thread overview]
Message-ID: <20041126221141.15470.qmail@sourceware.org> (raw)
In-Reply-To: <20041103204310.18291.snyder@fnal.gov>


------- Additional Comments From dberlin at gcc dot gnu dot org  2004-11-26 22:11 -------
The real bug here is that may_propagate_copy (op, val) returns true, but we
abort when domopts calls propagate_value with the same arguments.

We think something has gone wrong horribly wrong with regards to flow-sensitive
alias info because the block with the &k in it became dead, allowing us to copy
propagate p_1 into p_2.

However, p_2 still has the name tag that includes k (which is now gone
completely), and p_1 doesn't, because alias info hasn't been rebuilt since
CCP+DCE removed the block with &k in it.

There are a couple options, i'll leave it to diego to decide what is best:

1. Make may_propagate_copy return false (conservatively) when we are trying to
propagate and the name tags don't match.  The propagation will still happen
later after alias info gets rebuilt again.
2. Allow the propagation anyway, and just choose the "best" name tag (the one
with the smallest number of pt_vars), under the assumption that we know what the
heck we are doing :)

Diego, if you are too busy, just let me know which you prefer and i'll implement it.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18291


  parent reply	other threads:[~2004-11-26 22:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-03 20:43 [Bug tree-optimization/18291] New: 4.0: " gcc-bugzilla at gcc dot gnu dot org
2004-11-03 21:02 ` [Bug tree-optimization/18291] [4.0 Regression]: " pinskia at gcc dot gnu dot org
2004-11-03 21:13 ` dnovillo at gcc dot gnu dot org
2004-11-06 22:13 ` reichelt at gcc dot gnu dot org
2004-11-06 23:24 ` pinskia at gcc dot gnu dot org
2004-11-06 23:30 ` pinskia at gcc dot gnu dot org
2004-11-26 22:11 ` dberlin at gcc dot gnu dot org [this message]
2004-11-26 22:50 ` dnovillo at gcc dot gnu dot org
2004-11-26 22:53   ` Diego Novillo
2004-11-26 22:53 ` dnovillo at redhat dot com
2004-12-01 18:54 ` cvs-commit at gcc dot gnu dot org
2004-12-01 19:19 ` dnovillo at gcc dot gnu dot 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=20041126221141.15470.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: link
Be 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).