~((A & B) ^ (A | ?)) -> (A & B) | ~(A | ?)
https://alive2.llvm.org/ce/z/JHN2p4
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | ||
---|---|---|
3484 | I see that the first match is shared, but this function name and description are not accurate if we add the new fold inside here. It would be better to create/rename this function as foldNotXor() that has the first match, then it calls or includes sinkNotIntoXor() and includes the new code. |
Comment Actions
Was there a problem with D139300? That is the same transform as this, but coded differently, right? I find that version easier to read even if it repeats the match for ~xor.
I see that the first match is shared, but this function name and description are not accurate if we add the new fold inside here.
It would be better to create/rename this function as foldNotXor() that has the first match, then it calls or includes sinkNotIntoXor() and includes the new code.