summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [InstCombine] clean up visitAshr(); NFCISanjay Patel2017-01-141-20/+9
| | | | llvm-svn: 292036
* [InstCombine] add test to show missed vector fold; NFCSanjay Patel2017-01-141-0/+13
| | | | llvm-svn: 292035
* Adding const overloads of operator* and operator-> for DenseSet iteratorsDavid Majnemer2017-01-141-2/+4
| | | | | | | | | | 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
* Fix PR31644 introduced by r287138 and add a regression test.Yaron Keren2017-01-142-2/+9
| | | | | | Thanks Dimitry Andric for the report and fix! llvm-svn: 292032
* [NewGVN] Fix a warning from GCC.Davide Italiano2017-01-141-7/+6
| | | | | | | Patch by Gonsolo. Differential Revision: https://reviews.llvm.org/D28731 llvm-svn: 292031
* Use typed enums to model MemoryKind and move MemoryKind out of ScopArrayInfoTobias Grosser2017-01-147-233/+233
| | | | | | | | | | | | | | | | | | 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
* XFAIL native handle testsEric Fiselier2017-01-144-0/+8
| | | | llvm-svn: 292029
* Fix demangle.h on WindowsEric Fiselier2017-01-141-1/+1
| | | | llvm-svn: 292028
* Attempt two at fixing threading on WindowsEric Fiselier2017-01-141-9/+6
| | | | | | | | | | Reviewers: compnerd Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28735 llvm-svn: 292027
* [NewGVN] clang-format this file after recent changes.Davide Italiano2017-01-141-6/+7
| | | | llvm-svn: 292026
* [NewGVN] Try to be consistent wit the style used in this file. NFCI.Davide Italiano2017-01-141-1/+1
| | | | llvm-svn: 292025
* [TargetLowering] Simplfiy a bit. NFCI.Davide Italiano2017-01-141-4/+1
| | | | llvm-svn: 292024
* [CostModel][X86] Updated vXi64 ASHR costs on AVX512 targets now that D28604 ↵Simon Pilgrim2017-01-142-8/+16
| | | | | | has landed llvm-svn: 292023
* Fix thread creation on WindowsEric Fiselier2017-01-141-13/+19
| | | | llvm-svn: 292022
* [X86][XOP] Added support for VPMADCSWD 'extend+hadd' IFMA patternsSimon Pilgrim2017-01-142-2/+4
| | | | | | VPMADCSWD act as VPADDD( VPMADDWD( x, y ), z ) - multiply+extend+hadd and add to v4i32 accumulator llvm-svn: 292021
* [X86][XOP] Added support for VPMACSDQH/VPMACSDQL 'extension' IFMA patternsSimon Pilgrim2017-01-142-17/+18
| | | | | | 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
* [X86][XOP] Added support for VPMACSWW/VPMACSDD 'lossy' IFMA patternsSimon Pilgrim2017-01-142-20/+25
| | | | | | VPMACSWW/VPMACSDD act as add( mul( x, y ), z ) - ignoring any upper bits from both the multiply and add stages llvm-svn: 292019
* [cmake] Handle missing LIBUNWIND_* directories gracefullyMichal Gorny2017-01-141-2/+6
| | | | | | | | | | | 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
* [X86][XOP] Add tests for integer fused multiply addSimon Pilgrim2017-01-141-0/+142
| | | | | | | | 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
* Update the tests to match the typo fix done in r292015Sylvestre Ledru2017-01-142-6/+6
| | | | llvm-svn: 292016
* fix a few typo in the doc but also in the clang messagesSylvestre Ledru2017-01-148-10/+10
| | | | llvm-svn: 292015
* fix some typos in the docSylvestre Ledru2017-01-148-10/+10
| | | | llvm-svn: 292014
* Fix last_write_time tests for filesystems that don't support negative and ↵Jonas Hahnfeld2017-01-141-29/+63
| | | | | | | | | | | 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
* Mark test as UNSUPPORTED on Windows since it hangs foreverEric Fiselier2017-01-141-0/+3
| | | | llvm-svn: 292012
* Fix Windows try_lock implementationEric Fiselier2017-01-143-14/+15
| | | | llvm-svn: 292011
* Fix copy-paste errors in r292001Eric Fiselier2017-01-141-3/+3
| | | | llvm-svn: 292010
* [utils] Improve extraction of check prefixes from RUN linesNikolai Bozhenov2017-01-142-6/+6
| | | | | | | | | | | | 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
* Add LLVMOption to clang-interpreter, corresponding to r291938.NAKAMURA Takumi2017-01-141-0/+1
| | | | llvm-svn: 292007
* [libc++][CMake] Use debug MSVC runtimes when libc++ is built in debug modeEric Fiselier2017-01-146-8/+68
| | | | | | | | | | | | 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
* [AVX-512] Teach two address instruction pass to replace masked move ↵Craig Topper2017-01-1416-357/+314
| | | | | | | | | | | | 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
* [AVX-512] Replace V_SET0 in AVX-512 patterns with AVX512_128_SET0. Enhance ↵Craig Topper2017-01-144-28/+47
| | | | | | | | | | 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
* Removing potentially error-prone fallthrough. NFCMarcello Maggioni2017-01-141-0/+1
| | | | | | | | 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
* ScheduleOptimizer: Allow to set register width in command lineTobias Grosser2017-01-144-5/+46
| | | | | | | 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
* [libc++] [CMake] Link with /nodefaultlibs on WindowsEric Fiselier2017-01-144-2/+28
| | | | | | | | | | | | | | | | 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
* Mark 'constexpr char_traits' as complete.Marshall Clow2017-01-141-1/+1
| | | | llvm-svn: 292000
* Delete duplicate word. NFCXin Tong2017-01-141-1/+1
| | | | llvm-svn: 291999
* Tweak .clang-format configuration.Eric Fiselier2017-01-141-5/+0
| | | | | | | Remove the custom configuration options for brace wrapping. They don't work well for inline functions or type-traits classes. llvm-svn: 291998
* Fix a typo. NFC.George Burgess IV2017-01-141-1/+1
| | | | llvm-svn: 291997
* [X86] Simplify the code that calculates a scaled blend mask. We don't need a ↵Craig Topper2017-01-141-2/+1
| | | | | | second loop. llvm-svn: 291996
* Use __is_identifier to detect Clang extensions instead of __has_extension.Eric Fiselier2017-01-142-3/+15
| | | | | | | | | | | | | | | | | | | | | 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
* [AVX-512] Change blend mask in lowerVectorShuffleAsBlend to a 64-bit value. ↵Craig Topper2017-01-142-349/+738
| | | | | | | | 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
* Don't dump llvm-config --cmakedir output if command fails.Eric Fiselier2017-01-141-1/+2
| | | | | | | | 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
* Don't dump llvm-config --cmakedir output if command fails.Eric Fiselier2017-01-141-1/+2
| | | | | | | | 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
* Don't dump llvm-config --cmakedir output if command fails.Eric Fiselier2017-01-141-1/+2
| | | | | | | | 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
* COFF: Change the /lldmap output format to be more like the ELF linker.Peter Collingbourne2017-01-1414-90/+224
| | | | | | Differential Revision: https://reviews.llvm.org/D28717 llvm-svn: 291990
* Try to fix the windows bots.Rafael Espindola2017-01-141-5/+5
| | | | llvm-svn: 291989
* Give more accurate descriptions of what kind of template we found in ↵Richard Smith2017-01-146-12/+52
| | | | | | | | | diagnostics. We were previouly assuming that every type template was a class template, which is not true any more. llvm-svn: 291988
* Don't force use of lld in tests on WindowsEric Fiselier2017-01-141-1/+1
| | | | llvm-svn: 291987
* Remove unused parameters in C++03Eric Fiselier2017-01-141-4/+4
| | | | llvm-svn: 291986
* Fix modules buildbots broken in r291983.Eugene Zelenko2017-01-141-1/+2
| | | | llvm-svn: 291985
OpenPOWER on IntegriCloud