[LLVMdev] Tracing Value Dependency Chains
manishg at cs.ucsd.edu
Thu Aug 4 14:45:13 CDT 2011
Yes this is what I am looking for. I wrote a code as I described in my first
mail and I am getting desired result except when the chain encounters load
instruction (you have also mentioned the that u skip loads).
I think the recursive trace back for a Value V depending on Operands
(o1,...oN) should terminate at the nearest definition of the oN (i.e. it is
not an instruction but a LLVM Type). Right? If you can release the code
that would be a great help.
On Thu, Aug 4, 2011 at 12:14 PM, John Criswell <criswell at illinois.edu>wrote:
> On 8/4/11 1:53 PM, Manish Gupta wrote:
> It would be great help if someone can point me to similar code in Analysis
> or Transform, i.e. tracing value dependencies chains.
> 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?
> 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.
> 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.
> -- John T.
> On Wed, Aug 3, 2011 at 10:47 AM, Manish Gupta <manishg at cs.ucsd.edu> wrote:
>> Hello All,
>> What would be the best way to trace Value Dependency Chains in LLVM. Can
>> I use some API to perform this?
>> The use-def chain process mentioned at
>> http://llvm.org/docs/ProgrammersManual.html#iterate_chains 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.
> LLVM Developers mailing listLLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the LLVMdev