<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 19 April 2017 at 16:50, Pushpinder Singh via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello everyone,<br>
<br>
We are working on a particular points-to analysis. The final output of<br>
that analysis should not have the LLVM SSA temporaries (like, %0, %1).<br>
My doubt is that whether we can extract the normal C variables from<br>
LLVM IR or is there any way to differentiate between SSA temporary and<br>
local C variable?<br>
<br></blockquote></div><br></div><div class="gmail_extra">SSA does not directly map onto C variables.<br></div><div class="gmail_extra">C variables vary. SSA labels do not vary.<br></div><div class="gmail_extra">If you wish to raise LLVM to C, a general approach could take all the SSA labels that are linked with a PHI statement, and give them all the same C variable name.<br></div><div class="gmail_extra">It is unclear what you mean by "points-to analysis".  You might wish to look into "alias analysis" as it might be similar to what you are trying to do.<br><br></div><div class="gmail_extra">The "alloca" statement can represent a C local variable, but due to optimisations, not all C local variables are stored on the stack.<br><br></div></div>