<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 3/10/15 7:25 AM, Rahul Jain wrote:<br>
</div>
<blockquote
cite="mid:CADZ2VqD3KP_YXq5K1t=7kwnWbzKLhF6KvP6pKzBPU0J=EEVEvg@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
<p dir="ltr">This landed in my spam folder so resending it to the
list! </p>
</blockquote>
<br>
My first question is, "What is to be gained from the extra
precision?" Will this help some optimization that already exists
within LLVM? Will it help optimize memory safety checks by finding
more type-safe memory objects (ala SAFECode)? Will it enable
outside projects to build better static analysis and debugging
tools?<br>
<br>
Different uses of points-to/alias analysis place different
constraints on the precision/performance tradeoff. The intended use
also changes the interface (some interfaces just want alias pairs
while others want a points-to/shape graph).<br>
<br>
A strong proposal for an alias analysis project should communicate
the intended use of the alias analysis, why that intended use is
useful, and why the extra precision is needed.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<br>
<blockquote
cite="mid:CADZ2VqD3KP_YXq5K1t=7kwnWbzKLhF6KvP6pKzBPU0J=EEVEvg@mail.gmail.com"
type="cite">
<div class="gmail_quote">On Mar 10, 2015 2:12 PM, "Pratik Bhatu"
<<a moz-do-not-send="true" href="mailto:cs12b1010@iith.ac.in">cs12b1010@iith.ac.in</a>>
wrote:<br type="attribution">
<blockquote class="gmail_quote">
<div>Hi all,</div>
<div>
<div><br>
</div>
<div>I'm a 3rd year CSE B.Tech student and have been
studying LLVM since the past year. I have written a pass
for doing register allocation as part of my course project
and have also been studying LLVM code sections related to
SSA construction, dominance frontiers,etc. I also made
some contributions to the Polly project.</div>
<div><br>
</div>
<div>Currently I am interested in improving the existing
alias analysis infrastructure as part of my GSoC-15
project. The current pointer analyses in LLVM (basicaa,
cflaa etc.) compute imprecise information as none of them
are flow-sensitive. The aim of my project is to implement
a pass that computes more precise points-to pairs that is
both flow-sensitive as well as context-sensitive. This
method has been described in
<a moz-do-not-send="true">Liveness-Based Pointer Analysis</a> [1] and
has already been implemented in the <a
moz-do-not-send="true">GCC compiler</a>.</div>
<div><br>
</div>
<div>Most of the information in traditional
context-sensitive algorithms is useless because it
involves variables that are dead. The paper however relies
on liveness information at the construction time of
points-to-sets to prune the useless information. This
method makes it comparable to a context-insensitive
algorithm in cost.</div>
<div><br>
</div>
<div>This would be an inter-procedural pass and would be
implemented in the existing AliasAnalysis infrastructure
by implementing all the methods of AliasAnalysis class
similar to the existing alias analysis passes in LLVM like
basicaa and CFL-AA. I am looking for feedback and on
directions on how to proceed with this.</div>
<div><br>
</div>
<div>[1] Uday P. Khedker, Alan Mycroft, and Prashant Singh
Rawat. 2012. “Liveness-Based pointer analysis”. In
Proceedings of the 19th international conference on Static
Analysis (SAS'12), Antoine Miné and David Schmidt (Eds.).
Springer-Verlag, Berlin, Heidelberg, 265-282.</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>Regards</div>
<div>Pratik Bhatu<br>
<div>Bachelors of Technology, 3rd Year</div>
<div>Computer Science and Engineering</div>
<div>IIT Hyderabad</div>
<div>+91 961 905 6833</div>
</div>
</div>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a moz-do-not-send="true" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>
<a moz-do-not-send="true"
href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br>
<a moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a class="moz-txt-link-freetext" href="http://www.cs.rochester.edu/u/criswell">http://www.cs.rochester.edu/u/criswell</a></pre>
</body>
</html>