<div dir="ltr">This patch doesn't make sense.<div><br><div><br></div><div>Either  you need to have it assign the GV and fix the leader tables so that the lookup at this point succeeds (which is ideal), or VN.lookup(op) == null, it should set success=false and break.</div><div><br></div><div><br></div><div>The former is *greatly* preferable to the latter.</div><div><br></div><div>What you've done here makes no sense, because findLeader(anything, <new value number>) will always return nothing, since addLeaderToTable has not been called on the new value number.</div><div>All you are doing in that case is wasting time calling findLeader.</div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 6, 2015 at 11:22 PM, Weiming Zhao via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">weimingz created this revision.<br>
weimingz added a subscriber: llvm-commits.<br>
<br>
when coercing loads, it inserts some instructions, which have no GV assigned.<br>
<br>
<a href="https://llvm.org/bugs/show_bug.cgi?id=25440" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=25440</a><br>
<br>
<br>
<a href="http://reviews.llvm.org/D14479" rel="noreferrer" target="_blank">http://reviews.llvm.org/D14479</a><br>
<br>
Files:<br>
  lib/Transforms/Scalar/GVN.cpp<br>
<br>
Index: lib/Transforms/Scalar/GVN.cpp<br>
===================================================================<br>
--- lib/Transforms/Scalar/GVN.cpp<br>
+++ lib/Transforms/Scalar/GVN.cpp<br>
@@ -2529,7 +2529,7 @@<br>
     if (isa<Argument>(Op) || isa<Constant>(Op) || isa<GlobalValue>(Op))<br>
       continue;<br>
<br>
-    if (Value *V = findLeader(Pred, VN.lookup(Op))) {<br>
+    if (Value *V = findLeader(Pred, VN.lookup_or_add(Op))) {<br>
       Instr->setOperand(i, V);<br>
     } else {<br>
       success = false;<br>
<br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>