1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/test/CodeGen
Sanjay Patel 49dad7926f [x86] fix allowsMisalignedMemoryAccess() implementation
This patch fixes the x86 implementation of allowsMisalignedMemoryAccess() to correctly
return the 'Fast' output parameter for 32-byte accesses. To test that, an existing load
merging optimization is changed to use the TLI hook. This exposes a shortcoming in the
current logic and results in the regression test update. Changing other direct users of
the isUnalignedMem32Slow() x86 CPU attribute would be a follow-on patch.

Without the fix in allowsMisalignedMemoryAccesses(), we will infinite loop when targeting
SandyBridge because LowerINSERT_SUBVECTOR() creates 32-byte loads from two 16-byte loads
while PerformLOADCombine() splits them back into 16-byte loads.

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

llvm-svn: 245075
2015-08-14 17:53:40 +00:00
..
AArch64 [AArch64] FMINNAN/FMAXNAN on f16 is not legal. 2015-08-14 09:08:50 +00:00
AMDGPU AMDGPU: Fix assert on dbg_value instructions 2015-08-12 09:04:44 +00:00
ARM [ARM] Rejig vmax tests a bit 2015-08-13 17:28:16 +00:00
BPF
CPP
Generic Update test suite to make "ninja check" succeed without native backend builtin 2015-08-04 06:32:54 +00:00
Hexagon DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
Inputs DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
Mips Revert r229675 - [mips] Avoid redundant sign extension of the result of binary bitwise instructions. 2015-08-04 14:26:35 +00:00
MIR MIR Serialization: Change MIR syntax - use custom syntax for MBBs. 2015-08-13 23:10:16 +00:00
MSP430
NVPTX Use 32-bit divides instead of 64-bit divides where possible. 2015-08-11 22:16:34 +00:00
PowerPC Scalar to vector conversions using direct moves 2015-08-13 17:40:44 +00:00
SPARC [Sparc] Implement i64 load/store support for 32-bit sparc. 2015-08-10 19:11:39 +00:00
SystemZ [SystemZ] Support large LLVM IR struct return values 2015-08-13 13:37:06 +00:00
Thumb DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
Thumb2
WebAssembly WebAssembly: floating-point comparisons 2015-08-12 17:53:29 +00:00
WinEH [WinEHPrepare] Update demotion logic 2015-08-13 14:30:10 +00:00
X86 [x86] fix allowsMisalignedMemoryAccess() implementation 2015-08-14 17:53:40 +00:00
XCore DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00