- Feb 01, 2007
-
-
Evan Cheng authored
- In thumb mode, a new constpool island BB size should be 4 + 2 to compensate for the potential padding due to alignment requirement. llvm-svn: 33753
-
Anton Korobeynikov authored
affected part is codegen of "memove" inside x86 backend. This fixes PR1144 llvm-svn: 33752
-
Evan Cheng authored
to just before the add r1, pc: Before: .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) LPCRELL0: mov r1, #PCRELV0 add r1, pc Now: .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) mov r1, #PCRELV0 LPCRELL0: add r1, pc llvm-svn: 33744
-
Evan Cheng authored
llvm-svn: 33743
-
Evan Cheng authored
llvm-svn: 33741
-
Evan Cheng authored
there follows a sp increment for the va register save region. Instead issue a separate pop to another register, increment sp, and then return: pop {r4, r5, r6, r7} pop {r3} add sp, #3 * 4 bx r3 llvm-svn: 33739
-
Evan Cheng authored
two bytes padding. llvm-svn: 33734
-
Evan Cheng authored
llvm-svn: 33733
-
Chris Lattner authored
llvm-svn: 33732
-
Evan Cheng authored
llvm-svn: 33729
-
Evan Cheng authored
instructions away, i.e. its address is equal to PC. %r0 = tLDRpci <cp#0> bx CONSTPOOL_ENTRY 0 <cp#0>, 4 llvm-svn: 33728
-
Evan Cheng authored
llvm-svn: 33727
-
- Jan 31, 2007
-
-
Evan Cheng authored
llvm-svn: 33724
-
Evan Cheng authored
llvm-svn: 33723
-
Evan Cheng authored
change preferred alignment of short, byte, bool to 4. llvm-svn: 33722
-
Evan Cheng authored
llvm-svn: 33721
-
Evan Cheng authored
llvm-svn: 33719
-
Evan Cheng authored
llvm-svn: 33717
-
Evan Cheng authored
instruction field, adjust it for PC value (4 for thumb, 8 for arm). llvm-svn: 33711
-
Chris Lattner authored
llvm-svn: 33709
-
Evan Cheng authored
llvm-svn: 33707
-
Evan Cheng authored
llvm-svn: 33706
-
Lauro Ramos Venancio authored
ARM fix: Miscompilation when frame pointer can't be eliminated. Uninitialized frame pointer register is used. llvm-svn: 33703
-
Evan Cheng authored
llvm-svn: 33702
-
Evan Cheng authored
llvm-svn: 33699
-
Evan Cheng authored
- Islands are inserted right after the user MI since thumb LDR cannot encode negative offset. llvm-svn: 33690
-
Evan Cheng authored
that would require > 3 instructions to materialize), load the immediate from a constpool entry. llvm-svn: 33667
-
- Jan 30, 2007
-
-
Evan Cheng authored
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) LPCRELL0: add r1, pc, #PCRELV0 This is not legal since add r1, pc, #c requires the constant be a multiple of 4. Do the following instead: .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) LPCRELL0: mov r1, #PCRELV0 add r1, pc - In thumb mode, it's not possible to use .set generate a pc relative stub address. The stub is ARM code which is in a different section from the thumb code. Load the value from a constpool instead. - Some asm printing clean up. llvm-svn: 33664
-
Reid Spencer authored
confusion with external linkage types. llvm-svn: 33663
-
Evan Cheng authored
llvm-svn: 33658
-
Evan Cheng authored
llvm-svn: 33657
-
Evan Cheng authored
llvm-svn: 33656
-
Evan Cheng authored
sp, imm instructions implicitly multiply the offset by 4. llvm-svn: 33653
-
Evan Cheng authored
llvm-svn: 33652
-
Evan Cheng authored
instructions that use these address modes to instructions that use t_addrmode_sp. llvm-svn: 33651
-
Evan Cheng authored
spilled (if it is not already). - If LR is spilled, use BL to implement far jumps. LR is not used as a GPR in thumb mode so it can be clobbered if it is properly spilled / restored in prologue / epilogue. - If LR is force spilled but no far jump has been emitted, try undo'ing the spill by: push lr -> delete pop pc -> bx lr llvm-svn: 33650
-
Evan Cheng authored
llvm-svn: 33649
-
Evan Cheng authored
llvm-svn: 33644
-
Jim Laskey authored
llvm-svn: 33639
-
- Jan 29, 2007
-
-
Nate Begeman authored
address nodes. llvm-svn: 33636
-