| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 292036
|
| |
|
|
| |
llvm-svn: 292035
|
| |
|
|
|
|
|
|
|
|
| |
This fixes some problems when building ClangDiagnostics.cpp on Visual Studio 2017 RC. As far as I understand, there was a change in the implementation of the constructor for std::vector with two iterator parameters, which in our case causes an attempt to dereference const Iterator objects. Since there was no overload for a const Iterator, the compile would fail.
Patch by Hugo Puhlmann!
Differential Revision: https://reviews.llvm.org/D28726
llvm-svn: 292034
|
| |
|
|
|
|
| |
Thanks Dimitry Andric for the report and fix!
llvm-svn: 292032
|
| |
|
|
|
|
|
| |
Patch by Gonsolo.
Differential Revision: https://reviews.llvm.org/D28731
llvm-svn: 292031
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To benefit of the type safety guarantees of C++11 typed enums, which would have
caught the type mismatch fixed in r291960, we make MemoryKind a typed enum.
This change also allows us to drop the 'MK_' prefix and to instead use the more
descriptive full name of the enum as prefix. To reduce the amount of typing
needed, we use this opportunity to move MemoryKind from ScopArrayInfo to a
global scope, which means the ScopArrayInfo:: prefix is not needed. This move
also makes historically sense. In the beginning of Polly we had different
MemoryKind enums in both MemoryAccess and ScopArrayInfo, which were later
canonicalized to one. During this canonicalization we just choose the enum in
ScopArrayInfo, but did not consider to move this shared enum to global scope.
Reviewed-by: Michael Kruse <llvm@meinersbur.de>
Differential Revision: https://reviews.llvm.org/D28090
llvm-svn: 292030
|
| |
|
|
| |
llvm-svn: 292029
|
| |
|
|
| |
llvm-svn: 292028
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: compnerd
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28735
llvm-svn: 292027
|
| |
|
|
| |
llvm-svn: 292026
|
| |
|
|
| |
llvm-svn: 292025
|
| |
|
|
| |
llvm-svn: 292024
|
| |
|
|
|
|
| |
has landed
llvm-svn: 292023
|
| |
|
|
| |
llvm-svn: 292022
|
| |
|
|
|
|
| |
VPMADCSWD act as VPADDD( VPMADDWD( x, y ), z ) - multiply+extend+hadd and add to v4i32 accumulator
llvm-svn: 292021
|
| |
|
|
|
|
| |
VPMACSDQH/VPMACSDQL act as VPADDQ( VPMULDQ( x, y ), z ) - multiply+extending either the odd/even 4i32 input elements and adding to v2i64 accumulator
llvm-svn: 292020
|
| |
|
|
|
|
| |
VPMACSWW/VPMACSDD act as add( mul( x, y ), z ) - ignoring any upper bits from both the multiply and add stages
llvm-svn: 292019
|
| |
|
|
|
|
|
|
|
|
|
| |
Add LIBUNWIND_* directories to include path only if they were actually
found, in order to fix the CMake error. Both of the directories are
usually unnecessary since libcxxabi uses only the common part of
unwind.h that is supplied both by GCC and Clang.
Differential Revision: https://reviews.llvm.org/D25314
llvm-svn: 292018
|
| |
|
|
|
|
|
|
| |
Tests showing missed opportunities to use XOP's integer fma instructions
Some of these are pretty awkward to match as they often have implicit sext/trunc stages but many just ignore overflow bits which makes things pretty straightforward.
llvm-svn: 292017
|
| |
|
|
| |
llvm-svn: 292016
|
| |
|
|
| |
llvm-svn: 292015
|
| |
|
|
| |
llvm-svn: 292014
|
| |
|
|
|
|
|
|
|
|
|
| |
very large times
Seems to be the case for NFS.
Original patch by Eric Fiselier!
Differential Revision: https://reviews.llvm.org/D22452
llvm-svn: 292013
|
| |
|
|
| |
llvm-svn: 292012
|
| |
|
|
| |
llvm-svn: 292011
|
| |
|
|
| |
llvm-svn: 292010
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Correct handling of the following FileCheck options is implemented in
update_llc_test_checks.py and update_test_checks.py scripts:
1) -check-prefix (with a single dash)
2) -check-prefixes (with multiple prefixes)
Differential Revision: https://reviews.llvm.org/D28572
llvm-svn: 292008
|
| |
|
|
| |
llvm-svn: 292007
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch allows libc++ to be built against the debug MSVC runtimes instead of just the release ones.
Reviewers: rnk, majnemer, compnerd, smeenai
Subscribers: mgorny, cfe-commits
Differential Revision: https://reviews.llvm.org/D28725
llvm-svn: 292006
|
| |
|
|
|
|
|
|
|
|
|
|
| |
instructions with blendm instructions when its beneficial.
Isel now selects masked move instructions for vselect instead of blendm. But sometimes it beneficial to register allocation to remove the tied register constraint by using blendm instructions.
This also picks up cases where the masked move was created due to a masked load intrinsic.
Differential Revision: https://reviews.llvm.org/D28454
llvm-svn: 292005
|
| |
|
|
|
|
|
|
|
|
| |
AVX512_128_SET0 expansion to make this possible.
We'll now expand AVX512_128_SET0 to an EVEX VXORD if VLX available. Or if its not, but register allocation has selected a non-extended register we will use VEX VXORPS. And if its an extended register without VLX we'll use a 512-bit XOR. Do the same for AVX512_FsFLD0SS/SD.
This makes it possible for the register allocator to have all 32 registers available to work with.
llvm-svn: 292004
|
| |
|
|
|
|
|
|
| |
This fallthrough if other cases are added between fabs and default
could cause fabs to fall to the next case resulting in a bug.
Better getting rid of it immediately just to be sure.
llvm-svn: 292003
|
| |
|
|
|
|
|
| |
We use this option to set a fixed register width in our test cases to make
sure the results are identical accross platforms.
llvm-svn: 292002
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch attempts to fix the libc++ build/link so that it doesn't use an default C++ libraries on Windows. This is needed to prevent linking to MSVC's STL library.
Additionally this patch changes libc++ so that it is always linked with the non-debug DLL's (e.g. `/MD`). This is needed so that the test suite can correctly link the same libraries without needing to know which configuration `c++.dll` was linked with.
Reviewers: compnerd, rnk, majnemer, kimgr, awson, halyavin, smeenai
Subscribers: cfe-commits, mgorny
Differential Revision: https://reviews.llvm.org/D28441
llvm-svn: 292001
|
| |
|
|
| |
llvm-svn: 292000
|
| |
|
|
| |
llvm-svn: 291999
|
| |
|
|
|
|
|
| |
Remove the custom configuration options for brace wrapping. They
don't work well for inline functions or type-traits classes.
llvm-svn: 291998
|
| |
|
|
| |
llvm-svn: 291997
|
| |
|
|
|
|
| |
second loop.
llvm-svn: 291996
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When -pedantic-errors is specified `__has_extension(<feature>)` is always
false when it would otherwise be true. This causes C++03 <atomic> to break
along with other issues.
This patch avoids the above problem by using __is_identifier(...) instead since
it is not affected by -pedantic-errors. For example instead of checking for
__has_extension(c_atomics) we now check `!__is_identifier(_Atomic)`, which
is only true when _Atomic is not a keyword provided by the compiler.
This patch applies similar changes to the detection logic for __decltype and
__nullptr as well.
Note that it does not apply this change to the C++03
`static_assert` macro since -Wc11-extensions warnings generated by expanding
that macro will appear in user code, and will not be suppressed as part of a
system header.
llvm-svn: 291995
|
| |
|
|
|
|
|
|
| |
Also add 32-bit mode command lines to the test case that exercises this just to make sure we sanely handle the 64-bit immediate there.
This fixes a undefined sanitizer failure from r291888.
llvm-svn: 291994
|
| |
|
|
|
|
|
|
| |
This patch adjusts the out-of-tree CMake configuration so that
the stderr output is ignored when an old llvm-config is found
that doesn't support --cmakedir.
llvm-svn: 291993
|
| |
|
|
|
|
|
|
| |
This patch adjusts the out-of-tree CMake configuration so that
the stderr output is ignored when an old llvm-config is found
that doesn't support --cmakedir.
llvm-svn: 291992
|
| |
|
|
|
|
|
|
| |
This patch adjusts the out-of-tree CMake configuration so that
the stderr output is ignored when an old llvm-config is found
that doesn't support --cmakedir.
llvm-svn: 291991
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D28717
llvm-svn: 291990
|
| |
|
|
| |
llvm-svn: 291989
|
| |
|
|
|
|
|
|
|
| |
diagnostics.
We were previouly assuming that every type template was a class template, which
is not true any more.
llvm-svn: 291988
|
| |
|
|
| |
llvm-svn: 291987
|
| |
|
|
| |
llvm-svn: 291986
|
| |
|
|
| |
llvm-svn: 291985
|