<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 8/4/11 1:53 PM, Manish Gupta wrote:
<blockquote
cite="mid:CAL6s+Wn1CnhMo7bU6cmeqkteA+mBLe0vBRJqo2W-t-sQT1hPUA@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
It would be great help if someone can point me to similar code in
Analysis or Transform, i.e. tracing value dependencies chains. <br>
</blockquote>
<br>
If I understand correctly, given an instruction I, you want to find
its operands o1 through oN, and then find the instructions (or LLVM
values) that generate the values o1 through oN, and then find the
instructions generating those values, etc, etc. In other words, you
want to take a static backwards slice of an instruction. Is this
correct?<br>
<br>
I don't know of code within LLVM that does this, but I've written
code to take an inter-procedural static backwards slice (only
through SSA values; loads are not matched up to potential stores).
If that's what you need, I can ask my advisor if we can release that
code to you.<br>
<br>
Also, would others find it useful to have this code? I think this
is the second or third time someone's asked for backwards static
slicing code.<br>
<br>
-- John T.<br>
<br>
<blockquote
cite="mid:CAL6s+Wn1CnhMo7bU6cmeqkteA+mBLe0vBRJqo2W-t-sQT1hPUA@mail.gmail.com"
type="cite">
<div><br>
</div>
<div>Thanks,</div>
<div>Manish<br>
<br>
<div class="gmail_quote">On Wed, Aug 3, 2011 at 10:47 AM, Manish
Gupta <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:manishg@cs.ucsd.edu">manishg@cs.ucsd.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello
All,
<div><br>
</div>
<div>What would be the best way to trace Value Dependency
Chains in LLVM. Can I use some API to perform this?</div>
<div><br>
</div>
<div>The use-def chain process mentioned at <a
moz-do-not-send="true"
href="http://llvm.org/docs/ProgrammersManual.html#iterate_chains"
target="_blank">http://llvm.org/docs/ProgrammersManual.html#iterate_chains</a> will
just get the values (Operands) being used in the current
Instruction. For getting the values operands in the
particular instruction are influenced from I have
to recursively call the use-def on these operands. I was
wondering if there is already available better way of
doing this in LLVM. </div>
<div><br>
</div>
<div>Thanks,</div>
<div>Manish</div>
</blockquote>
</div>
<br>
</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>
</body>
</html>