diff options
author | woruyu <99597449+woruyu@users.noreply.github.com> | 2025-06-19 00:22:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-18 17:22:53 +0100 |
commit | 00189211486d052b25429f11790ef5486cf9d3ce (patch) | |
tree | 8c3fd987d4ec5061d737118b05f8e6c5d0390dbe /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | 9827440f1e723423baf4c235e844eb8ac48a8f97 (diff) | |
download | llvm-00189211486d052b25429f11790ef5486cf9d3ce.zip llvm-00189211486d052b25429f11790ef5486cf9d3ce.tar.gz llvm-00189211486d052b25429f11790ef5486cf9d3ce.tar.bz2 |
[DAG] add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge (#144342)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/143864
Add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge func
using SDPatternMatch
aftering adding this pattern, run ```ninja check-llvm-codegen```, all
other cases remain unchanged, so I add a
testcase(fold-masked-merge-demorgan.ll) for it
---------
Co-authored-by: Simon Pilgrim <llvm-dev@redking.me.uk>
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions