[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