<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Mar 15, 2013, at 10:51 AM, Justin Holewinski <<a href="mailto:justin.holewinski@gmail.com">justin.holewinski@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div dir="ltr">Thanks Jakob!<div><br></div><div>Modified patch attached.  Anyone adverse to this change?</div></div></div></blockquote><div><br></div><div><div>+</div><div>+  // Propagate ordering</div><div>+  unsigned Order = DAG.GetOrdering(Op.getNode());</div><div>+  DAG.AssignOrdering(Lo.getNode(), Order);</div><div>+  DAG.AssignOrdering(Hi.getNode(), Order);</div><div> </div><div>Did you consider what happens when CSE kicks in? The new nodes may not be new, they could have been CSE'ed with an existing expression.</div><div><br></div><div>When that happens, the ordering should be the earlier of the two.</div><div><br></div><div>I think it would make sense to teach the SDNodeOrdering class about this.</div><div><br></div><div>/jakob</div><div><br></div></div></div></body></html>