- More refactoring. This gets rid of all of the getOpcode calls.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 28 Jul 2009 05:48:47 +0000 (05:48 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 28 Jul 2009 05:48:47 +0000 (05:48 +0000)
commit6495f63945e8dbde81f03a1dc2ab421993b9a495
tree3938678849c493091334cec9e5e426962ea88090
parentf4b64f67b6d397cedcb8a9c0539f62957cca1627
- More refactoring. This gets rid of all of the getOpcode calls.
- This change also makes it possible to switch between ARM / Thumb on a
  per-function basis.
- Fixed thumb2 routine which expand reg + arbitrary immediate. It was using
  using ARM so_imm logic.
- Use movw and movt to do reg + imm when profitable.
- Other code clean ups and minor optimizations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77300 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
lib/Target/ARM/ARMAddressingModes.h
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.h
lib/Target/ARM/ARMBaseRegisterInfo.cpp
lib/Target/ARM/ARMBaseRegisterInfo.h
lib/Target/ARM/ARMInstrInfo.cpp
lib/Target/ARM/ARMInstrInfo.h
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/Thumb1InstrInfo.cpp
lib/Target/ARM/Thumb1InstrInfo.h
lib/Target/ARM/Thumb1RegisterInfo.cpp
lib/Target/ARM/Thumb1RegisterInfo.h
lib/Target/ARM/Thumb2InstrInfo.cpp
lib/Target/ARM/Thumb2InstrInfo.h
lib/Target/ARM/Thumb2RegisterInfo.cpp
lib/Target/ARM/Thumb2RegisterInfo.h
test/CodeGen/Thumb2/large-stack.ll [new file with mode: 0644]