[llvm-dev] distinguish program and temporary variables
John Criswell via llvm-dev
llvm-dev at lists.llvm.org
Mon Feb 8 07:35:28 PST 2016
On 2/8/16 9:39 AM, Mohammad Norouzi via llvm-dev wrote:
> Hi,
>
> I need to check if a variable belongs to the program originally.
> Consider the following code line:
>
> y = x + 4
>
> and its corresponding llvm ir (roughly):
>
> %16 = load i32 %x
> %add = add i32 %16, i32 4
> store i32 %add, %y
>
> I need to distinguish between %16, %add and %x, %y.
You might be able to use the Debug information embedded within the LLVM
IR to determine what is an original variable and what is a temporary
added by LLVM. However, I think that such an approach is fragile.
It sounds like you need to be analyzing Clang ASTs instead of LLVM IR.
The Clang AST represents a program in its original source form, so you
can tell what is a program variable, in what file it was defined, its
original source type, etc.
Regards,
John Criswell
>
> Any help is appreciated.
>
> Best,
> Mohammad
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160208/748c1193/attachment.html>
More information about the llvm-dev
mailing list