Thanks duncan and samuel. I guess the optimization about striping dead prototypes was not working because of "no dead prototypes" to strip. The -std-compile-opts option works. I can see a change. And @samuel, I tried the clang's -o0 optimization level compiling, but I could not find any difference with or without that switch in the bitcode file generated. I used this command:<br>
<br> clang filename.c -o0 -emit-llvm<br><br>Is this the correct way to use it? If yes then i guess clang does not optimize the source by default. <br><br>And one more thing, <br>When I try a loop optimization on a program like the following, I can't see any optimizations performed on the code,<br>
<br>int main()<br>{<br>    int A[10], B[10];<br>    int i;<br><br>    for(i=0; i<10; i++)<br>    {<br>        A[i] = 1+ i;<br>    }<br>    for (i=0; i<10 ; i++)<br>    {<br>        B[i] = A[i] +1;<br>        printf("\n %d is B[%d] ", B[i] , i);<br>
    }<br>return 0;<br>}<br>   <br>The commands that I used to do the opts are:<br>clang -c -emit-llvm filename.c -o filename.bc<br><br>opt -loop-unroll -f <filename.bc> filename2.bc<br><br>This does not give me any different output when compared to no optimizations. I mean filename.bc and filename2.bc are the same.<br>
Is my program wrong when it comes to a loop optimization or is the procedure to perform the optimization wrong. ?<br><br>Thanks.<br><br><div class="gmail_quote">On Sat, Apr 17, 2010 at 1:02 PM, Samuel Crow <span dir="ltr"><<a href="mailto:samuraileumas@yahoo.com">samuraileumas@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello Kalyan,<br>
<br>
There is one more thing you should know:  Clang has maximum optimization turned on by default.  You need to specify -O0 to turn it off if you want to see what opt does without clang running all of the optimizations first.<br>

<br>
--Sam<br>
<div class="im"><br>
<br>
<br>
----- Original Message ----<br>
> From: Duncan Sands <<a href="mailto:baldrick@free.fr">baldrick@free.fr</a>><br>
> To: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
> Sent: Sat, April 17, 2010 2:00:00 AM<br>
> Subject: Re: [LLVMdev] understanding the opt tool<br>
><br>
> Hi Kalyan,<br>
<br>
> opt -strip-dead-prototypes -f <filename.bc><br>
> filename2.bc<br>
<br>
you have to specify the list of passes to run.<br>
> -strip-dead-prototypes<br>
only removes unused declarations.  If there are<br>
> none, it will do nothing.<br>
Try:<br>
   opt -std-compile-opts -f<br>
> <filename.bc><br>
> filename2.bc<br>
<br>
Ciao,<br>
<br>
Duncan.<br>
_______________________________________________<br>
LLVM<br>
> Developers mailing list<br>
<br>
</div>> href="mailto:<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>"><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a><br>
<div><div></div><div class="h5">><br>
> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Kalyan Ponnala<br>phone: 8163772059<br>
<div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style>