ARM isel bug fix for adds/subs operands.
authorAndrew Trick <atrick@apple.com>
Tue, 20 Sep 2011 03:17:40 +0000 (03:17 +0000)
committerAndrew Trick <atrick@apple.com>
Tue, 20 Sep 2011 03:17:40 +0000 (03:17 +0000)
commit4815d56bb2c356a610f46753c5f1cefafa113b21
treef20bda385ee47a25a89750115d226db214967be9
parent3af7a67629292840f0dbae8fad4e333b009e69dd
ARM isel bug fix for adds/subs operands.

Modified ARMISelLowering::AdjustInstrPostInstrSelection to handle the
full gamut of CPSR defs/uses including instructins whose "optional"
cc_out operand is not really optional. This allowed removal of the
hasPostISelHook to simplify the .td files and make the implementation
more robust.
Fixes rdar://10137436: sqlite3 miscompile

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140134 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCInstrDesc.h
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
test/CodeGen/ARM/2011-09-19-cpsr.ll [new file with mode: 0644]
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/CodeGenInstruction.h
utils/TableGen/InstrInfoEmitter.cpp