[PATCH] D65802: [DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1)
Roger Ferrer Ibanez via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 7 23:13:12 PDT 2019
rogfer01 updated this revision to Diff 214067.
rogfer01 retitled this revision from "[DAGCombiner] Fold br(xor(xor(x, y), 1)) as br(x == y)" to "[DAGCombiner] Rebuild (setcc x, y, ==) from (xor (xor x, y), 1)".
rogfer01 added a comment.
ChangeLog:
- Tighten conditions in which the fold is executed
- Use `isBitwiseNot` instead of checking for `(xor e, 1)`
- Remove `TheXor`
- Rephrase comments so they are less confusing by not mentioning `br`.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65802/new/
https://reviews.llvm.org/D65802
Files:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/cmp-bool.ll
llvm/test/CodeGen/ARM/cmp-bool.ll
llvm/test/CodeGen/RISCV/cmp-bool.ll
llvm/test/CodeGen/WebAssembly/reg-stackify.ll
llvm/test/CodeGen/X86/cmp-bool.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65802.214067.patch
Type: text/x-patch
Size: 6745 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190808/56d39493/attachment-0001.bin>
More information about the llvm-commits
mailing list