David Goodwin
|
6deba28c6f
|
Fix frame index elimination to correctly handle thumb-2 addressing modes that don't allow negative offsets. During frame elimination convert *i12 opcode to a *i8 when necessary due to a negative offset.
llvm-svn: 76883
|
2009-07-23 17:06:46 +00:00 |
Anton Korobeynikov
|
c5df7e2dc1
|
Emit cross regclass register moves for thumb2.
Minor code duplication cleanup.
llvm-svn: 76124
|
2009-07-16 23:26:06 +00:00 |
Evan Cheng
|
cd4cdd1157
|
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.
llvm-svn: 75359
|
2009-07-11 06:43:01 +00:00 |
David Goodwin
|
c9b1efd515
|
t2LDM_RET does not fall-through.
llvm-svn: 75250
|
2009-07-10 15:33:46 +00:00 |
David Goodwin
|
22c2fba978
|
Use common code for both ARM and Thumb-2 instruction and register info.
llvm-svn: 75067
|
2009-07-08 23:10:31 +00:00 |
David Goodwin
|
03ab0bbb24
|
Generalize opcode selection in ARMBaseRegisterInfo.
llvm-svn: 75036
|
2009-07-08 20:28:28 +00:00 |
David Goodwin
|
af7451b674
|
Checkpoint Thumb2 Instr info work. Generalized base code so that it can be shared between ARM and Thumb2. Not yet activated because register information must be generalized first.
llvm-svn: 75010
|
2009-07-08 16:09:28 +00:00 |
David Goodwin
|
ade05a37f1
|
Checkpoint refactoring of ThumbInstrInfo and ThumbRegisterInfo into Thumb1InstrInfo, Thumb2InstrInfo, Thumb1RegisterInfo and Thumb2RegisterInfo. Move methods from ARMInstrInfo to ARMBaseInstrInfo to prepare for sharing with Thumb2.
llvm-svn: 74731
|
2009-07-02 22:18:33 +00:00 |