1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/test/CodeGen
Sanjay Patel 33bcd3de54 merge vector stores into wider vector stores and fix AArch64 misaligned access TLI hook (PR21711)
This is a redo of D7208 ( r227242 - http://llvm.org/viewvc/llvm-project?view=revision&revision=227242 ).

The patch was reverted because an AArch64 target could infinite loop after the change in DAGCombiner 
to merge vector stores. That happened because AArch64's allowsMisalignedMemoryAccesses() wasn't telling
the truth. It reported all unaligned memory accesses as fast, but then split some 128-bit unaligned
accesses up in performSTORECombine() because they are slow.

This patch attempts to fix the problem in AArch's allowsMisalignedMemoryAccesses() while preserving
existing (perhaps questionable) lowering behavior.

The x86 test shows that store merging is working as intended for a target with fast 32-byte unaligned
stores.

Differential Revision: http://reviews.llvm.org/D12635
 

llvm-svn: 248622
2015-09-25 21:49:48 +00:00
..
AArch64 merge vector stores into wider vector stores and fix AArch64 misaligned access TLI hook (PR21711) 2015-09-25 21:49:48 +00:00
AMDGPU AMDGPU/SI: Use .hsatext section instead of .text for HSA 2015-09-25 21:41:28 +00:00
ARM ARM: address WoA division limitation 2015-09-25 05:15:46 +00:00
BPF
CPP Fix CPP Backend for GEP API changes for opaque pointer types 2015-09-08 18:42:29 +00:00
Generic Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
Hexagon Update edge weights properly when merging blocks in if-conversion. 2015-09-18 20:22:41 +00:00
Inputs DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
Mips [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
MIR Fix PR 24724 - The implicit register verifier shouldn't assume certain operand 2015-09-10 14:04:34 +00:00
MSP430
NVPTX
PowerPC PrologueEpilogInserter: Fix missing live-ins when savepoint equals restorepoint 2015-09-25 21:41:40 +00:00
SPARC [SPARC] Switch to the Machine Scheduler. 2015-09-10 21:49:06 +00:00
SystemZ [SystemZ] Fix expansion of ISD::FPOW and ISD::FSINCOS 2015-09-21 17:35:45 +00:00
Thumb DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
Thumb2 Scaling up values in ARMBaseInstrInfo::isProfitableToIfCvt() before they are scaled by a probability to avoid precision issue. 2015-09-18 18:19:40 +00:00
WebAssembly [WebAssembly] Check in an initial CFG Stackifier pass 2015-09-16 16:51:30 +00:00
WinEH [WinEH] Rip out the landingpad-based C++ EH state numbering code 2015-09-16 22:14:46 +00:00
X86 merge vector stores into wider vector stores and fix AArch64 misaligned access TLI hook (PR21711) 2015-09-25 21:49:48 +00:00
XCore [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00