- Jul 01, 2011
-
-
Eric Christopher authored
supporting the instruction that the constraint is for 'movw'. Part of rdar://9119939 llvm-svn: 134222
-
Eric Christopher authored
for the 'x' register constraint. Part of rdar://9119939 llvm-svn: 134220
-
Eric Christopher authored
Part of rdar://9119939 llvm-svn: 134217
-
Eric Christopher authored
Part of rdar://9307836 and rdar://9119939 llvm-svn: 134215
-
Eric Christopher authored
llvm-svn: 134211
-
Eric Christopher authored
llvm-svn: 134210
-
Bill Wendling authored
llvm-svn: 134208
-
Jakob Stoklund Olesen authored
We would put the return value from long double functions in the wrong register. This fixes gcc.c-torture/execute/conversion.c llvm-svn: 134205
-
Jim Grosbach authored
Merge the tMOVr, tMOVgpr2tgpr, tMOVtgpr2gpr, and tMOVgpr2gpr instructions into tMOVr. There's no need to keep them separate. Giving the tMOVr instruction the proper GPR register class for its operands is sufficient to give the register allocator enough information to do the right thing directly. llvm-svn: 134204
-
Eric Christopher authored
Part of rdar://9119939 llvm-svn: 134203
-
Bill Wendling authored
encoding for the registers it knows about. Return -1 if it can't handle that register. llvm-svn: 134202
-
Eric Christopher authored
No functional change. Part of rdar://9119939 llvm-svn: 134198
-
Jim Grosbach authored
Fix a FIXME and allow predication (in Thumb2) for the T1 register to register MOV instructions. This allows some better codegen with if-conversion (as seen in the test updates), plus it lays the groundwork for pseudo-izing the tMOVCC instructions. llvm-svn: 134197
-
- Jun 30, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 134193
-
Jim Grosbach authored
It's just a call to a special helper function. Get rid of the T2 variant entirely, as it's identical to the Thumb1 version. llvm-svn: 134178
-
Jim Grosbach authored
It's just a t2LDMIA_UPD instruction with extra codegen properties, so it doesn't need the encoding information. As a side-benefit, we now correctly recognize for instruction printing as a 'pop' instruction. llvm-svn: 134173
-
Jim Grosbach authored
It's just a tPOP instruction with additional code-gen properties, so it doesn't need encoding information. llvm-svn: 134172
-
Jim Grosbach authored
llvm-svn: 134131
-
Jim Grosbach authored
tADDrSPi is not predicable, so we can't size-reduce a t2ADDri to it if the predicate is anything other than "always." llvm-svn: 134130
-
Evan Cheng authored
llvm-svn: 134129
-
Evan Cheng authored
be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! llvm-svn: 134127
-
Joerg Sonnenberger authored
llvm-svn: 134126
-
Eric Christopher authored
care about spill values. llvm-svn: 134122
-
Eric Christopher authored
we didn't have an opcode for 64-bit constant or expressions. Fixes rdar://9692967 llvm-svn: 134121
-
Jim Grosbach authored
Unlike Thumb1, Thumb2 does not have dedicated encodings for adjusting the stack pointer. It can just use the normal add-register-immediate encoding since it can use all registers as a source, not just R0-R7. The extra instruction definitions are just duplicates of the normal instructions with the (not well enforced) constraint that the source register was SP. llvm-svn: 134114
-
Jakob Stoklund Olesen authored
Some x86-32 calls pop values off the stack, and we need to readjust the stack pointer after the call. This happens when ADJCALLSTACKUP is eliminated. It could happen that spill code was inserted between the CALL and ADJCALLSTACKUP instructions, and we would compute wrong stack pointer offsets for those frame index references. Fix this by inserting the stack pointer adjustment immediately after the call instead of where the ADJCALLSTACKUP instruction was erased. I don't have a test case since we don't currently insert code in that position. We will soon, though. I am testing a regalloc patch that didn't work on Linux because of this. llvm-svn: 134113
-
Cameron Zwarich authored
already makes the assumption, which is correct on ARM, that a type's alignment is less than its alloc size. This improves codegen with Clang (which inserts a lot of extraneous alignment specifiers) and fixes <rdar://problem/9695089>. llvm-svn: 134106
-
- Jun 29, 2011
-
-
Eric Christopher authored
Part of rdar://9643582 llvm-svn: 134095
-
Eric Christopher authored
llvm-svn: 134094
-
Jim Grosbach authored
The tSpill and tRestore instructions are just copies of the tSTRspi and tLDRspi instructions, respectively. Just use those directly instead. llvm-svn: 134092
-
Eric Christopher authored
llvm-svn: 134089
-
Eric Christopher authored
getRegForInlineAsmConstraint. Part of rdar://9643582 llvm-svn: 134088
-
Eric Christopher authored
llvm-svn: 134087
-
Eric Christopher authored
creating a few specific register classes. Part of rdar://9643582 llvm-svn: 134086
-
Eric Christopher authored
for the port. Part of rdar://9643582 llvm-svn: 134085
-
Eric Christopher authored
Part of rdar://9643582 llvm-svn: 134084
-
Eric Christopher authored
Part of rdar://9643582 llvm-svn: 134083
-
Eric Christopher authored
getRegForInlineAsmConstraint. Part of rdar://9643582 llvm-svn: 134080
-
Eric Christopher authored
via vectors. Part of rdar://9643582 llvm-svn: 134079
-
NAKAMURA Takumi authored
llvm-svn: 134055
-