[PATCH] D114996: [InstSimplify] Add logic `or` fold
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 3 11:03:12 PST 2021
spatel added inline comments.
================
Comment at: llvm/lib/Analysis/InstructionSimplify.cpp:2229-2230
+ // (A ^ B) | (~A | B) --> -1
+ // (A ^ B) | (~B | A) --> -1
+ if (match(X, m_c_Or(m_Not(m_Value(A)), m_Value(B))) &&
----------------
The code comment doesn't line up with the match logic. We always match the 'not' of A, so there shouldn't be a ~B here. There should be 4 lines in this list to make it symmetric with the other comments in this function.
================
Comment at: llvm/test/Transforms/InstSimplify/or.ll:904
+ %xor = xor i32 %a, %b
+ %notb = xor i32 %b, -1
+ %or = or i32 %a, %notb
----------------
I think the tests are covering all the possibilities, but (similar to my previous comment) I'd prefer that we keep the 'not' on 'A' only, so it's easier to see how things are moving around in these comments/tests.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114996/new/
https://reviews.llvm.org/D114996
More information about the llvm-commits
mailing list