Hello, <br><br>Thank you for answering. I copy paste-it not precisely (I had the bracket), but the array was not ok. Not it is solved.<br><br>Thank you a lot !<br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 11:54 AM, Nick Lewycky <span dir="ltr"><<a href="mailto:nicholas@mxc.ca" target="_blank">nicholas@mxc.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Alexandru Ionut Diaconescu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello everyone,<br>
<br>
Can you please tell me if it is possible in LLVM to cast a `Value*` to<br>
an `Instruction*/LoadInst*` if for example `isa<LoadInst>(MyValue)` is<br>
true?<br>
</blockquote>
<br>
</div><a href="http://llvm.org/docs/ProgrammersManual.html#the-isa-cast-and-dyn-cast-templates" target="_blank">http://llvm.org/docs/<u></u>ProgrammersManual.html#the-<u></u>isa-cast-and-dyn-cast-<u></u>templates</a><div class="im">
<br>
<br>
 In my particular piece of code:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
     Value* V1 = icmpInstrArray[i]->getOperand(<u></u>0);<br>
     Value* V2 = icmpInstrArray[i]->getOperand(<u></u>1);<br>
     if (isa<LoadInst>(V1) || isa<LoadInst>(V2)){<br>
     ...<br>
     if(isa<LoadInst>(<u></u>icmpInstrArray[i]->getOperand(<u></u>0)))<br>
         LoadInst *LD100 = cast<LoadInst>(icmpInstrArray[<u></u>i]->getOperand(0));<br>
             Value *C100 = LD100->getPointerOperand(); //HERE<br>
COMPILATION ERROR<br>
</blockquote>
<br></div>
You're missing braces after the if-statement.<br>
<br>
Nick<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Further, I just need to make `C100->getName()` and I will get the loaded<br>
variable.<br>
<br>
I don't think that I can use cast like that. Can you tell me a method to<br>
obtain the loaded variable from a Load instruction correspondent to my<br>
ICMP instructions? Or better how I can extract the Load instruction from<br>
`icmpInstrArray[i]-><u></u>getOperand(0)`?<br>
<br>
Thank you a lot !<br>
<br>
<br></div>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">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/<u></u>mailman/listinfo/llvmdev</a><br>
</blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Best regards,</font><br style="background-color:rgb(255,255,255);color:rgb(153,153,153)"><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Alexandru Ionut Diaconescu</font><br>