Major changes to Thumb (not Thumb2). Many 16-bit instructions either modifies CPSR...
authorEvan Cheng <evan.cheng@apple.com>
Sat, 11 Jul 2009 06:43:01 +0000 (06:43 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 11 Jul 2009 06:43:01 +0000 (06:43 +0000)
commit446c428bf394b7113b0f18cbacb5e87b4efd1e14
treef63ecf8675aa5b58199fdf72834a495672403c8a
parentdd6f63209cba0003e67470938830de2cb6917336
Major changes to Thumb (not Thumb2). Many 16-bit instructions either modifies CPSR  when they are outside the IT blocks, or they can predicated when in Thumb2. Move the implicit def of CPSR to an optional def which defaults CPSR. This allows the 's' bit to be toggled dynamically.

A side-effect of this change is asm printer is now using unified assembly. There are some minor clean ups and fixes as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75359 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Target/ARM/ARMBaseRegisterInfo.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/ARMLoadStoreOptimizer.cpp
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
lib/Target/ARM/README-Thumb.txt
lib/Target/ARM/Thumb1InstrInfo.cpp
lib/Target/ARM/Thumb1RegisterInfo.cpp
lib/Target/ARM/Thumb2InstrInfo.cpp
test/CodeGen/Thumb/ispositive.ll
test/CodeGen/Thumb/ldr_frame.ll