llvm/lib
Simon Pilgrim e6d1a2625f [X86][AVX] 256-bit vector stack unaligned load/stores identification
Under many circumstances the stack is not 32-byte aligned, resulting in the use of the vmovups/vmovupd/vmovdqu instructions when inserting ymm reloads/spills.

This minor patch adds these instructions to the isFrameLoadOpcode/isFrameStoreOpcode helpers so that they can be correctly identified and not be treated as folded reloads/spills.

This has also been noticed by http://llvm.org/bugs/show_bug.cgi?id=18846 where it was causing redundant spills - I've added a reduced test case at test/CodeGen/X86/pr18846.ll

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222281 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-18 23:38:19 +00:00
..
Analysis ScalarEvolution: Construct SCEVDivision's Derived type instead of itself 2014-11-17 11:27:45 +00:00
AsmParser X86: Implement the vectorcall calling convention 2014-10-28 01:29:26 +00:00
Bitcode Pass a reference to ValueEnumerator. 2014-11-17 20:06:27 +00:00
CodeGen Fix an incorrect chain operand when expanding INSERT_VECTOR operations through the stack. 2014-11-18 20:50:19 +00:00
DebugInfo [dwarfdump] Handle relocations in Dwarf accelerator tables 2014-11-14 19:30:08 +00:00
ExecutionEngine Fix covered switch warning 2014-11-18 01:26:46 +00:00
IR IR: Sink MDNode::Hash down to GenericMDNode::Hash 2014-11-18 02:20:29 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LineEditor
Linker Factor common code it Linker::init. 2014-11-17 20:51:01 +00:00
LTO libLTO: Assert if LTOCodeGenerator and LTOModule are from different contexts 2014-11-11 23:13:10 +00:00
MC COFF: Add support for Dwarf accelerator tables. 2014-11-14 20:33:40 +00:00
Object Support ELF files of unknown type. 2014-11-18 01:14:25 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Support ELF files of unknown type. 2014-11-18 01:14:25 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [X86][AVX] 256-bit vector stack unaligned load/stores identification 2014-11-18 23:38:19 +00:00
Transforms InstCombine: Fix another infinite loop caused by visitFPTrunc 2014-11-18 22:06:45 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile