<div dir="ltr">1)<br>     (SubclassData & ~NUW) | (b * NUW);<br>Maybe better to write somehow<br>(SubclassData & ~NUW) | (b ? NUW : 0);<br>IMHO it is more readable<br><br>2) const BinarySDNode *BinNode = static_cast<const BinarySDNode*>(N);<br>
formatting: \t...<br>+                BinNode->hasNoUnsignedWrap(),<br>+         BinNode->hasNoSignedWrap(),<br>+         BinNode->isExact());<br>the same...<br>+                    bool nsw, bool exact) {<br>+          bool nsw, bool exact) {<br>
+        Op1, Op2, HasNUW, HasNSW, IsExact);<br>+ if (BinNode->hasNoSignedWrap())<br>+   break;<br><br>3) Maybe better to remove bundle of cases on low level?<br>In order to reduce duplication of code...<br></div>