<div dir="ltr">Probably not a significant one - dyn_cast has to do a little more work to probably support handling object offsets, etc. But mostly I'd choose the isa for readability - if the static pointer type isn't needed, don't use it, etc.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Mar 20, 2017 at 9:36 AM Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg">It's not overloaded, so it isn't necessary. Is there a performance difference or some other reason to prefer the isa over the dyn_cast?</div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">-- adrian</div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Mar 20, 2017, at 9:33 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="gmail_msg" target="_blank">dblaikie@gmail.com</a>> wrote:</div><br class="m_3545912640944371854Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg">Should these be isa instead of dyn_cast, if the result of the cast isn't really needed? (or is findDbgValues overloaded to benefit from the more constrained static types being passed after this change?)</div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Thu, Mar 16, 2017 at 11:45 AM Adrian Prantl via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: adrian<br class="gmail_msg">
Date: Thu Mar 16 13:33:01 2017<br class="gmail_msg">
New Revision: 297973<br class="gmail_msg">
<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=297973&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=297973&view=rev</a><br class="gmail_msg">
Log:<br class="gmail_msg">
Fix unused variable warnings.<br class="gmail_msg">
<br class="gmail_msg">
Modified:<br class="gmail_msg">
    llvm/trunk/lib/Transforms/Utils/Local.cpp<br class="gmail_msg">
<br class="gmail_msg">
Modified: llvm/trunk/lib/Transforms/Utils/Local.cpp<br class="gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/Local.cpp?rev=297973&r1=297972&r2=297973&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/Local.cpp?rev=297973&r1=297972&r2=297973&view=diff</a><br class="gmail_msg">
==============================================================================<br class="gmail_msg">
--- llvm/trunk/lib/Transforms/Utils/Local.cpp (original)<br class="gmail_msg">
+++ llvm/trunk/lib/Transforms/Utils/Local.cpp Thu Mar 16 13:33:01 2017<br class="gmail_msg">
@@ -1358,14 +1358,14 @@ void llvm::salvageDebugInfo(Instruction<br class="gmail_msg">
   };<br class="gmail_msg">
   auto &M = *I.getModule();<br class="gmail_msg">
   if (auto *BitCast = dyn_cast<BitCastInst>(&I))<br class="gmail_msg">
-    findDbgValues(&I, [&](DbgValueInst &DVI) {<br class="gmail_msg">
+    findDbgValues(BitCast, [&](DbgValueInst &DVI) {<br class="gmail_msg">
       // Bitcasts are entirely irrelevant for debug info. Rewrite the dbg.value<br class="gmail_msg">
       // to use the cast's source.<br class="gmail_msg">
       DVI.setOperand(0, MDWrap(I.getOperand(0)));<br class="gmail_msg">
       DEBUG(dbgs() << "SALVAGE: " << DVI << '\n');<br class="gmail_msg">
     });<br class="gmail_msg">
   else if (auto *GEP = dyn_cast<GetElementPtrInst>(&I))<br class="gmail_msg">
-    findDbgValues(&I, [&](DbgValueInst &DVI) {<br class="gmail_msg">
+    findDbgValues(GEP, [&](DbgValueInst &DVI) {<br class="gmail_msg">
       unsigned BitWidth =<br class="gmail_msg">
           M.getDataLayout().getPointerSizeInBits(GEP->getPointerAddressSpace());<br class="gmail_msg">
       APInt Offset(BitWidth, 0);<br class="gmail_msg">
@@ -1381,7 +1381,7 @@ void llvm::salvageDebugInfo(Instruction<br class="gmail_msg">
       }<br class="gmail_msg">
     });<br class="gmail_msg">
   else if (auto *Load = dyn_cast<LoadInst>(&I))<br class="gmail_msg">
-    findDbgValues(&I, [&](DbgValueInst &DVI) {<br class="gmail_msg">
+    findDbgValues(Load, [&](DbgValueInst &DVI) {<br class="gmail_msg">
       // Rewrite the load into DW_OP_deref.<br class="gmail_msg">
       auto *DIExpr = DVI.getExpression();<br class="gmail_msg">
       DIBuilder DIB(M, /*AllowUnresolved*/ false);<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div>
</div></blockquote></div><br class="gmail_msg"></div></div></blockquote></div>