summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Re-commit "[cmake] Enable zlib support on windows"Pavel Labath2017-12-052-36/+46
| | | | | | | | | | | | | | | | | | | | | | | | This recommits r319533 which was broken llvm-config --system-libs output. The reason was that I used find_libraries for searching for the z library. This returns absolute paths, and when these paths made it into llvm-config, it made it produce nonsensical flags. To fix this, I hand-roll a search for the library in the same way that we search for the terminfo library a couple of lines below. This is a bit less flexible than the find_library option, as it does not allow the user to specify the path to the library at configure time (which is important on windows, as zlib is unlikely to be found in any of the standard places cmake searches), but I was able to guide the build to find it with appropriate values of LIB and INCLUDE environment variables. Reviewers: compnerd, rnk, beanz, rafael Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D40779 llvm-svn: 319751
* [Support/TarWriter] - Don't allow TarWriter to add the same file more than once.George Rimar2017-12-053-0/+62
| | | | | | | | | | | | | | This is for PR35460. Currently when LLD adds files to TarWriter it may pass the same file multiple times. For example it happens for clang reproduce file which specifies archive (.a) files more than once in command line. Patch makes TarWriter to ignore files with the same path, so it will add only the first one to archive. Differential revision: https://reviews.llvm.org/D40606 llvm-svn: 319750
* [ELF] - Revert r319747 "[ELF] - Show copy relocated symbols in a --Map file ↵George Rimar2017-12-053-84/+43
| | | | | | | | | | | | | | output.". It broke bots: http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/15570/steps/test_lld/logs/stdio http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/10930/steps/check-lld%20asan/logs/stdio http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/16336/steps/test%20lld/logs/stdio According to outputs, .dynstr section has different sizes for some reason. llvm-svn: 319749
* [clang-format] Releasenotes for rL319024 : Add option to group multiple ↵Sylvestre Ledru2017-12-051-0/+13
| | | | | | | | | | | | | | | | | | #include blocks when sorting includes Summary: This change adds missing releasenotes for commit rL319024 https://reviews.llvm.org/rL319024 Patch by Krzysztof Kapusta Reviewers: sylvestre.ledru Reviewed By: sylvestre.ledru Differential Revision: https://reviews.llvm.org/D40827 llvm-svn: 319748
* [ELF] - Show copy relocated symbols in a --Map file output.George Rimar2017-12-053-43/+84
| | | | | | | | | As mentioned in PR35471, copied symbols did not show in --Map output. Patch fixes that. Differential revision: https://reviews.llvm.org/D40785 llvm-svn: 319747
* Add __WINT_MAX__.Ed Schouten2017-12-052-0/+5
| | | | | | | This definition is similar to __WCHAR_MAX__, except that it applies to wint_t. It's also documented as being supported by GCC 4.5 and later. llvm-svn: 319746
* [X86] Fix a bug in handling GRXX subclasses in Domain Reassignment passGuy Blank2017-12-052-160/+360
| | | | | | | | | | | When trying to determine the correct Mask register class corresponding to a GPR register class, not all register classes were handled. This caused an assertion to be raised on some scenarios. Differential Revision: https://reviews.llvm.org/D40290 llvm-svn: 319745
* [SelectionDAG] Use WidenTargetBoolean in WidenVecRes_MLOAD and ↵Craig Topper2017-12-051-29/+2
| | | | | | | | WidenVecOp_MSTORE instead of implementing it manually and incorrectly. The CONCAT_VECTORS operand get its type from getSetCCResultType, but if the mask type and the setcc have different scalar sizes this creates an illegal CONCAT_VECTORS operation. The concat type should be 2x the mask type, and then an extend should be added if needed. llvm-svn: 319744
* Test commit, as per the LLVM Developer Policy.Michael Trent2017-12-051-0/+1
| | | | | | | Commit message, as per the same policy. I added a blank space to the end of the file. Excelsior. llvm-svn: 319743
* [clangd] Remove unused test param. NFCSam McCall2017-12-054-19/+17
| | | | llvm-svn: 319742
* [clangd] Split code-completion tests out of ClangdTests. NFC.Sam McCall2017-12-056-559/+640
| | | | | | | | | | | | | | Summary: Common parts are mostly FS related, so pulled out TestFS.h for the common stuff. Deliberately resisted cleaning up much here, so this is pretty mechanical. Reviewers: hokein Subscribers: klimek, mgorny, ilya-biryukov, cfe-commits Differential Revision: https://reviews.llvm.org/D40784 llvm-svn: 319741
* [X86] Use vector widening to support sign extend from i1 when the dest type ↵Craig Topper2017-12-0512-130/+121
| | | | | | | | | | is not 512-bits and vlx is not enabled. Previously we used a wider element type and truncated. But its more efficient to keep the element type and drop unused elements. If BWI isn't supported and we have a i16 or i8 type, we'll extend it to be i32 and still use a truncate. llvm-svn: 319740
* Revert r319691: [globalisel][tablegen] Split atomic load/store into separate ↵Daniel Sanders2017-12-0517-742/+99
| | | | | | | | opcode and enable for AArch64. Some concerns were raised with the direction. Revert while we discuss it and look into an alternative llvm-svn: 319739
* Disable detect_leaks in the ASanified build of LLVM when using Apple LLVM. ↵Kuba Mracek2017-12-051-1/+2
| | | | | | The released Apple LLVM versions don't support LSan. llvm-svn: 319738
* [X86] Fix a crash if avx512bw and xop are both enabled when the IR contrains ↵Craig Topper2017-12-052-2/+6
| | | | | | a v32i8 bitreverse. llvm-svn: 319737
* Land D28253 which fixes PR28929 (which we mistakenly marked as fixed before)Marshall Clow2017-12-053-0/+68
| | | | llvm-svn: 319736
* AMDGPU: Don't add fp64 feature to r600 subtargetsMatt Arsenault2017-12-051-1/+1
| | | | | | Should fix test after r319709 llvm-svn: 319735
* Add issue 2587, which was missedMarshall Clow2017-12-051-0/+1
| | | | llvm-svn: 319734
* AMDGPU: Fix missing subtarget feature initializerMatt Arsenault2017-12-051-0/+1
| | | | llvm-svn: 319733
* AMDGPU: Fix crash when scheduling DBG_VALUEMatt Arsenault2017-12-052-1/+338
| | | | | | | | | | | | | | This calls handleMove with a DBG_VALUE instruction, which isn't tracked by LiveIntervals. I'm not sure this is the correct place to fix this. The generic scheduler seems to have more deliberate region selection that skips dbg_value. The test is also really hard to reduce. I haven't been able to figure out what exactly causes this particular case to try moving the dbg_value. llvm-svn: 319732
* Add target.process.stop-on-exec setting, and obey it.Jim Ingham2017-12-054-13/+56
| | | | | | | | | | Also add a test. There should also be control for this in ProcessLaunchInfo and a "target launch" flag, but at least this will allow you to control it somehow. <rdar://problem/35842137> llvm-svn: 319731
* Clean up stop hook output in case a hook restarts.Jim Ingham2017-12-051-3/+10
| | | | | | | | | I was warning about the fact that this will abort further stop hooks, but didn't check that there WAS a further stop hook. Also the warning was missing a newline. llvm-svn: 319730
* [libclang] Store unsaved file hashes when recording parsing invocationsAlex Lorenz2017-12-055-4/+33
| | | | | | | | | | | | Storing the contents of unsaved files is too expensive. Instead a hash is stored with a record invocation. When a reproducer is generated, Clang will compare the stored hashes to the new hashes to determine if the contents of a file has changed. This way we'll know when a reproducer was generated for a different source to the one that triggered the original crash. rdar://35322543 llvm-svn: 319729
* [X86] Use vector widening to support zero extend from i1 when the dest type ↵Craig Topper2017-12-053-30/+47
| | | | | | | | | | is not 512-bits and vlx is not enabled. Previously we used a wider element type and truncated. But its more efficient to keep the element type and drop unused elements. If BWI isn't supported and we have a i16 or i8 type, we'll extend it to be i32 and still use a truncate. llvm-svn: 319728
* Generalize "static data member instantiated" notification to cover variable ↵Richard Smith2017-12-0514-113/+169
| | | | | | | | | templates too. While here, split the "point of instantiation changed" notification out from it; these two really are orthogonal changes. llvm-svn: 319727
* [X86] Don't use kunpck for vXi1 concat_vectors if the upper bits are undef.Craig Topper2017-12-052-6/+5
| | | | | | This can be efficiently selected by a COPY_TO_REGCLASS without the need for an extra instruction. llvm-svn: 319726
* [X86] Use getZeroVector and remove an unnecessary creation of an APInt ↵Craig Topper2017-12-052-12/+10
| | | | | | | | | | | | before calling getConstant. NFCI The getConstant function can take care of creating the APInt internally. getZeroVector will take care of using the correct type for the build vector to avoid re-lowering. The test change here is because execution domain constraints apparently pass through undef inputs of a zeroing xor. So the different ordering of register allocation here caused the dependency to change. llvm-svn: 319725
* [X86] Rearrange some of the code around AVX512 sign/zero extends. NFCICraig Topper2017-12-051-12/+12
| | | | | | | | Move the AVX512 code out of LowerAVXExtend. LowerAVXExtend has two callers but one of them pre-checks for AVX-512 so the code is only live from the other caller. So move the AVX-512 checks up to that caller for symmetry. Move all of the i1 input type code in Lower_AVX512ZeroExend together. llvm-svn: 319724
* [cmake] Modernize some conditionals. NFCShoaib Meenai2017-12-051-2/+2
| | | | | | | | | | | | | The "x${...}" form was a workaround for CMake versions prior to 3.1, where the if command would interpret arguments as variables even when quoted [1]. We can drop the workaround now that our minimum CMake version is 3.4. [1] https://cmake.org/cmake/help/v3.1/policy/CMP0054.html Differential Revision: https://reviews.llvm.org/D40744 llvm-svn: 319723
* MachineFrameInfo: Cleanup some parameter naming inconsistencies; NFCMatthias Braun2017-12-052-33/+35
| | | | | | | Consistently use the same parameter names as the names of the affected fields. This avoids some unintuitive abbreviations like `isSS`. llvm-svn: 319722
* TwoAddressInstructionPass: Trigger -O0 behavior on optnoneMatthias Braun2017-12-051-0/+4
| | | | | | | | | While we cannot skip the whole TwoAddressInstructionPass even for -O0 there are some parts of the pass that are currently skipped at -O0 but not for optnone. Changing this as there is no reason to have those two hit different code paths here. llvm-svn: 319721
* [CMake] Don't use comma as an alternate separatorPetr Hosek2017-12-051-3/+3
| | | | | | | | | | | Using comma can break in cases when we're passing flags that already use comma as a separator. Fixes PR35504. Differential Revision: https://reviews.llvm.org/D40762 llvm-svn: 319720
* [CMake] Don't use comma as an alternate separatorPetr Hosek2017-12-051-2/+2
| | | | | | | | | | | Using comma can break in cases when we're passing flags that already use comma as a separator. Fixes PR35504. Differential Revision: https://reviews.llvm.org/D40761 llvm-svn: 319719
* Update to latest clang-format. [NFC]Siddharth Bhat2017-12-051-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D40791 llvm-svn: 319718
* Make the behavior of the -v option more closer to GNU linkers.Rui Ueyama2017-12-052-5/+6
| | | | | | | | | | | | | | | | | Previously, lld exited with an error status if the only option given to the command was -v. GNU linkers gracefully exit in that case. This patch makes lld behave like GNU. Note that even with this patch, lld's -v and --version options behave slightly differently than GNU linkers' counterparts. For example, if you run `ld.bfd -v -v`, the version string is printed out twice. But that is an edge case that I don't think we need to take care of. Fixes https://bugs.llvm.org/show_bug.cgi?id=31582 Differential Revision: https://reviews.llvm.org/D40810 llvm-svn: 319717
* [Lex] Fix lldb-x86_64-ubuntu-14.04-buildserver build bot broken with r319714 ↵Eugene Zelenko2017-12-041-1/+1
| | | | | | (NFC). llvm-svn: 319716
* Fix record-parsing-invocation.c test on WindowsAlex Lorenz2017-12-041-1/+1
| | | | | | We should not check for the forward slash '/' llvm-svn: 319715
* [Lex] Fix some Clang-tidy modernize and Include What You Use warnings; other ↵Eugene Zelenko2017-12-047-217/+306
| | | | | | minor fixes (NFC). llvm-svn: 319714
* [libcxxabi] Set up .arcconfig to point to new Diffusion CXXA repositoryBen Hamilton2017-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list for review requests to the libc++abi repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40500, I set up a new Diffusion repository with callsign "CXXA" for libc++abi: https://reviews.llvm.org/source/libcxxabi/ This explicitly updates libcxxabi's .arcconfig to point to the new CXX repository in Diffusion, which will let us use Herald rule H268. Reviewers: phosek, beanz, EricWF, compnerd Reviewed By: phosek Subscribers: cfe-commits, klimek, sammccall, dlj, bkramer Differential Revision: https://reviews.llvm.org/D40501 llvm-svn: 319713
* AMDGPU/EG: Add a new FeatureFMA and use it to selectively enable FMA instructionJan Vesely2017-12-047-4/+31
| | | | | | | | | Only used by pre-GCN targets v2: fix predicate setting for FMA_Common Differential Revision: https://reviews.llvm.org/D40692 llvm-svn: 319712
* Commit tests for changes in revision 319710Marshall Clow2017-12-0410-0/+252
| | | | llvm-svn: 319711
* Implement more of P0600: '[[nodiscard]] in the library' for C++2aMarshall Clow2017-12-042-20/+22
| | | | llvm-svn: 319710
* AMDGPU: Disable fp64 support on pre GCN asicsJan Vesely2017-12-044-15/+20
| | | | | | | | | | | It's not implemented. Passing +fp64-fp16-denormal feature enables fp64 even on asics that don't support it v2: fix hasFP64 query Differential Revision: https://reviews.llvm.org/D39931 llvm-svn: 319709
* [msan] Add a fixme note for a minor deficiency.Evgeniy Stepanov2017-12-041-0/+2
| | | | llvm-svn: 319708
* Correctly handle line table entries without filenames during AST serializationHans Wennborg2017-12-044-1/+17
| | | | | | | | | | The current code would hit an assert in ASTWriter when trying to write out the filename for a line table entry that didn't have any. Fix this by allowing the -1 sentinel value to round-trip through serialization. Differential revision: https://reviews.llvm.org/D40746 llvm-svn: 319707
* Revert r319490 "XOR the frame pointer with the stack cookie when protecting ↵Hans Wennborg2017-12-049-206/+22
| | | | | | | | | | | | | | | | | | the stack" This broke the Chromium build (crbug.com/791714). Reverting while investigating. > Summary: This strengthens the guard and matches MSVC. > > Reviewers: hans, etienneb > > Subscribers: hiraditya, JDevlieghere, vlad.tsyrklevich, llvm-commits > > Differential Revision: https://reviews.llvm.org/D40622 > > git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319490 91177308-0d34-0410-b5e6-96231b3b80d8 llvm-svn: 319706
* AMDGPU: Fix creating invalid copy when adjusting dmaskMatt Arsenault2017-12-047-61/+180
| | | | | | | | | Move the entire optimization to one place. Before it was possible to adjust dmask without changing the register class of the output instruction, since they were done in separate places. Fix all lane sizes and move all of the optimization into the DAG folding. llvm-svn: 319705
* AMDGPU: Use return value of MorphNodeToMatt Arsenault2017-12-041-3/+1
| | | | llvm-svn: 319704
* Add _Float128 as alias to __float128 to enable compilations on ↵Erich Keane2017-12-044-10/+37
| | | | | | | | | | | | | | | | | Fedora27/glibc2-26 Fedora27 is using a new version of glibc that refers to the _Float128 type. This patch adds that name as an alias to float128. I also added some predefined macro values for the digits, mantissa, epilon, etc (FloatMacros). For the test case, I copied an existing float128 test. This functionality needs work long term, but it should be sufficient to tread water for a while. At Intel we have test servers running our LLVM compiler with various open source workloads, the server has been upgraded to Fedora27 so many workloads are failing due to _Float128. Patch-By: mibintc Differential Revision: https://reviews.llvm.org/D40673 llvm-svn: 319703
* [libclang] Record parsing invocation to a temporary file when requestedAlex Lorenz2017-12-047-0/+130
| | | | | | | | | | | | | | | | | | by client This patch extends libclang by allowing it to record parsing operations to a temporary JSON file. The file is deleted after parsing succeeds. When a crash happens during parsing, the file is preserved and the client will be able to use it to generate a reproducer for the crash. These files are not emitted by default, and the client has to specify the invocation emission path first. rdar://35322543 Differential Revision: https://reviews.llvm.org/D40527 llvm-svn: 319702
OpenPOWER on IntegriCloud