- Feb 01, 2007
-
-
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
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
-
- Jan 31, 2007
-
-
Evan Cheng authored
llvm-svn: 33717
-
- 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
-
Evan Cheng authored
instructions that use these address modes to instructions that use t_addrmode_sp. llvm-svn: 33651
-
Evan Cheng authored
llvm-svn: 33649
-
- Jan 27, 2007
-
-
Evan Cheng authored
llvm-svn: 33568
-
Evan Cheng authored
llvm-svn: 33562
-
- Jan 26, 2007
-
-
Evan Cheng authored
llvm-svn: 33551
-
Evan Cheng authored
llvm-svn: 33542
-
- Jan 24, 2007
-
-
Evan Cheng authored
llvm-svn: 33484
-
- Jan 23, 2007
-
-
Evan Cheng authored
instructions into one (e.g. tLDRrr, tLDRri -> tLDR). - Thumb ldrsb and ldrsh only have the [reg, reg] address format. If the address is not an add, materialize a 0 immediate into a register and use it as the offset field. llvm-svn: 33470
-
- Jan 19, 2007
-
-
Evan Cheng authored
llvm-svn: 33353
-