<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 11/11/13 3:47 AM, Saleena Nazeer
wrote:<br>
</div>
<blockquote
cite="mid:CAG7=QRCnbmDruY4eUBEPLVtzdK_8rgNoYyZe0uzged4CXe-d1g@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi,<br>
</div>
We are planning to implement an analysis and
optimization specifically meant for non-SSA code. We
would like to know whether LLVM supports non-SSA IR? The
other choice we have is to work with the GIMPLE code of
GCC. We need your help in choosing the appropriate
framework. <br>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
Heap objects and address-taken global and stack variables are not in
SSA form in LLVM. You can therefore use your analysis on them
(although be aware that you'll have to deal with weak updates due to
aliasing).<br>
<br>
Also, I would think that an analysis on non-SSA variables would also
work on SSA variables; the analysis just may not be as efficient as
it could be because it's not taking advantage of the SSA form. Is
there a particular reason why you're looking for a non-SSA IR?<br>
<br>
The machine code IR in LLVM (MachineInstrs, MachineBasicBlocks,
etc.) is not required to be in SSA form. I think it starts in SSA
form and is then changed into non-SSA form during code generation.
You could make your analysis and optimization a MachineFunctionPass,
but if it's meant to run on a platform-independent IR, I'm not sure
it's the best choice.<br>
<br>
The Clang AST is higher level than LLVM IR, but I don't think it's
in SSA form.<br>
<br>
As for GIMPLE, I've never worked with it, so I can't compare it to
LLVM.<br>
<br>
-- John T.<br>
<br>
<blockquote
cite="mid:CAG7=QRCnbmDruY4eUBEPLVtzdK_8rgNoYyZe0uzged4CXe-d1g@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>
</div>
thanks<br>
</div>
Saleena N<br>
</div>
National Institute of Technology Calicut<br>
</div>
India<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>