Go to file
Dorit Nuzman 3ec99fe21b [IAI,LV] Avoid creating a scalar epilogue due to gaps in interleave-groups when
optimizing for size

LV is careful to respect -Os and not to create a scalar epilog in all cases
(runtime tests, trip-counts that require a remainder loop) except for peeling
due to gaps in interleave-groups. This patch fixes that; -Os will now have us
invalidate such interleave-groups and vectorize without an epilog.

The patch also removes a related FIXME comment that is now obsolete, and was
also inaccurate:
"FIXME: return None if loop requiresScalarEpilog(<MaxVF>), or look for a smaller
MaxVF that does not require a scalar epilog."
(requiresScalarEpilog() has nothing to do with VF).

Reviewers: Ayal, hsaito, dcaballe, fhahn

Reviewed By: Ayal

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

llvm-svn: 344883
2018-10-22 06:17:09 +00:00
clang [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal 2018-10-21 23:30:01 +00:00
clang-tools-extra [clang-tidy] add IgnoreMacros option to readability-redundant-smartptr-get 2018-10-21 19:16:25 +00:00
compiler-rt [XRay] Account for virtual memory re-use 2018-10-22 06:11:50 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx [libcxx] [test] Don't detect Windows' UCRT with TEST_COMPILER_C1XX 2018-10-20 03:35:45 +00:00
libcxxabi cxa_demangle: make demangler's parsing functions overridable 2018-10-16 14:29:14 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld Add an addAbsolute static function to Writer.cpp 2018-10-20 11:12:50 +00:00
lldb [PDB] Test variadic function type in PDB 2018-10-19 19:30:59 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [IAI,LV] Avoid creating a scalar epilogue due to gaps in interleave-groups when 2018-10-22 06:17:09 +00:00
openmp [OpenMP] Convert KMP_DYNAMIC_LIB to a 0 or 1 guard everywhere 2018-10-05 17:59:39 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [TI removal] Generically discuss terminators rather than use the soon to 2018-10-18 07:43:30 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.