summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix the build with gcc when `-Wredundant-decls` is passedDimitry Andric2019-02-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: gcc warns that `__throw_runtime_error` is declared both in `<__locale>` and `<stdexcept>`, if `-Wredundant-decls` is passed on the command line; this is the case with FreeBSD when ${WARNS} == 6. Since `<__locale>` gets its first declaration via a transitive include of `<stdexcept>`, and the second declaration is after the first invocation of `__throw_runtime_error`, delete that second declaration. Signed-off-by: Enji Cooper <yaneurabeya@gmail.com> Reviewers: kristina, MaskRay, EricWF, ldionne, ngie Reviewed By: EricWF Subscribers: krytarowski, brooks, emaste, dim, christof, jdoerfert, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D58425 llvm-svn: 354515
* [SelectionDAG] Teach GetDemandedBits to look at the known zeros of the LHS ↵Craig Topper2019-02-202-5/+7
| | | | | | | | | | | | when handling ISD::AND If the LHS has known zeros, then the RHS immediate mask might have been simplified to remove those bits. This patch adds a call to computeKnownBits to get the known zeroes to handle that possibility. I left an early out to skip the call if all of the demanded bits are set in the mask. Differential Revision: https://reviews.llvm.org/D58464 llvm-svn: 354514
* [SDAG] Support vector UMULO/SMULONikita Popov2019-02-2010-22/+5904
| | | | | | | | | | | | | | | Second part of https://bugs.llvm.org/show_bug.cgi?id=40442. This adds an extra UnrollVectorOverflowOp() method to SDAG, because the general UnrollOverflowOp() method can't deal with multiple results. Additionally we need to expand UMULO/SMULO during vector op legalization, as it may result in unrolling, which may need additional type legalization. Differential Revision: https://reviews.llvm.org/D57997 llvm-svn: 354513
* Make predefined FLT16 macros conditional on support for the typeNemanja Ivanovic2019-02-203-19/+24
| | | | | | | | | | | | We unconditionally predefine these macros. However, they may be used to determine if the type is supported. In that case, there are unnecessary failures to compile the code. This is the proposed fix for https://bugs.llvm.org/show_bug.cgi?id=40559 Differential revision: https://reviews.llvm.org/D57577 llvm-svn: 354512
* [X86] Add more load folding patterns for blend instructions as a follow up ↵Craig Topper2019-02-207-38/+98
| | | | | | | | | | | | | | to r354363. This avoids depending on the peephole pass to do load folding. Also adds some load folding for some insert_subvector patterns that use blend. All of this was found by temporarily adding TB_NO_FORWARD to the blend immediate entries in the load folding tables. I've added -disable-peephole to some of the affected tests from that experiment to ensure we're testing isel patterns. llvm-svn: 354511
* Add support for pointer types in patternsTom Stellard2019-02-207-6/+75
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This adds support for defining patterns for global isel using pointer types, for example: def : Pat<(load GPR32:$src), (p1 (LOAD GPR32:$src))>; DAGISelEmitter will ignore the pointer information and treat these types as integers with the same bit-width as the pointer type. Reviewers: dsanders, rtereshin, arsenm Reviewed By: arsenm Subscribers: Petar.Avramovic, wdng, rovka, kristof.beyls, jfb, volkan, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57065 llvm-svn: 354510
* [OPENMP] Use targetDiag for diagnostics of unsupported exceptions, NFC.Alexey Bataev2019-02-202-8/+2
| | | | llvm-svn: 354509
* Fix testcase.Nirav Dave2019-02-201-0/+1
| | | | llvm-svn: 354508
* [clangd] Fix a crash in SelectionIlya Biryukov2019-02-202-2/+6
| | | | | | | | | | | | | | | | | | | Summary: The assertion checking that a range of a node is a token range does not hold in case of "split" tokens, e.g. between two closing template argument lists (`vector<vector<int>>`). Reviewers: kadircet, sammccall Reviewed By: kadircet Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58447 llvm-svn: 354507
* [lldb-mi] Move TestMIPrompt away from pexpect().Davide Italiano2019-02-202-58/+17
| | | | llvm-svn: 354506
* [clangd] Store index in '.clangd/index' instead of '.clangd-index'Ilya Biryukov2019-02-204-8/+8
| | | | | | | | | | | | | | | | Summary: To take up the .clangd folder for other potential uses in the future. Reviewers: kadircet, sammccall Reviewed By: kadircet Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58440 llvm-svn: 354505
* Add test case.Nirav Dave2019-02-201-0/+71
| | | | llvm-svn: 354504
* Fix remaining semicolon pedantic errors for intelGabor Marton2019-02-201-2/+2
| | | | llvm-svn: 354503
* [Clang Driver] Add support for "-static-pie" argument to the Clang driver.Siva Chandra2019-02-204-13/+39
| | | | | | | | | | | | Summary: This change mimics GCC's support for the "-static-pie" argument. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58307 llvm-svn: 354502
* [X86] Add test case to show missed opportunity to remove an explicit AND on ↵Craig Topper2019-02-201-0/+31
| | | | | | | | | | the bit position from BT when it has known zeros. NFC If the bit position has known zeros in it, then the AND immediate will likely be optimized to remove bits. This can prevent GetDemandedBits from recognizing that the AND is unnecessary. llvm-svn: 354501
* Fix license headersVitaly Buka2019-02-201-2/+3
| | | | llvm-svn: 354500
* Revert r354498 "[X86] Add test case to show missed opportunity to remove an ↵Craig Topper2019-02-202-36/+3
| | | | | | | | explicit AND on the bit position from BT when it has known zeros." I accidentally committed more than just the test. llvm-svn: 354499
* [X86] Add test case to show missed opportunity to remove an explicit AND on ↵Craig Topper2019-02-202-3/+36
| | | | | | | | | | the bit position from BT when it has known zeros. If the bit position has known zeros in it, then the AND immediate will likely be optimized to remove bits. This can prevent GetDemandedBits from recognizing that the AND is unnecessary. llvm-svn: 354498
* AArch64/test: Add check for function name to machine-outliner-bad-adrp.mirTom Stellard2019-02-201-0/+1
| | | | | | | | | | | | | | | | | | | Summary: This test was failing in one of our setups because the generated ModuleID had the full path of the test file and that path contained the string BL. Reviewers: t.p.northover, jpaquette, paquette Reviewed By: paquette Subscribers: javed.absar, kristof.beyls, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58217 llvm-svn: 354497
* Fixing NDEBUG typo in include/llvm/Support/raw_ostream.hPuyan Lotfi2019-02-201-1/+1
| | | | | | NDEBUG is misspelled as NDBEBUG in include/llvm/Support/raw_ostream.h. llvm-svn: 354495
* [lldb-mi] Remove a test that uses pexpect().Davide Italiano2019-02-201-82/+0
| | | | | | | | | | | | | | | | Summary: Its functionality is entirely covered by exec-run.test (which doesn't use pexpect) Reviewers: serge-sans-paille Subscribers: ki.stfu, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58459 llvm-svn: 354494
* [MCA][Scheduler] Correctly initialize field NumDispatchedToThePendingSet.Andrea Di Biagio2019-02-201-1/+2
| | | | | | This should have been part of r354490. llvm-svn: 354493
* Add partial implementation of std::to_address() as llvm::to_address()Daniel Sanders2019-02-202-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Following on from the review for D58088, this patch provides the prerequisite to_address() implementation that's needed to have pointer_iterator support unique_ptr. The late bound return should be removed once we move to C++14 to better align with the C++20 declaration. Also, this implementation can be removed once we move to C++20 where it's defined as std::to_addres() The std::pointer_traits<>::to_address(p) variations of these overloads has not been implemented. Reviewers: dblaikie, paquette Reviewed By: dblaikie Subscribers: dexonsmith, kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58421 llvm-svn: 354491
* [MCA][Scheduler] Collect resource pressure and memory dependency bottlenecks.Andrea Di Biagio2019-02-205-32/+49
| | | | | | | | | | | | | | | | | | Every cycle, the Scheduler checks if instructions in the ReadySet can be issued to the underlying pipelines. If an instruction cannot be issued because one or more pipeline resources are unavailable, then field Instruction::CriticalResourceMask is updated with the resource identifier of the unavailable resources. If an instruction cannot be promoted from the PendingSet to the ReadySet because of a memory dependency, then field Instruction::CriticalMemDep is updated with the identifier of the dependending memory instruction. Bottleneck information is collected after every cycle for instructions that are waiting to execute. The idea is to help identify causes of bottlenecks; this information can be used in future to implement a bottleneck analysis. llvm-svn: 354490
* [X86][SSE] combineX86ShufflesRecursively - begin generalizing the number of ↵Simon Pilgrim2019-02-201-11/+7
| | | | | | | | shuffle inputs. NFCI. We currently bail if the target shuffle decodes to more than 2 input vectors, this is some initial cleanup that still has the limit but generalizes the opindices to an array that will be necessary when we drop the limit. llvm-svn: 354489
* [TestModuleCXX] Make this test Darwin-only.Jonas Devlieghere2019-02-201-1/+1
| | | | | | | Apparently this functionality is not expected to work on non-Darwin systems. I should've checked the decorator on the original test. llvm-svn: 354487
* [OPENMP] Delay emission of the asm target-specific error messages.Alexey Bataev2019-02-204-44/+173
| | | | | | | | | | | | | | | | | Summary: Added the ability to emit target-specific builtin assembler error messages only in case if the function is really is going to be emitted for the device. Reviewers: rjmccall Subscribers: guansong, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58243 llvm-svn: 354486
* Update property prefix regex to allow numbers.Yan Zhang2019-02-202-10/+10
| | | | | | | | Subscribers: jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D56896 llvm-svn: 354485
* [llvm-readelf]Test a couple of corner-cases for --section-mappingJames Henderson2019-02-202-0/+20
| | | | | | | | | | | | This patch adds two new tests for edge-case behaviour for --section- mapping, namely when there are no program headers, and when there are no section headers. Reviewed by: mattd Differential Revision: https://reviews.llvm.org/D58456 llvm-svn: 354484
* [lldb] [test] Fix expected netbsd output for TestImageListMultiArchitectureMichal Gorny2019-02-201-1/+1
| | | | llvm-svn: 354483
* Fix compile error with Intel's compiler (-Werror=pedantic)Gabor Marton2019-02-201-60/+60
| | | | | | | An extra semicolon at the end of macro invocations caused a build bot failure for Intel's compiler when pedantic is turned on. llvm-svn: 354482
* [CodeGen] Enable the complex-math test for armPetr Hosek2019-02-201-2/+2
| | | | | | | | | This test wasn't running due to a missing : after the RUN statement. Enabling this test revealed that it's actually broken. Differential Revision: https://reviews.llvm.org/D58429 llvm-svn: 354481
* GlobalISel: Fix fewerElementsVector for ctlz with different result typeMatt Arsenault2019-02-207-3/+319
| | | | | | Also complete the set of related operations. llvm-svn: 354480
* [OPENMP][NVPTX]Use faster teams reduction algorithm.Alexey Bataev2019-02-208-140/+1566
| | | | | | | A faster way to reduce the values in teams reductions was found, the codegen is updated to use this faster algorithm and new runtime functions. llvm-svn: 354479
* GlobalISel: Implement moreElementsVector for g_insert resultsMatt Arsenault2019-02-2017-195/+768
| | | | llvm-svn: 354477
* Re-land the refactoring part of r354244 "[DAGCombiner] Eliminate dead stores ↵Clement Courbet2019-02-203-37/+98
| | | | | | | | to stack." This is an NFC. llvm-svn: 354476
* [CGP][x86] add tests for usubo special-case; NFCSanjay Patel2019-02-202-9/+41
| | | | | | | This is another example from PR31754: https://bugs.llvm.org/show_bug.cgi?id=31754 llvm-svn: 354475
* [obj2yaml][yaml2obj]Locate all .yaml and .test testsJames Henderson2019-02-202-1/+2
| | | | | | | | | | | | | | | | A number of the obj2yaml tests end in .yaml, but .yaml is not a default file type picked up by lit, so these tests weren't being run when running the testsuite as a whole (they could be run explicitly still). This change adds a lit local config file to specify the known file types for obj2yaml tests (.yaml and .test). Additionally, it fixes the yaml2obj config file to allow both .test and .yaml suffixed tests (previously, the two tests ending in '.test' were not being run). Reviewed by: grimar Differential Revision: https://reviews.llvm.org/D58439 llvm-svn: 354474
* [Hexagon] Split vector pairs for ISD::SIGN_EXTEND and ISD::ZERO_EXTENDKrzysztof Parzyszek2019-02-203-0/+23
| | | | llvm-svn: 354473
* Speculative buildfix for MacHans Wennborg2019-02-201-0/+1
| | | | | | | | | | | | | | | | | Our builds were failing with FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o [..] In file included from /b/c/b/ToTMac/src/third_party/llvm/lib/Support/ARMBuildAttrs.cpp:9: In file included from /b/c/b/ToTMac/src/third_party/llvm/include/llvm/ADT/StringRef.h:12: In file included from /b/c/b/ToTMac/src/third_party/llvm/include/llvm/ADT/STLExtras.h:19: /b/c/b/ToTMac/src/third_party/llvm/include/llvm/ADT/Optional.h:88:25: error: no member named 'addressof' in namespace 'std' ::new ((void *)std::addressof(value)) T(std::forward<Args>(args)...); ~~~~~^ Try to fix by including <memory> llvm-svn: 354472
* [OpenMP][libomptarget] New reduction scheme for team reductionsGheorghe-Teodor Bercea2019-02-202-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds a more sophisticated team reduction scheme to the OpenMP libomptarget-nvptx runtime. The scheme uses a fixed size global memory buffer whose length can be adjusted via compiler flag: ``` -fopenmp-cuda-teams-reduction-recs-num=1024 ``` The global buffer is a structure of arrays (with default size of 1024 each and controlled by the above flag), one array for each reduction variable. Values in the buffer are processed by the last team to finish executing the body of the target region. In addition to adding support for the new flag, the compiler also emits special functions used for the reduction of the intermediate reduction values. These changes will be added in a separate compiler patch following this one. Reviewers: ABataev, caomhin Reviewed By: ABataev Subscribers: guansong, jfb, jdoerfert, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D58409 llvm-svn: 354471
* [MCA][ResourceManager] Add a table that maps processor resource indices to ↵Andrea Di Biagio2019-02-205-28/+47
| | | | | | | | | | | | processor resource identifiers. This patch adds a lookup table to speed up resource queries in the ResourceManager. This patch also moves helper function 'getResourceStateIndex()' from ResourceManager.cpp to Support.h, so that we can reuse that logic in the SummaryView (and potentially other views in llvm-mca). No functional change intended. llvm-svn: 354470
* Fix the build with gcc/libstdc++ 4.8.2 after r354441Hans Wennborg2019-02-201-2/+2
| | | | llvm-svn: 354469
* [mips] Put some MIPS-specific sections to separate segmentsSimon Atanasyan2019-02-204-23/+68
| | | | | | | | | | | | | | Three MIPS-specific sections `.reginfo`, `.MIPS.options`, and `.MIPS.abiflags` are used by loader to read their contents and setup environment for running a program. Loader looks up these data in the corresponding segments: `PT_MIPS_REGINFO`, `PT_MIPS_OPTIONS`, and `PT_MIPS_ABIFLAGS` respectively. This patch put these sections to separate segments like we do already for ARM `SHT_ARM_EXIDX` section. Differential Revision: http://reviews.llvm.org/D58381 llvm-svn: 354468
* [InstSimplify] use any-zero matcher for fcmp foldsSanjay Patel2019-02-202-34/+29
| | | | | | | | | | | | | The m_APFloat matcher does not work with anything but strict splat vector constants, so we could miss these folds and then trigger an assertion in instcombine: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13201 The previous attempt at this in rL354406 had a logic bug that actually triggered a regression test failure, but I failed to notice it the first time. llvm-svn: 354467
* [lldb] [ObjectFile/ELF] Fix recognizing NetBSD imagesMichal Gorny2019-02-205-13/+64
| | | | | | | | | | | | | | | | | | | | | Split the recognition into NetBSD executables & shared libraries and core(5) files. Introduce new owner type: "NetBSD-CORE", as core(5) files are not tagged in the same way as regular NetBSD executables. Stop using incorrectly ABI_TAG and ABI_SIZE. Introduce IDENT_TAG, IDENT_DECSZ, IDENT_NAMESZ and PROCINFO. The new values detect correctly the NetBSD images. The patch has been originally written by Kamil Rytarowski. I've added tests and applied minor code changes per review. The work has been sponsored by the NetBSD Foundation. Differential Revision: https://reviews.llvm.org/D42870 llvm-svn: 354466
* [yaml2elf] - Rename a variable. NFC.George Rimar2019-02-201-2/+2
| | | | | | Was suggested during review of D58441. llvm-svn: 354463
* [yaml2obj] - Simplify implementation. NFCI.George Rimar2019-02-201-21/+15
| | | | | | | | | | | | Knowing about how types are declared for 32/64 bit platforms: https://github.com/llvm-mirror/llvm/blob/master/include/llvm/BinaryFormat/ELF.h#L28 it is possible to simplify code that writes a binary a bit. The patch does that. Differential revision: https://reviews.llvm.org/D58441 llvm-svn: 354462
* [MIPS MSA] Avoid some DAG combines for vector shiftsPetar Avramovic2019-02-203-77/+65
| | | | | | | | | | DAG combiner combines two shifts into shift + and with bitmask. Avoid such combines for vectors since leaving two vector shifts as they are produces better end results. Differential Revision: https://reviews.llvm.org/D58225 llvm-svn: 354461
* [clangd] Fix a typo. NFCIlya Biryukov2019-02-201-1/+1
| | | | | | | The documentation for -index-file mentioned clang-index instead of clangd-indexer. llvm-svn: 354456
OpenPOWER on IntegriCloud