summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] - Do not crash if common symbol alignment set to value greater than ↵George Rimar2016-10-102-1/+7
| | | | | | | | | | | | | | | | | | | | | | | UINT32_MAX. We have following code in lld, that truncates the alignment value to 32 bit. Big alignment in this case may give result 0 and crash later. template <class ELFT> CommonInputSection<ELFT>::CommonInputSection(std::vector<DefinedCommon *> Syms) : InputSection<ELFT>(nullptr, &Hdr, "") { .... for (DefinedCommon *Sym : Syms) { this->Alignment = std::max<uintX_t>(this->Alignment, Sym->Alignment); ... } } Patch fixes the issue. Differential revision: https://reviews.llvm.org/D25235 llvm-svn: 283733
* [LLDB][MIPS] Skip some test case which were causing LLDB to go into infinite ↵Nitesh Jain2016-10-1035-35/+35
| | | | | | | | | | | | loop Reviewers: clayborg, labath Subscribers: jaydeep, bhushan, slthakur, llvm-commits Differential Revision: https://reviews.llvm.org/D24549 llvm-svn: 283732
* [ELF] - Do not crash on absolute local symbol starting from ".L".George Rimar2016-10-102-3/+13
| | | | | | | | | | | Absolute local symbols with name staring from ".L" were reason of crash. The same could happen when using some broken inputs found by AFL. Patch fixes that. Differential revision: https://reviews.llvm.org/D25365 llvm-svn: 283731
* [ELF][ARM] Initial implentation of ARM exceptions supportPeter Smith2016-10-108-9/+387
| | | | | | | | | | | | | | | | | | | The .ARM.exidx sections contain a table. Each entry has two fields: - PREL31 offset to the function the table entry describes - Action to take, either cantunwind, inline unwind, or PREL31 offset to .ARM.extab section The table entries must be sorted in order of the virtual addresses the first entry of the table describes. Traditionally this is implemented by the SHF_LINK_ORDER dependency. Instead of implementing this directly we sort the table entries post relocation. The .ARM.exidx OutputSection is described by the PT_ARM_EXIDX program header Differential revision: https://reviews.llvm.org/D25127 llvm-svn: 283730
* [LLDB][MIPS] Fix TestReturnValue failure for MIPSNitesh Jain2016-10-101-27/+39
| | | | | | | | | | Reviewers: clayborg, labath, bhushan Subscribers: jaydeep, slthakur, llvm-commits Differential Revision: https://reviews.llvm.org/D24498 llvm-svn: 283729
* [LLDB][MIPS] Fix register read/write for 32 bit big endian systemNitesh Jain2016-10-102-1/+4
| | | | | | | | | | Reviewers: clayborg, labath Subscribers: jaydeep, bhushan, mohit.bhakkad, slthakur, llvm-commits Differential Revision: https://reviews.llvm.org/D24124 llvm-svn: 283728
* This pass, fixing an erratum in some LEON 2 processors ensures that the SDIV ↵Chris Dewhurst2016-10-106-1/+29
| | | | | | | | instruction is not issued, but replaced by SDIVcc instead, which does not exhibit the error. Unit test included. Differential Review: https://reviews.llvm.org/D24660 llvm-svn: 283727
* [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
OpenPOWER on IntegriCloud