summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Change an internal table of constants for the poisson distribution fromMarshall Clow2018-01-161-1/+1
| | | | | | | | | type 'result_type' to 'double'. The only thing that we ever do with these numbers is to promote them to 'double' and use them in a division. For small result_types, the values were getting truncated, skewing the results. Thanks to James Nagurne for the suggestion. llvm-svn: 322556
* [LiveDebugValues] recognize spilled reg killed in instruction after spillPetar Jovanovic2018-01-162-7/+417
| | | | | | | | | | | Current condition for spill instruction recognition in LiveDebugValues does not recognize case when register is spilled and killed in next instruction. Patch by Nikola Prica. Differential Revision: https://reviews.llvm.org/D41226 llvm-svn: 322554
* [X86][MMX] Improve MMX constant generationSimon Pilgrim2018-01-163-26/+24
| | | | | | Extend the MMX zero code to take any constant with zero'd upper 32-bits llvm-svn: 322553
* [NFC] fix trivial typos in documentsHiroshi Inoue2018-01-163-4/+4
| | | | | | "the the" -> "the" llvm-svn: 322552
* [NFC] fix trivial typo in documentHiroshi Inoue2018-01-161-1/+1
| | | | | | "the the" -> "the" llvm-svn: 322551
* Squash -Wcovered-switch-default wairningSam McCall2018-01-161-2/+1
| | | | llvm-svn: 322549
* Ensure code complete with !LoadExternal sees all local decls.Sam McCall2018-01-167-40/+35
| | | | | | | | | | | | | | | | | | | | | Summary: noload_lookups() was too lazy: in addition to avoiding external decls, it avoided populating the lazy lookup structure for internal decls. This is the right behavior for the existing callsite in ASTDumper, but I think it's not a very useful default, so we populate it by default. While here: - remove an unused test file accidentally added in r322371. - remove lookups_begin()/lookups_end() in favor of lookups().begin(), which is more common and more efficient. Reviewers: ilya-biryukov Subscribers: cfe-commits, rsmith Differential Revision: https://reviews.llvm.org/D42077 llvm-svn: 322548
* [clangd] Avoid combinatorial explosion in CodeCompleteTests.Sam McCall2018-01-161-20/+20
| | | | | | | | | | | | | | | | | Summary: This test dominates our unit test runtime, and the change speeds it up by 10x. We lose coverage of some combinations of flags, but I'm not sure that's finding many bugs. 3300 -> 300ms on my machine (3800 -> 800ms for the whole of CompletionTest). Reviewers: ilya-biryukov Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D42063 llvm-svn: 322547
* Add missing CINDEX_LINKAGEIvan Donchevskii2018-01-161-4/+4
| | | | | | | | Follow up for [libclang] Add PrintingPolicy for pretty printing declarations Differential Revision: https://reviews.llvm.org/D39903 llvm-svn: 322546
* [X86][I86,I186,I286,I386,I486,PPRO, MMX]: Adding full coverage of MC ↵Gadi Haber2018-01-1614-0/+16124
| | | | | | | | | | | | | | | encoding for the I86, I186, I286, I386, I486, PPRO and MMX isa sets.<NFC> NFC. Adding MC regressions tests to cover the I86, I186, I286, I386, I486, PPRO and MMX isa sets. This patch is part of a larger task to cover MC encoding of all X86 ISA Sets. Started in revision: https://reviews.llvm.org/D39952 Reviewers: zvi, RKSimon, AndreiGrischenko, craig.topper Differential Revision: https://reviews.llvm.org/D40879 Change-Id: I231a35861611bfd3d23c74cc59507373f021a629 llvm-svn: 322544
* [DebugInfo] Unify dumping of address rangesJonas Devlieghere2018-01-1653-223/+237
| | | | | | | | | | | | | | | Summary: This patch unifies the printing of address ranges as [0x0, 0x1). rdar://34822059 Reviewers: aprantl, dblaikie Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D42056 llvm-svn: 322543
* [CodeGen] Remove special case of printing subRegIdx from MachineInstr::printFrancis Visoiu Mistrih2018-01-161-3/+0
| | | | | | | Support in MachineOperand has been added in r320209. No need to special case this anymore. llvm-svn: 322542
* [CodeGen][NFC] Correct case for printSubRegIdxFrancis Visoiu Mistrih2018-01-165-5/+5
| | | | llvm-svn: 322541
* [libclang] Add PrintingPolicy for pretty printing declarationsJonathan Coe2018-01-166-13/+423
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Introduce clang_getCursorPrettyPrinted() for pretty printing declarations. Expose also PrintingPolicy, so the user gets more fine-grained control of the entities being printed. The already existing clang_getCursorDisplayName() is pretty limited - for example, it does not handle return types, parameter names or default arguments for function declarations. Addressing these issues in clang_getCursorDisplayName() would mean to duplicate existing code (e.g. clang::DeclPrinter), so rather expose new API to access the existing functionality. Reviewed By: jbcoe Subscribers: cfe-commits Tags: #clang Patch by nik (Nikolai Kosjar) Differential Revision: https://reviews.llvm.org/D39903 llvm-svn: 322540
* Add a value_type to ArrayRef.Clement Courbet2018-01-162-0/+9
| | | | | | | | | | Summary: Not sure this needs a review or not. Erring on the safe side. Reviewers: dblaikie Differential Revision: https://reviews.llvm.org/D41666 llvm-svn: 322538
* [X86][XSAVE]: Adding full coverage of MC encoding for the XSAVE isa sets.<NFC>Gadi Haber2018-01-1611-0/+614
| | | | | | | | | | | | NFC. Adding MC regressions tests to cover the XSAVE ISA sets. This patch is part of a larger task to cover MC encoding of all X86 ISA Sets started in revision: https://reviews.llvm.org/D39952 Reviewers: zvi, RKSimon, AndreiGrischenko, craig.topper Differential Revision: https://reviews.llvm.org/D41282 Change-Id: I325bf8f421f78c80179a04fc39033366759cbe45 llvm-svn: 322537
* [FileCheck] - Fix possible buffer out of bounds access when parsing ↵George Rimar2018-01-162-0/+7
| | | | | | | | | | | | | | | | | | | --check-prefix. FileCheck tool crashes when trying to parse --check-prefix argument if there is no any data after it. For example test like following would crash if there are no symbols and no EOL mark after `boom`: # REQUIRES: x86 # RUN: <skipped few lines> # RUN: llvm-readobj -t %t | FileCheck %s --check-prefix=boom Patch fixes the issue. Differential revision: https://reviews.llvm.org/D42057 llvm-svn: 322536
* [BPF] Mark pseudo insn patterns as isCodeGenOnlyYonghong Song2018-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | These pseudos are not supposed to be visible to user. This patch reduced the auto-generated instruction matcher. For example, the following words are removed from keyword list of LLVM BPF assembler. - MCK__35_, // '#' - MCK__COLON_, // ':' - MCK__63_, // '?' - MCK_ADJCALLSTACKDOWN, // 'ADJCALLSTACKDOWN' - MCK_ADJCALLSTACKUP, // 'ADJCALLSTACKUP' - MCK_PSEUDO, // 'PSEUDO' - MCK_Select, // 'Select' Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Jiong Wang <jiong.wang@netronome.com> llvm-svn: 322535
* [BPF] Teach DAG2DAG AND elimination about load intrinsicsYonghong Song2018-01-162-7/+89
| | | | | | | | | | | | | | | | | | As commented on the existing code: // The Reg operand should be a virtual register, which is defined // outside the current basic block. DAG combiner has done a pretty // good job in removing truncating inside a single basic block. However, when the Reg operand comes from bpf_load_[byte | half | word] intrinsics, the generic optimizer doesn't understand their results are zero extended, so these single basic block elimination opportunities were missed. Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Yonghong Song <yhs@fb.com> Signed-off-by: Jiong Wang <jiong.wang@netronome.com> llvm-svn: 322534
* [SROA] fix assetion failureHiroshi Inoue2018-01-164-26/+87
| | | | | | | | | | | | | | This patch fixes the assertion failure in SROA reported in PR35657. PR35657 reports the assertion failure due to r319522 (splitting for non-whole-alloca slices), but this problem can happen even without r319522. The problem exists in a check for reusing an existing alloca when rewriting partitions. As the original comment said, we can reuse the existing alloca if the new alloca has the same type and offset with the existing one. But the code checks only type of the alloca and then check the offset using an assert. In a corner case with out-of-bounds access (e.g. @PR35657 function added in unit test), it is possible that the two allocas have the same type but different offsets. This patch makes the check of the offset in the if condition, and re-enables the splitting for non-whole-alloca slices. Differential Revision: https://reviews.llvm.org/D41981 llvm-svn: 322533
* [X86] Revisit the fix I made years ago to make 'xchgl %eax, %eax' not encode ↵Craig Topper2018-01-163-18/+8
| | | | | | | | | | using the 0x90 encoding in 64-bit mode. Prior to this we had a separate instruction and register class that excluded eax to prevent matching the instruction that would encode with 0x90. This patch changes this to just use an InstAlias to force xchgl %eax, %eax to use XCHG32rr instruction in 64-bit mode. This gets rid of the separate instruction and register class. llvm-svn: 322532
* [X86] Make 'xchgq %rax, %rax' an alias for the 0x90 nop encoding to match gas.Craig Topper2018-01-162-2/+6
| | | | | | Previously we encoded it as 0x48 0x90. llvm-svn: 322531
* [Sema] Fix a crash on invalid features in multiversioningGeorge Burgess IV2018-01-162-3/+10
| | | | | | | | | We were trying to emit a diag::err_bad_multiversion_option diagnostic, which expects an int as its first argument, with a string argument. As it happens, the string `Feature` that was causing this was shadowing an int `Feature` from the surrounding scope. :) llvm-svn: 322530
* More constexpr algorithms from P0202: lower_bound, upper_bound, equal_range, ↵Marshall Clow2018-01-1611-43/+176
| | | | | | binary_search llvm-svn: 322529
* Actually CALL the constexpr tests.Marshall Clow2018-01-162-0/+8
| | | | llvm-svn: 322528
* More constexpr (re P0202) - equal and mismatchMarshall Clow2018-01-165-22/+164
| | | | llvm-svn: 322527
* Avoid Wparentheses warning.Simon Pilgrim2018-01-151-2/+2
| | | | llvm-svn: 322526
* [X86][MMX] Add support for MMX zero vector creationSimon Pilgrim2018-01-155-35/+48
| | | | | | | | | | As mentioned on PR35869, (and came up recently on D41517) we don't create a MMX zero register via the PXOR but instead perform a spill to stack from a XMM zero register. This patch adds support for direct MMX zero vector creation and should make it easier to add better constant vector creation in the future as well. Differential Revision: https://reviews.llvm.org/D41908 llvm-svn: 322525
* [X86][SSE] Add custom execution domain fixing for ↵Simon Pilgrim2018-01-1551-1159/+1013
| | | | | | | | | | BLENDPD/BLENDPS/PBLENDD/PBLENDW (PR34873) Add support for custom execution domain fixing and implement support for BLENDPD/BLENDPS/PBLENDD/PBLENDW. Differential Revision: https://reviews.llvm.org/D42042 llvm-svn: 322524
* [x86] add tests to show missed constant shrinking (PR35907); NFCSanjay Patel2018-01-151-4/+81
| | | | llvm-svn: 322523
* [x86] regenerate test checks; NFCSanjay Patel2018-01-151-7/+21
| | | | llvm-svn: 322522
* [x86] regenerate test checks; NFCSanjay Patel2018-01-151-127/+249
| | | | llvm-svn: 322521
* [docs] Only LLVM IR bitstreams begin with 'BC'Brian Gesiak2018-01-151-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The LLVM Bitcode File Format documentation states that all bitstreams begin with the magic number 'BC', and that generic bitstream analyzer tools may check for this number in order to determine whether the stream is a bitstream. However, in practice: * Only LLVM IR bitcode begins with 'BC'. Other bitstreams -- Clang AST files and precompiled headers, Clang serialized diagnostics, Swift modules -- do not start with 'BC'. A tool that actually checked for 'BC' would only be able to recognize LLVM IR. * The `llvm-bcanalyzer`, arguably the most used generic bitstream analyzer tool, does not check for a magic number 'BC' (except to determine whether the file is LLVM IR). Update the bitcode format documentation to make it clear that not all bitstreams begin with 'BC', and that tools should not rely on that particular magic number value. Test Plan: Build the `docs-llvm-html` target and confirm the changes render in a Safari web browser. Reviewers: harlanhaskins, eugenis, mehdi_amini, pcc, angerman Reviewed By: angerman Subscribers: angerman, llvm-commits Differential Revision: https://reviews.llvm.org/D42002 llvm-svn: 322520
* [x86] regenerate test checks; NFCSanjay Patel2018-01-151-4/+7
| | | | llvm-svn: 322519
* Revert 319303: Add _Float128 as alias to __float128 to enable compilations ↵Erich Keane2018-01-154-37/+10
| | | | | | | | on Fedora27/glibc2 Differential Revision: https://reviews.llvm.org/D40673 llvm-svn: 322518
* [Driver] Suggest valid integrated toolsBrian Gesiak2018-01-152-2/+5
| | | | | | | | | | | | | | | | | | | | | | Summary: There are only two valid integrated Clang driver tools: `-cc1` and `-cc1as`. If a user asks for an unknown tool, such as `-cc1asphalt`, an error message is displayed to indicate that there is no such tool, but the message doesn't indicate what the valid options are. Include the valid options in the error message. Test Plan: `check-clang` Reviewers: sepavloff, bkramer, phosek Reviewed By: bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D42004 llvm-svn: 322517
* [OPENMP] Update status of OpenMP support, NFC.Alexey Bataev2018-01-151-2/+2
| | | | llvm-svn: 322516
* [OPENMP] Initial codegen for `target teams distribute parallel forAlexey Bataev2018-01-1517-21/+3584
| | | | | | | | | simd`. Added host codegen + codegen for devices with default codegen for `#pragma omp target teams distribute parallel for simd` directive. llvm-svn: 322515
* [RISCV] Fix test failures on non-assert builds introduced in r322494Alex Bradbury2018-01-152-12/+6
| | | | | | | | Thanks to Eli Friedman, who suggested the reason these tests failed on a few buildbots yet works fine locally is because non-assert builds don't emit value labels. llvm-svn: 322514
* Fixed memory leak in unit test introduced in my previous commit r322503Cameron Desrochers2018-01-151-0/+3
| | | | llvm-svn: 322513
* [X86] Use MVT::getVectorVT instead of EVT::getVectorVT when splitting ↵Craig Topper2018-01-151-2/+2
| | | | | | | | 256/512 bit build_vectors. NFC We must be creating a legal type here which means it can be an MVT. llvm-svn: 322512
* [X86] Generalize some code in LowerBUILD_VECTOR. NFCCraig Topper2018-01-151-4/+10
| | | | llvm-svn: 322511
* [X86] Remove unnecessary if statement from LowerBUILD_VECTOR. NFCICraig Topper2018-01-151-1/+1
| | | | | | We were checking for 128, 256, or 512 bit vectors, but those are the only types that can get here. llvm-svn: 322510
* [clangd] Improve const-correctness of Symbol->Detail. NFCSam McCall2018-01-153-24/+34
| | | | | | | | | | | | | | | | | | | Summary: This would have caught a bug I wrote in an early version of D42049, where an index user could overwrite data internal to the index because the Symbol is not deep-const. The YAML traits are now a bit more verbose, but separate concerns a bit more nicely: ArenaPtr can be reused for other similarly-allocated objects, including scalars etc. Reviewers: hokein Subscribers: klimek, ilya-biryukov, cfe-commits, ioeric Differential Revision: https://reviews.llvm.org/D42059 llvm-svn: 322509
* [WebAssembly] Update README.txt.Dan Gohman2018-01-151-13/+41
| | | | | | | Describe more of the current status, mention Rust as another easy way to use this backend, and add more documentation links. llvm-svn: 322508
* Fix constexpr failure on C++11-based buildbots.Marshall Clow2018-01-151-1/+1
| | | | llvm-svn: 322507
* More constexpr from P0202. count and count_if. Also fix a comment that ↵Marshall Clow2018-01-153-10/+39
| | | | | | Morwenn noted. llvm-svn: 322506
* Some of the tests from earlier today had 'int' as the return type when it ↵Marshall Clow2018-01-1515-15/+15
| | | | | | should have been 'bool'. Fix that. It doesn't change the behavior of any of the tests, but it's more accurate. llvm-svn: 322505
* More P0202 constexpr-ifying. All the find_XXX algorithms in this commit.Marshall Clow2018-01-1510-32/+210
| | | | llvm-svn: 322504
* [PCH] Serialize skipped preprocessor rangesCameron Desrochers2018-01-1510-3/+212
| | | | | | | | The skipped preprocessor ranges are now serialized in the AST PCH file. This fixes, for example, libclang's clang_getSkippedRanges() returning zero ranges after reparsing a translation unit. Differential Revision: https://reviews.llvm.org/D20124 llvm-svn: 322503
OpenPOWER on IntegriCloud