summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [libcxx] Add the missing limits.h headerAsiri Rathnayake2016-10-101-0/+49
| | | | | | | | | | | | | | | | | The implementation of [depr.c.headers] in D12747 introduced the necessary C headers into libc++. This patch adds one more missing headers: limits.h We spotted this due to a failing C++03 test [limits_h.pass.cpp] in our libc++ configuration; when the limits.h header is included from a C++ program, it now bypassed the __config header and went directly into the underlying C library's limits.h header, which is problematic for us because we use __config header to configure the underlying C library's behaviour when used from a C++ context. Reviewers: mclow.lists, rsmith Differential revision: https://reviews.llvm.org/D25361 llvm-svn: 283726
* Fix style issue. Spaces in argument list.Daniel Marjamaki2016-10-101-1/+1
| | | | llvm-svn: 283725
* Mark aligned allocation as done.Richard Smith2016-10-103-4/+4
| | | | llvm-svn: 283724
* Fix WebAssembly build after r283702.Daniel Jasper2016-10-101-2/+8
| | | | llvm-svn: 283723
* P0035R4: Semantic analysis and code generation for C++17 overalignedRichard Smith2016-10-1027-530/+1238
| | | | | | allocation. llvm-svn: 283722
* Cleanup CMake status outputEric Fiselier2016-10-102-4/+5
| | | | llvm-svn: 283721
* [AVX-512] Add missing pattern sext or zext from bytes to quad words with a ↵Craig Topper2016-10-102-8/+6
| | | | | | 128-bit load as input. llvm-svn: 283720
* [AVX-512] Add test cases for AVX512 sign/zero extend instructions derived ↵Craig Topper2016-10-101-0/+215
| | | | | | from the sse41 and avx2 test cases. Code will be improved in future commits. llvm-svn: 283719
* [AVX-512] Add an AVX512VL/BW command line to sse41-pmovxrm.ll and ↵Craig Topper2016-10-102-4/+7
| | | | | | avx2-pmovxrm.ll. Also disable peephole so we really test pattern matching. llvm-svn: 283718
* [x86][inline-asm][llvm] accept 'v' constraintMichael Zuckerman2016-10-106-0/+618
| | | | | | | | | | | | | | Commit in the name of:Coby Tayree 1.'v' constraint for (x86) non-avx arch imitates the already implemented 'x' constraint, i.e. allows XMM{0-15} & YMM{0-15} depending on the apparent arch & mode (32/64). 2.for the avx512 arch it allows [X,Y,Z]MM{0-31} (mode dependent) This patch applies the needed changes to clang clang patch: https://reviews.llvm.org/D25004 Differential Revision: D25005 llvm-svn: 283717
* [x86][inline-asm][clang] accept 'v' constraintMichael Zuckerman2016-10-102-0/+32
| | | | | | | | | | | | | | Commit in the name of: Coby Tayree 1.'v' constraint for (x86) non-avx arch imitates the already implemented 'x' constraint, i.e. allows XMM{0-15} & YMM{0-15} depending on the apparent arch & mode (32/64). 2.for the avx512 arch it allows [X,Y,Z]MM{0-31} (mode dependent) This patch applies the needed changes to clang LLVM patch: https://reviews.llvm.org/D25005 Differential Revision: D25004 llvm-svn: 283716
* Provide a constexpr addressof with GCC 7.Eric Fiselier2016-10-103-2/+3
| | | | | | | | | | | | | | | | __builtin_addressof was added to the GCC trunk in the past week. This patch teaches libc++ about it so it can correctly provide constexpr addressof. Unfortunately this patch will break users of earlier GCC 7 builds, since we expect __builtin_addressof but one won't be provided. One option would be to only use __builtin_addressof for GCC 7.1 and above, but that means waiting for another release. Instead I've specifically chosen to break older GCC 7 versions. Since GCC 7 has yet to be released, and the 7.0 release is a development release, I believe that anybody currently using GCC 7.0 will have no issue upgrading. llvm-svn: 283715
* Workaround missing C++14 constexpr semantics in filesystemEric Fiselier2016-10-101-5/+12
| | | | llvm-svn: 283714
* Remove use of int128_t inside the filesystem implementationEric Fiselier2016-10-101-30/+118
| | | | llvm-svn: 283712
* [AVR] Enable generation of the TableGen assembly writer tablesDylan McKay2016-10-101-2/+3
| | | | | | | This also changes the order of the statements in CMakeLists.txt to be alphabetical. llvm-svn: 283711
* [lit] Remove (or allow specific) unused importsBrian Gesiak2016-10-104-10/+12
| | | | | | | | | | | | | | | | | | | | | Summary: Using Python linter flake8 on the utils/lit reveals several linter warnings designated "F401: Unused import". Fix or silence these warnings. Some of these unused imports are legitimate, while some are part of lit's API. For example, users of lit expect to be able to access `lit.formats.ShTest` in their `lit.cfg`, despite the module hierarchy for that symbol actually being `lit.formats.shtest.ShTest`. To silence linter errors for these lines, include a "noqa" directive. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D25407 llvm-svn: 283710
* [lit] Remove unused TestingProgressDisplay attrBrian Gesiak2016-10-101-1/+0
| | | | | | | | | | | | | | Summary: `TestingProgressDisplay` initializes its `current` attribute to `None`, but never reads or writes the value again. Remove it. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D25415 llvm-svn: 283709
* [lit] Fix undefined symbol ArgumentErrorBrian Gesiak2016-10-101-2/+2
| | | | | | | | | | | | | | | | | | | Summary: `ArgumentError` is not defined by the Python standard library. Executing this line of code would throw a exception, but not the intended one. It would throw a `NameError` exception, since `ArgumentError` is undefined. Use `ValueError` instead, which is defined by the Python standard library. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D25410 llvm-svn: 283708
* [lit] Remove semicolons in Python codeBrian Gesiak2016-10-102-3/+3
| | | | | | | | | | | | | | | Summary: Semicolons aren't necessary as statement terminators in Python, and each of these uses are superfluous as they appear at the end of a line. The convention is to not use semicolons where not needed, so remove them. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D25409 llvm-svn: 283707
* [lit] Remove unused variable in googletest formatBrian Gesiak2016-10-101-1/+0
| | | | | | | | | | | | Summary: `prefix` is written to but never read. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D25408 llvm-svn: 283706
* [lit] Remove Python 2.6 and below exec workaroundBrian Gesiak2016-10-101-12/+7
| | | | | | | | | | | | | | Summary: The minimum version of Python required to run LLVM's test suite is 2.7. Remove a workaround for older Python versions. Reviewers: echristo, delcypher, beanz, ddunbar Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D25400 llvm-svn: 283705
* [AVX-512] Port 128 and 256-bit memory->register sign/zero extend patterns ↵Craig Topper2016-10-093-13/+151
| | | | | | from SSE file. Also add a minimal set for 512-bit. llvm-svn: 283704
* [X86] Remove redundant patterns. The same pattern appears a few lines up.Craig Topper2016-10-091-6/+0
| | | | llvm-svn: 283703
* Move the global variables representing each Target behind accessor functionMehdi Amini2016-10-09102-337/+479
| | | | | | | | This avoids "static initialization order fiasco" Differential Revision: https://reviews.llvm.org/D25412 llvm-svn: 283702
* Remove debug output from gen_linker_script.pyEric Fiselier2016-10-091-3/+1
| | | | llvm-svn: 283701
* Fix linker script generation for in-tree buildsEric Fiselier2016-10-095-35/+56
| | | | llvm-svn: 283700
* [libc++abi] Fix bug which cased the static libunwind to always be chosenEric Fiselier2016-10-091-7/+7
| | | | llvm-svn: 283699
* [CMake] Correct configuration order of the sub-projects based on ther ↵Eric Fiselier2016-10-091-3/+3
| | | | | | dependancies llvm-svn: 283698
* [llvm-link] Fix description of -disable-lazy-loading optionDavide Italiano2016-10-091-1/+1
| | | | | | Patch by Will Dietz! llvm-svn: 283697
* [X86] Adding the 'nounwind' attribute to test functions for cleaner ↵Zvi Rackover2016-10-091-48/+24
| | | | | | | | generated code Thanks to RKSimon for the suggestion. llvm-svn: 283696
* [X86] Improve the rotate ISel testZvi Rackover2016-10-091-52/+519
| | | | | | | | | | | | | Summary: - Added 64-bit target testing. - Added 64-bit operand test cases. - Added cases that demonstrate pr30644 Reviewers: RKSimon, craig.topper, igorb Differential Revision: https://reviews.llvm.org/D25401 llvm-svn: 283695
* DAG: Setting Masked-Expand-Load as a variant of Masked-Load nodeElena Demikhovsky2016-10-099-46/+97
| | | | | | | | | | Masked-expand-load node represents load operation that loads a variable amount of elements from memory according to amount of "true" bits in the mask and expands the loaded elements according to their position in the mask vector. Right now, the node is used in intrinsics for VEXPAND* instructions. The work is done towards implementation of masked.expandload and masked.compressstore intrinsics. Differential Revision: https://reviews.llvm.org/D25322 llvm-svn: 283694
* Fix formatting after recent cl:: changesTobias Grosser2016-10-091-10/+13
| | | | | | This fixes 'make check-polly' llvm-svn: 283693
* [AVX-512] Fix execution domain for EVEX encoded VINSERTPS.Craig Topper2016-10-094-20/+16
| | | | llvm-svn: 283692
* MC: Remove unused entities.Peter Collingbourne2016-10-0924-246/+19
| | | | llvm-svn: 283691
* Target: Remove unused entities.Peter Collingbourne2016-10-0917-181/+4
| | | | llvm-svn: 283690
* [AVX-512] Add subvector insert and extract to load/store folding tables.Craig Topper2016-10-095-2/+217
| | | | llvm-svn: 283689
* [AVX-512] Add avx512dq to the fp stack folding test.Craig Topper2016-10-092-34/+34
| | | | llvm-svn: 283688
* [AVX-512] Add the vector down convert instructions to the store folding tables.Craig Topper2016-10-093-0/+239
| | | | llvm-svn: 283687
* [libFuzzer] make a test less flakyKostya Serebryany2016-10-091-1/+0
| | | | llvm-svn: 283686
* When optimizing for size, enable loop rerolling by defaultHal Finkel2016-10-092-1/+15
| | | | | | | | | | We have a loop-rerolling optimization which can be enabled by using -freroll-loops. While sometimes loops are hand-unrolled for performance reasons, when optimizing for size, we should always undo this manual optimization to produce smaller code (our optimizer's unroller will still unroll the rerolled loops if it thinks that is a good idea). llvm-svn: 283685
* [CMake] Fix in-tree libcxxabi build support after r283659Hal Finkel2016-10-091-5/+10
| | | | | | | | | | | r283659 changed the argument to gen_link_script.py from SCRIPT_ABI_LIBNAME to LIBCXX_LIBRARIES_PUBLIC, assuming that all of the items in the LIBCXX_LIBRARIES_PUBLIC list were library names. This is not right, however, for in-tree libcxxabi builds, we might have the target name in this list. There was special logic to fixup SCRIPT_ABI_LIBNAME for this situation; change it to apply a similar fixup for LIBCXX_LIBRARIES_PUBLIC. llvm-svn: 283684
* [CUDA] Don't install cuda_wrappers/{algorithm,complex} into the main include ↵Justin Lebar2016-10-091-3/+12
| | | | | | | | | dir. This is obviously wrong -- if we do this, then all compiles will pick up these wrappers, which is not what we want. llvm-svn: 283683
* [libFuzzer] when shrinking the corpus, delete evicted files previously ↵Kostya Serebryany2016-10-088-25/+46
| | | | | | created by the current process llvm-svn: 283682
* ThinLTO: Fix Gold test after caching fix in r283655Mehdi Amini2016-10-081-1/+15
| | | | | | (I don't have Gold available, so this is speculative) llvm-svn: 283681
* [CUDA] Support <complex> and std::min/max on the device.Justin Lebar2016-10-086-0/+391
| | | | | | | | | | | | | | | Summary: We do this by wrapping <complex> and <algorithm>. Tests are in the test-suite. Reviewers: tra Subscribers: jhen, beanz, cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D24979 llvm-svn: 283680
* [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h.Justin Lebar2016-10-086-19/+20
| | | | | | | | | | | | Summary: This matches the idiom we use for our other CUDA wrapper headers. Reviewers: tra Subscribers: beanz, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D24978 llvm-svn: 283679
* [CUDA] Declare our __device__ math functions in the same inline namespace as ↵Justin Lebar2016-10-082-1/+41
| | | | | | | | | | | | | | | | | | | our standard library. Summary: Currently we declare our inline __device__ math functions in namespace std. But libstdc++ and libc++ declare these functions in an inline namespace inside namespace std. We need to match this because, in a later patch, we want to get e.g. <complex> to use our device overloads, and it only will if those overloads are in the right inline namespace. Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: https://reviews.llvm.org/D24977 llvm-svn: 283678
* [CUDA] Add #pragma clang force_cuda_host_device_{begin,end} pragmas.Justin Lebar2016-10-0813-1/+224
| | | | | | | | | | | | | | | | | Summary: These cause us to consider all functions in-between to be __host__ __device__. You can nest these pragmas; you just can't have more 'end's than 'begin's. Reviewers: rsmith Subscribers: tra, jhen, cfe-commits Differential Revision: https://reviews.llvm.org/D24975 llvm-svn: 283677
* [libFuzzer] control the reload interval by a flag, make it 10 seconds by defaultKostya Serebryany2016-10-084-9/+13
| | | | llvm-svn: 283676
OpenPOWER on IntegriCloud