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)
commit421804420d4ffe2cd89e762106d2de01a8efe805
tree1a4e524696db37d4061a53fb4a80f740ddec59fd
parentcafda82855fda8e64dbf8b72b931d6c19fbe63c9
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.

llvm-svn: 188995
14 files changed:
llvm/include/llvm/Target/Target.td
llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
llvm/lib/Target/ARM/ARMInstrFormats.td
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/ARMInstrThumb.td
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/ARMInstrVFP.td
llvm/test/CodeGen/ARM/select-imm.ll
llvm/test/CodeGen/ARM/select.ll
llvm/test/CodeGen/ARM/setcc-sentinals.ll
llvm/test/CodeGen/Thumb2/thumb2-select.ll
llvm/utils/TableGen/CodeGenInstruction.cpp
llvm/utils/TableGen/InstrInfoEmitter.cpp