[PATCH] D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask!

Nick Lewycky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 21 16:03:42 PDT 2018


nicholas added inline comments.


================
Comment at: lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:2436
+///   (x &  m) | (y & ~m)
+/// But there is a second, equivalend variant:
+///   (x | ~m) & (y |  m)
----------------
Typo "equivalend" -> "equivalent".


================
Comment at: lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:2438
+///   (x | ~m) & (y |  m)
+/// Only one of them is canonical,
+/// and if the mask is not a constant. we should fold it to:
----------------
This line looks cut short?


================
Comment at: lib/Transforms/InstCombine/InstCombineAndOrXor.cpp:2439
+/// Only one of them is canonical,
+/// and if the mask is not a constant. we should fold it to:
+///   ((x ^ y) & M) ^ y
----------------
I think the period after "constant" can be removed? (Otherwise, it should be a comma, or "we" should be capitalised.)


Repository:
  rL LLVM

https://reviews.llvm.org/D46814





More information about the llvm-commits mailing list