1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
llvm-mirror/test/CodeGen
Tim Northover 81271b4305 ARM: don't mangle DAG constant if it has more than one use
The basic optimisation was to convert (mul $LHS, $complex_constant) into
roughly "(shl (mul $LHS, $simple_constant), $simple_amt)" when it was expected
to be cheaper. The original logic checks that the mul only has one use (since
we're mangling $complex_constant), but when used in even more complex
addressing modes there may be an outer addition that can pick up the wrong
value too.

I *think* the ARM addressing-mode problem is actually unreachable at the
moment, but that depends on complex assessments of the profitability of
pre-increment addressing modes so I've put a real check in there instead of an
assertion.

llvm-svn: 259228
2016-01-29 19:18:46 +00:00
..
AArch64 [AArch64] Fix i64 nontemporal high-half extraction. 2016-01-29 01:08:41 +00:00
AMDGPU AMDGPU: Remove 24-bit intrinsics 2016-01-29 10:05:16 +00:00
ARM ARM: don't mangle DAG constant if it has more than one use 2016-01-29 19:18:46 +00:00
BPF
CPP
Generic Remove autoconf support 2016-01-26 21:29:08 +00:00
Hexagon [Hexagon] Use general purpose registers to spill pred/mod registers into 2016-01-22 19:15:58 +00:00
Inputs
Mips [mips][microMIPS] Disable FastISel for microMIPS 2016-01-28 11:08:03 +00:00
MIR Reapply r257105 "[Verifier] Check that debug values have proper size" 2016-01-15 00:46:17 +00:00
MSP430
NVPTX [CUDA] Die gracefully when trying to output an LLVM alias. 2016-01-23 21:12:20 +00:00
PowerPC Since LI/LIS sign extend the constant passed into the instruction we should 2016-01-29 07:20:01 +00:00
SPARC [SPARC] Revamp AnalyzeBranch and add ReverseBranchCondition. 2016-01-13 04:44:14 +00:00
SystemZ
Thumb [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
Thumb2 Address buildbot fallout from r259065 2016-01-28 18:59:04 +00:00
WebAssembly [WebAssembly] Support frame pointer 2016-01-29 18:37:49 +00:00
WinEH [WinEH] Don't perform state stores in cleanups 2016-01-29 05:33:15 +00:00
X86 [X86] Add missing "CHECK" colon in r259065 test. 2016-01-29 18:25:33 +00:00
XCore [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00