[PATCH] D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner.
Amaury SECHET via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 14 06:10:03 PST 2017
deadalnix created this revision.
deadalnix added reviewers: spatel, hfinkel, niravd, craig.topper.
Herald added a subscriber: nhaehnle.
There are transformation that change setcc into other constructs, and transform that try to reconstruct a setcc from the brcond condition. Depending on what order these transform are done, the end result differs.
Most of the time, it is preferable to get a setcc as a brcond argument (and this is why brcond try to recreate the setcc in the first place) so we ensure this is done every time by also doing it at the setcc level when the only user is a brcond.
https://reviews.llvm.org/D41235
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
test/CodeGen/AMDGPU/setcc.ll
test/CodeGen/X86/and-sink.ll
test/CodeGen/X86/fold-rmw-ops.ll
test/CodeGen/X86/live-out-reg-info.ll
test/CodeGen/X86/or-branch.ll
test/CodeGen/X86/test-shrink.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41235.126939.patch
Type: text/x-patch
Size: 18418 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171214/3b9fbdfe/attachment-0001.bin>
More information about the llvm-commits
mailing list