<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>