OSDN Git Service

Add SDNodes for umin, umax, smin and smax.
authorJames Molloy <james.molloy@arm.com>
Fri, 15 May 2015 09:03:15 +0000 (09:03 +0000)
committerJames Molloy <james.molloy@arm.com>
Fri, 15 May 2015 09:03:15 +0000 (09:03 +0000)
commit4fa71b66a822c784ea47c12ab16fd4b52acbda51
tree378ab4563a3b674d13903499ae3c1972df648736
parent1cf942cb4f893690c430571295777f4f9de8ee95
Add SDNodes for umin, umax, smin and smax.

This adds new SDNodes for signed/unsigned min/max. These nodes are built from
select/icmp pairs matched at SDAGBuilder stage.

This patch adds the nodes, as well as legalization support and sets them to
be "expand" for all targets.

NFC for now; this will be tested when I switch AArch64 to using these new
nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237423 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/Target/TargetSelectionDAG.td
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/TargetLoweringBase.cpp