public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [tree-ssa] alias analysis
@ 2003-02-11 17:29 law
  2003-02-11 18:44 ` Diego Novillo
  0 siblings, 1 reply; 23+ messages in thread
From: law @ 2003-02-11 17:29 UTC (permalink / raw)
  To: dnovillo; +Cc: gcc



I've finally wrapped my head around how your scheme speeds up alias
analysis and it's not going to be trivial to merge your ideas with
mine for separating loads and stores, though it may be possible.

Your scheme depends on having every object which has the same alias set
being represented by a single tag.  Then you just need to check things
against that representative tag.

In my scheme for separating loads and stores, we can have different
tags for stores to addressable objects with the same underlying tag.

ie

  int x = 5;
  int y = 10;

  foo (&x, &y);


We'd have distinct tags for x & y, even though they have the same alias
set.


This is important when we check aliased loads -- we have to look through
*all* the tags rather than quitting when we find a alias.  The number of
tags is proportional to the number of stores to unique addressable variables
and the number of pointer stores using unique alias sets.

FWIW, this scheme completes my components of cc1 test in 698 seconds.  Note
I haven't really tested this scheme thoroughly, so it may have bugs
which could affect the timing.



Another approach is to go ahead and assume that X & Y may alias each 
other so that they're globbed into a single alias set.  This scheme will
lead to less accurate information, but does play reasonably well with
your approach.  This scheme completes my components of cc1 test in 701
seconds.  This scheme has been beat on pretty good.

Compare that to the current state of the branch which clocks in at 708
seconds and produces less accurate information than either of the approaches
mentioned above.

I haven't compared the two schemes to see in general how they perform
in terms of disambiguating memory references, but they both manage to
disambiguate all the memory references in 20001226-1.c.

Jeff

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2003-02-20 18:11 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-11 17:29 [tree-ssa] alias analysis law
2003-02-11 18:44 ` Diego Novillo
2003-02-11 18:51   ` law
2003-02-11 20:35     ` Diego Novillo
2003-02-11 20:35       ` Diego Novillo
2003-02-11 22:39       ` [tree-ssa]: Always compute sets (Was Re: [tree-ssa] alias analysis) Daniel Berlin
2003-02-12  4:37       ` [tree-ssa] alias analysis law
2003-02-12  7:33         ` Daniel Berlin
2003-02-13 15:55           ` Diego Novillo
2003-02-13 16:00             ` Daniel Berlin
2003-02-13 16:14               ` Diego Novillo
2003-02-13 16:00             ` Daniel Berlin
2003-02-13 16:23               ` Diego Novillo
2003-02-13 17:35                 ` Daniel Berlin
2003-02-13 15:32         ` Diego Novillo
2003-02-15  0:20           ` law
2003-02-15  2:01             ` Daniel Berlin
2003-02-19  1:04             ` Diego Novillo
2003-02-19  2:54               ` law
2003-02-20  1:43           ` law
2003-02-20  1:53             ` Diego Novillo
2003-02-20 18:18               ` law
2003-02-12  6:30       ` law

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