public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Major alias pessimization
@ 2001-10-17 14:17 Richard Kenner
  0 siblings, 0 replies; only message in thread
From: Richard Kenner @ 2001-10-17 14:17 UTC (permalink / raw)
  To: gcc

From store_field:

      /* If the address of the structure varies, then it might be on
	 the stack.  And, stack slots may be shared across scopes.
	 So, two different structures, of different types, can end up
	 at the same location.  We will give the structures alias set
	 zero; here we must be careful not to give non-zero alias sets
	 to their fields.  */
      set_mem_alias_set (to_rtx,
			 rtx_varies_p (addr, /*for_alias=*/0)
			 ? 0 : alias_set);

This is a *very* major pessimization since it essentially means that for
all stores into aggregates, we use set 0, which means it will conflict
with anything, which essentially disables most alias set handling.

We are supposed to make sure that we never share stack slots of objects
which don't always conflict, so this should not be necessary.

There must be a better way to fix this.

What is the test case here?

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-10-17 14:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-17 14:17 Major alias pessimization Richard Kenner

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).