- Jul 31, 2010
-
-
Daniel Dunbar authored
llvm-svn: 109956
-
Bob Wilson authored
the jtblock_operand print methods. This avoids extra newlines in the disassembler's output. PR7757. llvm-svn: 109948
-
Bob Wilson authored
llvm-svn: 109946
-
Evan Cheng authored
Add -disable-shifter-op to disable isel of shifter ops. On Cortex-a9 the shifts cost extra instructions so it might be better to emit them separately to take advantage of dual-issues. llvm-svn: 109934
-
Bob Wilson authored
reference registers past the end of the NEON register file, and report them as invalid instead of asserting when trying to print them. PR7746. llvm-svn: 109933
-
- Jul 30, 2010
-
-
Bob Wilson authored
beginning on ARM Darwin assembly files so that it won't be placed after debug sections. Radar 8252813. llvm-svn: 109879
-
Jim Grosbach authored
have 4 bits per register in the operand encoding), but have undefined behavior when the operand value is 13 or 15 (SP and PC, respectively). The trivial coalescer in linear scan sometimes will merge a copy from SP into a subsequent instruction which uses the copy, and if that instruction cannot legally reference SP, we get bad code such as: mls r0,r9,r0,sp instead of: mov r2, sp mls r0, r9, r0, r2 This patch adds a new register class for use by Thumb2 that excludes the problematic registers (SP and PC) and is used instead of GPR for those operands which cannot legally reference PC or SP. The trivial coalescer explicitly requires that the register class of the destination for the COPY instruction contain the source register for the COPY to be considered for coalescing. This prevents errant instructions like that above. PR7499 llvm-svn: 109842
-
Nate Begeman authored
llvm-svn: 109813
-
- Jul 29, 2010
-
-
Bob Wilson authored
transformations. llvm-svn: 109800
-
Dale Johannesen authored
integers with mov + vdup. 8003375. This is currently disabled by default because LICM will not hoist a VDUP, so it pessimizes the code if the construct occurs inside a loop (8248029). llvm-svn: 109799
-
Bob Wilson authored
PR7745. llvm-svn: 109788
-
Nate Begeman authored
Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD & QSUB instructions. Behave identically to __qadd & __qsub RealView instruction intrinsics. llvm-svn: 109770
-
Jim Grosbach authored
ARM mode version of r109693. Remove incorrect substitution pattern for UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138 llvm-svn: 109696
-
Jim Grosbach authored
Remove incorrect substitution pattern for UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138 llvm-svn: 109693
-
Jim Grosbach authored
llvm-svn: 109691
-
- Jul 27, 2010
-
-
Eli Friedman authored
llvm-svn: 109458
-
Anton Korobeynikov authored
llvm-svn: 109456
-
- Jul 26, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 109448
-
Anton Korobeynikov authored
This assumption is not satisfied due to global mergeing. Workaround the issue by temporary disablinge mergeing of const globals. Also, ignore LLVM "special" globals. This fixes PR7716 llvm-svn: 109423
-
Evan Cheng authored
llvm-svn: 109421
-
- Jul 25, 2010
-
-
Douglas Gregor authored
llvm-svn: 109373
-
Douglas Gregor authored
llvm-svn: 109372
-
- Jul 24, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 109359
-
Jim Grosbach authored
function live in set. This will give us tGPR for Thumb1 and GPR otherwise, so the copy will be spillable. rdar://8224931 llvm-svn: 109293
-
Dale Johannesen authored
comments explaining why it was wrong. 8225024. Fix the real problem in 8213383: the code that splits very large blocks when no other place to put constants can be found was not considering the case that the block contained a Thumb tablejump. llvm-svn: 109282
-
Evan Cheng authored
it's too late to start backing off aggressive latency scheduling when most of the registers are in use so the threshold should be a bit tighter. - Correctly handle live out's and extract_subreg etc. - Enable register pressure aware scheduling by default for hybrid scheduler. For ARM, this is almost always a win on # of instructions. It's runtime neutral for most of the tests. But for some kernels with high register pressure it can be a huge win. e.g. 464.h264ref reduced number of spills by 54 and sped up by 20%. llvm-svn: 109279
-
- Jul 22, 2010
-
-
Chris Lattner authored
ARM/PPC/MSP430-specific code (which are the only targets that implement the hook) can directly reference their target-specific instrinfo classes. llvm-svn: 109171
-
Chris Lattner authored
This is probably not the best way to implement "Force LR to be spilled if the Thumb function size is > 2048." do this, it should use the branch shortening infrastructure, but I'm just preserving functionality here. llvm-svn: 109165
-
Xerxes Ranby authored
llvm-svn: 109125
-
Chandler Carruth authored
llvm-svn: 109091
-
Chandler Carruth authored
llvm-svn: 109090
-
Chandler Carruth authored
especially on other platforms. Is there a better way to fix this. llvm-svn: 109084
-
Owen Anderson authored
llvm-svn: 109081
-
Evan Cheng authored
Fix constant island pass's handling of tBR_JTr. The offset of the instruction does not have to be 4-byte aligned. Rather, it's the offset + 2 that must be aligned since the instruction expands into: mov pc, r1 .align 2 LJTI0_0_0: .long LBB0_14 This fixes rdar://8213383. No test case since it's not possible to come up with a suitable small one. llvm-svn: 109076
-
Evan Cheng authored
llvm-svn: 109064
-
Jim Grosbach authored
rdar://8202967 llvm-svn: 109057
-
Eric Christopher authored
llvm-svn: 109047
-
- Jul 21, 2010
-
-
Rafael Espindola authored
llvm-svn: 109009
-
Evan Cheng authored
llvm-svn: 108991
-
- Jul 20, 2010
-
-
Chris Lattner authored
llvm-svn: 108929
-