Hi,<div><ol><li>How can I report a bug or commit a patch to the giri progject? I doubt this central commit list is the right place.<br></li><li>Are you still maintaining the giri project any more?</li></ol></div><div>Thank you.</div>

<div><br></div><div>L</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 28, 2012 at 12:49 AM, John Criswell <span dir="ltr"><<a href="mailto:criswell@illinois.edu" target="_blank">criswell@illinois.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 6/26/12 5:07 PM, amruth.rd wrote:<br>
> Hello,<br>
><br>
> I am curious to know if LLVM offers any passes to do interprocedural slicing,  I need to eliminate most of the computations(possibly all, if they don't influence the control flow), but the control flow of the program should be maintained at all cost. I did see an optimization pass to print the CFG of a function without its body to a dot file, but I am interested in generating the source code which gets printed to a dot file.<br>


<br>
</div>There are two static backwards slicing passes for LLVM.<br>
<br>
The first is a partial implementation I wrote for a course project. The<br>
code is in the giri project:<br>
<br>
svn co <a href="https://llvm.org/svn/llvm-project/giri/trunk" target="_blank">https://llvm.org/svn/llvm-project/giri/trunk</a> giri<br>
<br>
The Giri code runs with an older version of LLVM and probably needs some<br>
TLC.  It also only backtracks until it hits a load; additional code must<br>
be written to backtrack further to find potentially reaching stores.<br>
<br>
The second option is to use some code written by Jiri Slaby at<br>
<a href="https://github.com/jirislaby/LLVMSlicer" target="_blank">https://github.com/jirislaby/LLVMSlicer</a>.  I believe his implementation<br>
is a complete static backwards slicer, but I haven't used it myself, so<br>
I don't know it's quality or what version of LLVM it uses.<br>
<br>
I think someone at UW-Madison may have an implementation as well; I'll<br>
contact that person and see.<br>
<br>
-- John T.<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> Thanks,<br>
> Amruth<br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><font face="arial, helvetica, sans-serif" style="background-color:rgb(255,255,255)" color="#666666">Mingliang LIU (刘明亮 in Chinese)<br><br>PACMAN Group,  Dept. of Computer Science & Technology<br>

Tsinghua University, Beijing 100084, China<br>Email: <a href="mailto:liuml07@mails.tsinghua.edu.cn" target="_blank">liuml07@mails.tsinghua.edu.cn</a></font><div><font face="arial, helvetica, sans-serif" style="background-color:rgb(255,255,255)" color="#666666">Homepage: <a href="http://pacman.cs.tsinghua.edu.cn/~liuml07" style="line-height:19px;text-align:center" target="_blank">http://pacman.cs.tsinghua.edu.cn/~liuml07/</a></font></div>

<br>
</div>