summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Remove untested MOVDDUP patterns.Craig Topper2017-01-151-17/+0
| | | | | | | | These all involve bitcasts around the memory operands. This isn't something we normally do for isel patterns. I suspect DAG combine should convert the load type making this unnecessary. llvm-svn: 292050
* Move a flag definition to the right place as -demangle is not ignored.Rui Ueyama2017-01-151-1/+2
| | | | llvm-svn: 292049
* Add -no-{export-dynamic,fatal-warnings}.Rui Ueyama2017-01-152-3/+7
| | | | llvm-svn: 292048
* Add a LLVM_USE_LINKER that defines the linker to use when building LLVMMehdi Amini2017-01-152-3/+25
| | | | | | | | | | | | | | | Summary: This string parameter is passed to -fuse-ld when linking. It can be an absolute path to your custom linker, otherwise clang will look for `ld.{name}`. Reviewers: davide, tejohnson, pcc Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D28738 llvm-svn: 292047
* Add -print-map and -M options.Rui Ueyama2017-01-153-2/+10
| | | | llvm-svn: 292046
* Add a help text for -Map.Rui Ueyama2017-01-151-1/+1
| | | | llvm-svn: 292045
* Fix typo.Rui Ueyama2017-01-151-2/+2
| | | | llvm-svn: 292044
* Give comparator const call operatorEric Fiselier2017-01-151-1/+1
| | | | llvm-svn: 292043
* Simplify string output. NFC.Rui Ueyama2017-01-152-10/+4
| | | | llvm-svn: 292042
* Directly write to a -Map file.Rui Ueyama2017-01-152-32/+15
| | | | | | | | | | | | | | | | | | Previous code had a bug that if the program exits with an assert() or fail() before the control reaches end of writeMapFile(), it leaves a temporary file, because FileRemover's dtor isn't called in that case. I could fix that by removeFileOnSignal() and other functions, but I think we can simply write to the result file directly. I think that is straightforward and easy to understand. Additionally, that allows something like `-Map /dev/null` or a bash hack such as `-Map >(grep symbol-im-looking-for)`. Previously, that kind of things didn't work. Differential Revision: https://reviews.llvm.org/D28714 llvm-svn: 292041
* PDB: Add a class to create the /names stream contents.Rui Ueyama2017-01-157-8/+214
| | | | | | | | | | This patch adds a new class NameHashTableBuilder which creates /names streams. This patch contains a test to confirm that a stream created by NameHashTableBuilder can be read by NameHashTable reader class. Differential Revision: https://reviews.llvm.org/D28707 llvm-svn: 292040
* [PM] The assumption cache is fundamentally designed to be self-updating,Chandler Carruth2017-01-157-53/+8
| | | | | | | | | | | | | | mark it as never invalidated in the new PM. The old PM already required this to work, and after a discussion with Hal this seems to really be the only sensible answer. The cache gracefully degrades as the IR is mutated, and most things which do this should already be incrementally updating the cache. This gets rid of a bunch of logic preserving and testing the invalidation of this analysis. llvm-svn: 292039
* Work around python3 bytes vs str in libc++ test configEric Fiselier2017-01-151-1/+2
| | | | llvm-svn: 292038
* [PM] Fix instcombine's analysis preservation in the new pass manager toChandler Carruth2017-01-142-0/+36
| | | | | | | | | | | cover domtree and alias analysis. These are the pretty clear analyses that we would always want to survive this pass. To make these survive, we also need to preserve the assumption cache. Added a test that verifies the important bits of this preservation. llvm-svn: 292037
* [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
OpenPOWER on IntegriCloud