[PATCH] D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry.

Amaury SECHET via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 19 17:52:26 PDT 2017


deadalnix created this revision.

This is a continuation of the work started in https://reviews.llvm.org/D29872 . Passing the carry down as a value rather than as a glue allows for further optimizations. Introducing setcccarry makes the use of addc/subc unecessary and we can start the removal process.

This patch only introduce the optimization strictly required to get the same level of optimization as was available before nothing more.


https://reviews.llvm.org/D33374

Files:
  include/llvm/CodeGen/ISDOpcodes.h
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  lib/CodeGen/TargetLoweringBase.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  test/CodeGen/X86/wide-integer-cmp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33374.99654.patch
Type: text/x-patch
Size: 13535 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170520/13b10251/attachment.bin>


More information about the llvm-commits mailing list