Hi,
The AliasTag is a simple id associated with each WN. This is the basic
interface to the generic AliasAnalyzer class. The NystromAliasAnalyzer which is
an instance of the AliasAnalyzer, internally maps this to a sparse-bit vector
of constraint graph node-ids.
We haven't changed anything that the current SSA based flow-sensitive alias
analysis is doing. What we have added is another rule that queries the
AliasAnalyzer using the alias tags on the POINTS_TO objects. This query will
basically replace the current query to the alias classification analysis and is
called only when all other rules return 'may alias' (see
Aliased_Memop_By_Analysis in be/com/opt_alias_rule.cxx). So the graph in the
slides is just comparing the results of the alias classifications analysis with
the new implementation.
Thanks
Rajiv
From: Tianwei [mailto:tianwei.sh...@gmail.com]
Sent: Friday, December 03, 2010 6:33 PM
To: Ravindran, Rajiv
Cc: open64-devel@lists.sourceforge.net
Subject: Re: [Open64-devel] nextgen alias analysis review request
On Sat, Dec 4, 2010 at 9:48 AM, Ravindran, Rajiv
<ravind...@hp.com<mailto:ravind...@hp.com>> wrote:
Hi,
Basically, it compares how precise we are w.r.t to alias classification. We
measured the fraction of alias queries in BE for which we do not alias. As you
can see, for C++ benchmarks we are not performing that well. There are several
reasons for this -
1) Alias classification is done after inlining and since we aren't
context-sensitive yet we tend to be less precise.
OK, I understood that.
2) Alias classification is called multiple times in BE and therefore is
more up-to-date. We do not have this luxury since solving the constraint graph
is more expensive. Moreover to make it worse, there are still a number of cases
(after VHO/PreOpt) where after the transformation we no longer have the WN to
AliasTag (point-to sets) mapping, and we end up being conservative. This is
something we are currently looking at.
What does the AliasTag look like? A global id or a bit-vector like set? I may
check your implementation
I think the SSA-based flow-sensitive alias analysis (or the base+offset+size
rule) did a quite well job, if we can compare its result with your new Alias
analysis result, that will be great. Although the field-sensitive alias
analysis only work at intra-procedural level, we still can add a hook in the
alias manager to see the effects that all existing alias facilities can not
distinguish while new alias analysis can.
3) We still have scalability issues in 483.xalancbmk. We have managed to
address this by selectively "collapsing" objects - thus losing
field-sensitivity. But more tuning is required.
Cool, that's great.
4) Moreover, I believe this provides a better infrastructure to accurately
compute mod/ref sets as well as improve the precision on memory SSA which can
hopefully lead to better performance. So far we are only seeing minor
improvements as shown in the same slide. Fortunately, we aren't degrading the
performance :)
Agree, I am looking forward to that. We may get more interesting results based
on your infrastructure.
Thanks
Rajiv
From: Tianwei [mailto:tianwei.sh...@gmail.com<mailto:tianwei.sh...@gmail.com>]
Sent: Friday, December 03, 2010 5:10 PM
To: Ravindran, Rajiv
Cc:
open64-devel@lists.sourceforge.net<mailto:open64-devel@lists.sourceforge.net>
Subject: Re: [Open64-devel] nextgen alias analysis review request
Hi, Ravindran,
Do you mind to explain a bit more for the page 18 of the slides? what's
the two bar? and what's the performance result? If they are real running time
improvement at IPA, since you can pass 483(especially with your
field-sensitivity), that is really exciting.
I will try to look at all your files later.
Tianwei
On Sat, Dec 4, 2010 at 5:51 AM, Ravindran, Rajiv
<ravind...@hp.com<mailto:ravind...@hp.com>> wrote:
Hi folks,
Attached is a high-level design document describing our implementation of a new
alias analysis infrastructure in Open64. Also included is the presentation we
made of the same at the recent developer's forum. A patch containing the
changes to the existing files is included in nextgenalias.diff, while the new
files have been directly attached.
We plan to initially check this in disabled. Any comments or suggestions is
greatly appreciated.
Thanks
Rajiv
------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: New IBM DB2 features make compatibility easy.
Learn about native support for PL/SQL, new data types, scalar functions,
improved concurrency, built-in packages, OCI, SQL*Plus, data movement tools,
best practices and more - all designed to run applications on both DB2 and
Oracle platforms. http://p.sf.net/sfu/oracle-sfdev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net<mailto:Open64-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
Sheng, Tianwei
Inst. of High Performance Computing
Dept. of Computer Sci. & Tech.
Tsinghua Univ.
--
Sheng, Tianwei
Inst. of High Performance Computing
Dept. of Computer Sci. & Tech.
Tsinghua Univ.
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel