diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2014-11-18 23:38:19 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2014-11-18 23:38:19 +0000 |
commit | 9c1e4123f8ecb5747448b8311ed66d8d7a207e0b (patch) | |
tree | 60a426d284d8bde6be593ab8a6e82902bd0577f8 /libcxx/test/depr/depr.c.headers/stdarg_h.pass.cpp | |
parent | 49bfafb5108a463f3c46c11d91d92c5528770928 (diff) | |
download | bcm5719-llvm-9c1e4123f8ecb5747448b8311ed66d8d7a207e0b.tar.gz bcm5719-llvm-9c1e4123f8ecb5747448b8311ed66d8d7a207e0b.zip |
[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
llvm-svn: 222281
Diffstat (limited to 'libcxx/test/depr/depr.c.headers/stdarg_h.pass.cpp')
0 files changed, 0 insertions, 0 deletions