public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/25737] ACATS c974001 c974013 hang with struct aliasing
Date: Sun, 24 Sep 2006 18:23:00 -0000	[thread overview]
Message-ID: <20060924182341.13489.qmail@sourceware.org> (raw)
In-Reply-To: <bug-25737-10053@http.gcc.gnu.org/bugzilla/>



------- Comment #37 from ebotcazou at gcc dot gnu dot org  2006-09-24 18:23 -------
> No, really, you don't seem to understand.
> If you respect these DECL_NONADDRESSABLE_P or
> TYPE_NONALIASED_COMPONENT flags, you are going to make them unaliased.
> Your whole bug report is that they are not aliased and should be, and
> that the loads and stores currently don't interfere but should.

I think I understand your viewpoint: the name of TYPE_NONALIASED_COMPONENT
and DECL_NONADDRESSABLE_P seems to imply than setting them would always
result in less V_MAY_DEF's in the code.  But...

> Diego, the short summary is that Eric has some Ada testcases where we
> end up with less V_MAY_DEF's than he thinks should.  He believes that
> respecting these flags, which specify you cannot form the address of a
> certain component, etc, will somehow cause him to end up with more
> aliasing and fix his testcase by anything other than luck.

...that's not so simple.  If you look at how these flags work in GCC 3.x,
you'll see that setting them has some impact on the alias sets used to access
memory references, via can_address_p and the MEM_KEEP_ALIAS_SET_P flag.
In GCC 4 dialect, this would result in different V_MAY_DEF's, not less.

I'm not saying that this is a sane design or that we should try to replicate
it in GCC 4, I'm just saying that for the time being struct aliasing totally
overlooks this mechanism and doesn't work for Ada because of that.


-- 


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


  parent reply	other threads:[~2006-09-24 18:23 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-10 13:07 [Bug tree-optimization/25737] New: ACATS tests c974001 and c974013 do not terminate with struct aliasing enabled rguenth at gcc dot gnu dot org
2006-02-05 10:28 ` [Bug tree-optimization/25737] " ebotcazou at gcc dot gnu dot org
2006-03-22  9:53 ` ebotcazou at gcc dot gnu dot org
2006-03-22 10:06 ` ebotcazou at gcc dot gnu dot org
2006-03-22 10:28 ` ebotcazou at gcc dot gnu dot org
2006-03-22 11:17 ` rguenth at gcc dot gnu dot org
2006-03-22 11:19 ` rguenth at gcc dot gnu dot org
2006-03-23 10:25 ` ebotcazou at gcc dot gnu dot org
2006-03-23 10:27 ` ebotcazou at gcc dot gnu dot org
2006-03-23 11:09 ` [Bug tree-optimization/25737] [4.1/4.2 Regression] " rguenth at gcc dot gnu dot org
2006-03-23 13:40 ` dberlin at gcc dot gnu dot org
2006-03-23 13:43 ` rguenther at suse dot de
2006-03-23 14:13 ` [Bug tree-optimization/25737] [4.1/4.2 Regression] ACATS tests c974001 and c974013 do not terminate with struct aliasing pinskia at gcc dot gnu dot org
2006-03-23 17:57 ` ebotcazou at gcc dot gnu dot org
2006-03-23 18:08 ` ebotcazou at gcc dot gnu dot org
2006-03-23 18:13 ` ebotcazou at gcc dot gnu dot org
2006-03-23 18:24 ` ebotcazou at gcc dot gnu dot org
2006-03-23 20:12 ` dberlin at dberlin dot org
2006-03-23 22:21 ` ebotcazou at gcc dot gnu dot org
2006-03-23 22:28 ` rguenth at gcc dot gnu dot org
2006-03-23 22:33 ` ebotcazou at gcc dot gnu dot org
2006-03-24  4:00 ` dberlin at dberlin dot org
2006-03-24  4:04 ` dberlin at dberlin dot org
2006-04-16 18:35 ` [Bug tree-optimization/25737] [4.1/4.2 Regression] ACATS c974001 c974013 hang " mmitchel at gcc dot gnu dot org
2006-04-18 17:36 ` ebotcazou at gcc dot gnu dot org
2006-05-13 18:56 ` ebotcazou at gcc dot gnu dot org
2006-05-14 22:28 ` mmitchel at gcc dot gnu dot org
2006-05-15  5:36 ` ebotcazou at gcc dot gnu dot org
2006-05-15 12:42 ` dberlin at dberlin dot org
2006-05-25  2:47 ` mmitchel at gcc dot gnu dot org
2006-06-12 13:36 ` danglin at gcc dot gnu dot org
2006-06-23 15:33 ` krebbel at gcc dot gnu dot org
2006-09-21 13:56 ` krebbel at gcc dot gnu dot org
2006-09-21 14:00 ` rguenth at gcc dot gnu dot org
2006-09-21 14:05 ` [Bug tree-optimization/25737] " ebotcazou at gcc dot gnu dot org
2006-09-21 14:49 ` krebbel at gcc dot gnu dot org
2006-09-21 14:53 ` dberlin at dberlin dot org
2006-09-21 16:53 ` ebotcazou at gcc dot gnu dot org
2006-09-22 12:55 ` dberlin at dberlin dot org
2006-09-24 18:23 ` ebotcazou at gcc dot gnu dot org [this message]
2006-09-25  1:27   ` Daniel Berlin
2006-09-25  1:27 ` dberlin at dberlin dot org
2006-10-03 12:55 ` dnovillo at gcc dot gnu dot org
2006-10-03 14:13 ` ebotcazou at gcc dot gnu dot org
2007-06-20 18:17 ` nemet at gcc dot gnu dot org
2007-06-20 18:19 ` nemet at gcc dot gnu dot org
2007-06-21 10:11 ` ebotcazou at gcc dot gnu dot org
2007-06-21 10:14 ` ebotcazou 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=20060924182341.13489.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).