[PATCH] Passing down BinaryOperator flags to BinarySDNode + X86 optimization

Daniil Troshkov troshkovdanil at gmail.com
Mon Jun 2 02:39:30 PDT 2014


1)
     (SubclassData & ~NUW) | (b * NUW);
Maybe better to write somehow
(SubclassData & ~NUW) | (b ? NUW : 0);
IMHO it is more readable

2) const BinarySDNode *BinNode = static_cast<const BinarySDNode*>(N);
formatting: \t...
+                BinNode->hasNoUnsignedWrap(),
+         BinNode->hasNoSignedWrap(),
+         BinNode->isExact());
the same...
+                    bool nsw, bool exact) {
+          bool nsw, bool exact) {
+        Op1, Op2, HasNUW, HasNSW, IsExact);
+ if (BinNode->hasNoSignedWrap())
+   break;

3) Maybe better to remove bundle of cases on low level?
In order to reduce duplication of code...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140602/de01411a/attachment.html>


More information about the llvm-commits mailing list