[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