Go to file
Alina Sbirlea 6f937b1144 LoadStoreVectorizer: Remove TargetBaseAlign. Keep alignment for stack adjustments.
Summary:
TargetBaseAlign is no longer required since LSV checks if target allows misaligned accesses.
A constant defining a base alignment is still needed for stack accesses where alignment can be adjusted.

Previous patch (D22936) was reverted because tests were failing. This patch also fixes the cause of those failures:
- x86 failing tests either did not have the right target, or the right alignment.
- NVPTX failing tests did not have the right alignment.
- AMDGPU failing test (merge-stores) should allow vectorization with the given alignment but the target info
  considers <3xi32> a non-standard type and gives up early. This patch removes the condition and only checks
  for a maximum size allowed and relies on the next condition checking for %4 for correctness.
  This should be revisited to include 3xi32 as a MVT type (on arsenm's non-immediate todo list).

Note that checking the sizeInBits for a MVT is undefined (leads to an assertion failure),
so we need to create an EVT, hence the interface change in allowsMisaligned to include the Context.

Reviewers: arsenm, jlebar, tstellarAMD

Subscribers: jholewinski, arsenm, mzolotukhin, llvm-commits

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

llvm-svn: 277735
2016-08-04 16:38:44 +00:00
clang Make isExternC work on VarDecls too. 2016-08-04 10:02:03 +00:00
clang-tools-extra [clang-tidy] misc-argument-comment non-strict mode 2016-08-04 14:54:54 +00:00
compiler-rt [ASAN] Mark test/asan/TestCases/ill.cc as unsupported on darwin 2016-08-04 15:57:30 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Make min follow the OCL 1.0 specs 2016-07-25 22:36:22 +00:00
libcxx Add MSVC specifics to .gitignore. Patch from STL@microsoft.com 2016-08-03 05:51:19 +00:00
libcxxabi Attempt to bring peace to -Werror buildbots. 2016-07-19 20:35:09 +00:00
libunwind libunwind: correct return code in unwinding trace log message 2016-07-29 21:24:19 +00:00
lld Remove redundant argument. 2016-08-04 12:13:05 +00:00
lldb Errors compiling breakpoint conditions will cause the breakpoint not to be hit 2016-08-03 22:46:11 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm LoadStoreVectorizer: Remove TargetBaseAlign. Keep alignment for stack adjustments. 2016-08-04 16:38:44 +00:00
openmp Add test case for nested creation of tasks 2016-08-04 14:55:56 +00:00
parallel-libs [StreamExecutor] Add KernelLoaderSpec 2016-08-03 18:04:13 +00:00
polly GPGPU: Support scalars that are mapped to shared memory 2016-08-04 13:57:29 +00:00