<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 11 June 2017 at 11:32, Nikodemus Siivola <span dir="ltr"><<a href="mailto:nikodemus@random-state.net" target="_blank">nikodemus@random-state.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jun 11, 2017 at 7:49 PM, Dipanjan Das 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-m_-5699756602195055271gmail-">On 11 June 2017 at 07:53, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Sounds like you're looking for reinterpret_cast: <a href="http://en.cppreference.com/w/cpp/language/reinterpret_cast" target="_blank">http://en.cp<wbr>preference.com/w/cpp/language/<wbr>reinterpret_cast</a></div></blockquote><div><br></div></span><div>I tried cast<ConstInt>(vo), but that failed at run-time.</div></div></div></div></blockquote><div><br></div><div>That is not the same as reinterpret_cast<int64>(some_<wbr>value_star).<br></div></div></div></div></blockquote><div><br></div><div>None of the following work.</div><div><br></div><div><div>Value* var_value = reinterpret_cast<intptr_t>(vo);</div><div>Value* var_value= reinterpret_cast<uint64_t>(vo);</div></div><div><br></div><div>The following worked, still didn't solve the problem:</div><div><br></div><div>Value* var_value = reinterpret_cast<ConstantInt*>(vo);<br></div><div> </div><div>I can't pass var_value to a function accepting uint64_t. LLVM complains about broken function call.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>Or better yet, reinterpret_cast<intptr_t>(<wbr>some_value_star)<br><br><a href="http://www.cplusplus.com/reference/cstdint/" target="_blank">http://www.cplusplus.com/<wbr>reference/cstdint/</a><br><br>Cheers,</div><div><br></div><div>  -- nikodemus<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-m_-5699756602195055271gmail-"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><div class="gmail_quote"><div dir="ltr">On Sun, Jun 11, 2017 at 3:06 AM Dipanjan Das via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>I am trying to cast a Value* irrespective of  its underlying subclass to uint64 and pass it on to a method as an argument.</div><div><br></div><div><div>if (StoreInst *store_inst = dyn_cast<StoreInst>(&I)) {</div><div>                    Value* vo = store_inst->getValueOperand();</div><div>                     uint64 value = /* cast vo to unsigned int 64 bit */</div><div>                     func(value);</div><div>                }</div></div><div><br></div><div>How can I force cast 'vo' to unsigned int?</div><span class="gmail-HOEnZb"><font color="#888888"><span class="gmail-m_-5699756602195055271gmail-m_4847125154423016900HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="gmail-m_-5699756602195055271gmail-m_4847125154423016900m_-8648058305725094548m_1966427762172874726gmail_signature"><div dir="ltr"><span><div><div dir="ltr"><p>Thanks & Regards,</p>
<div>Dipanjan</div></div></div></span></div></div>
</font></span></font></span></div><span class="gmail-HOEnZb"><font color="#888888"><span class="gmail-m_-5699756602195055271gmail-m_4847125154423016900HOEnZb"><font color="#888888">
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</font></span></font></span></blockquote></div><span class="gmail-HOEnZb"><font color="#888888">
</font></span></blockquote></span></div><span class="gmail-HOEnZb"><font color="#888888"><span class="gmail-m_-5699756602195055271gmail-"><br><br clear="all"><div><br></div>-- <br><div class="gmail-m_-5699756602195055271gmail-m_4847125154423016900gmail_signature"><div dir="ltr"><span><div><div dir="ltr"><p>Thanks & Regards,</p>
<div>Dipanjan</div></div></div></span></div></div>
</span></font></span></div></div><span class="gmail-HOEnZb"><font color="#888888">
<br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></font></span></blockquote></div><br></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><span><div><div dir="ltr"><p>Thanks & Regards,</p>
<div>Dipanjan</div></div></div></span></div></div>
</div></div>