ARM: use TableGen patterns to select CMOV operations.
authorTim Northover <tnorthover@apple.com>
Thu, 22 Aug 2013 09:57:11 +0000 (09:57 +0000)
committerTim Northover <tnorthover@apple.com>
Thu, 22 Aug 2013 09:57:11 +0000 (09:57 +0000)
commitf7ab3a84b3e1b5a647ae9456a5edb99d86b35329
treedef91cf5a4a3ba94fb757beb78a53ae046dfe738
parentbccc6f89b7a15abda5593a30c101ae85d1dc3b77
ARM: use TableGen patterns to select CMOV operations.

Back in the mists of time (2008), it seems TableGen couldn't handle the
patterns necessary to match ARM's CMOV node that we convert select operations
to, so we wrote a lot of fairly hairy C++ to do it for us.

TableGen can deal with it now: there were a few minor differences to CodeGen
(see tests), but nothing obviously worse that I could see, so we should
probably address anything that *does* come up in a localised manner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188995 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm/Target/Target.td
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/ARM/ARMISelDAGToDAG.cpp
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/ARMInstrVFP.td
test/CodeGen/ARM/select-imm.ll
test/CodeGen/ARM/select.ll
test/CodeGen/ARM/setcc-sentinals.ll
test/CodeGen/Thumb2/thumb2-select.ll
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/InstrInfoEmitter.cpp