1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/test/CodeGen
Eli Friedman 09b663436a [ARM] Add ARMISD::VLD1DUP to match vld1_dup more consistently.
Currently, there are substantial problems forming vld1_dup even if the
VDUP survives legalization. The lack of an actual node
leads to terrible results: not only can we not form post-increment vld1_dup
instructions, but we form scalar pre-increment and post-increment
loads which force the loaded value into a GPR. This patch fixes that
by combining the vdup+load into an ARMISD node before DAGCombine
messes it up.

Also includes a crash fix for vld2_dup (see testcase @vld2dupi8_postinc_variable).

Recommiting with fix to avoid forming vld1dup if the type of the load
doesn't match the type of the vdup (see
https://llvm.org/bugs/show_bug.cgi?id=31404).

Differential Revision: https://reviews.llvm.org/D27694

llvm-svn: 289972
2016-12-16 18:44:08 +00:00
..
AArch64 [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 04:25:54 +00:00
AMDGPU AMDGPU: Select branch on undef to uniform scc branch 2016-12-15 21:57:11 +00:00
ARM [ARM] Add ARMISD::VLD1DUP to match vld1_dup more consistently. 2016-12-16 18:44:08 +00:00
AVR [AVR] Add a test for 64-bit left shifts 2016-12-16 11:40:00 +00:00
BPF [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 04:25:54 +00:00
Generic
Hexagon
Inputs
Lanai [lanai] Simplify small section check in LowerGlobalAddress and treat ldata sections specially. 2016-12-15 16:56:16 +00:00
Mips Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-14 16:43:44 +00:00
MIR
MSP430 Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-14 16:43:44 +00:00
NVPTX [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 04:25:54 +00:00
PowerPC Revert r289638: [PowerPC] Fix logic dealing with nop after calls (and tail-call eligibility) 2016-12-16 07:31:20 +00:00
SPARC
SystemZ Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-14 16:43:44 +00:00
Thumb [Thumb] Teach ISel how to lower compares of AND bitmasks efficiently 2016-12-15 09:38:59 +00:00
Thumb2 [Thumb] Teach ISel how to lower compares of AND bitmasks efficiently 2016-12-15 09:38:59 +00:00
WebAssembly [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-16 04:25:54 +00:00
WinEH Avoid infinite loops in branch folding 2016-12-12 23:05:38 +00:00
X86 Revert "[CodeGenPrep] Skip merging empty case blocks" 2016-12-16 17:06:14 +00:00
XCore Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2016-12-14 16:43:44 +00:00