<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Hal<div class=""><br class=""></div><div class="">This is a spin off from <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150622/284125.html" class="">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150622/284125.html</a>.</div><div class=""><br class=""></div><div class="">Although an SDValue can contain a null SDNode*, it is useful for defining iterators to know that SDNode’s operands cannot be null SDNode’s.  Specifically, this patch ensures that the SDUse’s used as operands are never set to point to a null SDNode*.</div><div class=""><br class=""></div><div class="">The only situation where this is allowed is immediately prior to deleting a node when we need to clear the node operands.  For this i introduced a reset method on SDUse with a note to say when it should be used.</div><div class=""><br class=""></div><div class="">Cheers</div><div class="">Pete</div><div class=""><br class=""></div><div class=""></div></body></html>