summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [llvm-cov] Fix sources-specified.test so it ignores the order of files printed.Max Moroz2017-10-131-7/+6
| | | | | | | | | | | | Summary: https://reviews.llvm.org/D38884#896964 Reviewers: vsk, Dor1s Reviewed By: Dor1s Differential Revision: https://reviews.llvm.org/D38887 llvm-svn: 315691
* DAG: Add flags to dumpsMatt Arsenault2017-10-131-0/+30
| | | | llvm-svn: 315690
* Fix an unused-variable warning.Haojian Wu2017-10-131-1/+1
| | | | llvm-svn: 315689
* Remove an unused variable.Haojian Wu2017-10-131-2/+0
| | | | | | Fix -Wunused-but-set-variable warning. llvm-svn: 315688
* [llvm-cov] An attempt to fix sources_specified.test failing on some buildbots.Max Moroz2017-10-131-4/+4
| | | | | | | | | | | | Summary: https://reviews.llvm.org/rL315685#115380 Reviewers: vsk, Dor1s Reviewed By: Dor1s Differential Revision: https://reviews.llvm.org/D38884 llvm-svn: 315687
* [X86] Stop creating CMOV nodes with a second MVT::Glue resultCraig Topper2017-10-131-24/+9
| | | | | | | | | | | | | | Summary: We seem to inconsistently create CMOV nodes some with a Glue result and some without. But I can't find any cases that use the Glue result. So I've tried to remove all the place that did this. Reviewers: RKSimon, spatel, zvi Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38664 llvm-svn: 315686
* [llvm-cov] Generate "report" for given source paths if sources are specified.Max Moroz2017-10-1310-2/+61
| | | | | | | | | | | | | | | | Summary: Documentation says that user can specify sources for both "show" and "report" commands. "Show" command respects specified sources, but "report" does not. It is useful to have both "show" and "report" generated for specified sources. Also added tests to for both commands with sources specified. Reviewers: vsk, kcc Reviewed By: vsk Differential Revision: https://reviews.llvm.org/D38860 llvm-svn: 315685
* Re-land "[dsymutil] Timestmap verification for __swift_ast"Jonas Devlieghere2017-10-135-23/+48
| | | | | | | | | | This patch adds timestamp verification for swiftmodule files. A new flag is provided to allows us to disable this check in order to allow testing of this feature. Differential revision: https://reviews.llvm.org/D38686 llvm-svn: 315684
* [SCEV] Teach SCEV to find maxBECount when loop endbound is variantAnna Thomas2017-10-134-36/+207
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch teaches SCEV to calculate the maxBECount when the end bound of the loop can vary. Note that we cannot calculate the exactBECount. This will only be done when both conditions are satisfied: 1. the loop termination condition is strictly LT. 2. the IV is proven to not overflow. This provides more information to users of SCEV and can be used to improve identification of finite loops. Reviewers: sanjoy, mkazantsev, silviu.baranga, atrick Reviewed by: mkazantsev Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38825 llvm-svn: 315683
* [clang-tidy] Add a regression test for google-readability-namespace-commentsAlexander Kornienko2017-10-131-0/+14
| | | | | | | Add a regression test for the google-readability-namespace-comments bug introduced in r315057 (reverted in r315580). llvm-svn: 315682
* [InstCombine] add tests for boolean extend + add; NFCSanjay Patel2017-10-131-0/+32
| | | | llvm-svn: 315681
* Revert r314923: "Recommit : Use the basic cost if a GEP is not used as ↵Daniel Jasper2017-10-1310-139/+10
| | | | | | | | | | | | | addressing mode" Significantly reduces performancei (~30%) of gipfeli (https://github.com/google/gipfeli) I have not yet managed to reproduce this regression with the open-source version of the benchmark on github, but will work with others to get a reproducer to you later today. llvm-svn: 315680
* [FileCheck] regexp doc update/fixSjoerd Meijer2017-10-131-5/+6
| | | | | | | | | | Minor doc update that the FileCheck matcher supports POSIX ERE. It also fixes a minor issue in the regexp describing a variable name: underscores are allowed too. Differential Revision: https://reviews.llvm.org/D38787 llvm-svn: 315679
* Fix regression of test/CodeGenOpenCL/address-spaces.cl on ppcYaxun Liu2017-10-131-1/+2
| | | | llvm-svn: 315678
* Disable gcov instrumentation of functions using funclet-based exception handlingMarco Castelluccio2017-10-131-0/+13
| | | | | | | | | | | | | | Summary: This patch fixes the crash from https://bugs.llvm.org/show_bug.cgi?id=34659 and https://bugs.llvm.org/show_bug.cgi?id=34833. Reviewers: rnk, majnemer Reviewed By: rnk, majnemer Subscribers: majnemer, llvm-commits Differential Revision: https://reviews.llvm.org/D38223 llvm-svn: 315677
* docs: Improve wording on building for fuzzingJustin Bogner2017-10-131-3/+3
| | | | | | | | The original sentence didn't really make sense. Patch by Vedant Kumar. Thanks! llvm-svn: 315676
* [LLD] Fix typo. NFCShoaib Meenai2017-10-131-1/+1
| | | | llvm-svn: 315675
* [X86] Remove patterns that select unmasked vbroadcastf2x32/vbroadcasti2x32. ↵Craig Topper2017-10-134-23/+29
| | | | | | | | Prefer vbroadcastsd/vpbroadcastq instead. There's no advantage to using these instructions when they aren't masked. This enables some additional execution domain switching without needing to update the table. llvm-svn: 315674
* Make it explicit that we are writing addends to target sections if REL.Rui Ueyama2017-10-131-6/+14
| | | | | | | | | | | | | | Relocations.cpp is still head-scratching. Even though relocations are processed by multiple functions, the functions are effectively one gigantic function with lots of local and global shared states, because they are really tightly coupled. It is really hard to predict whether a change to a function will or will not affect other functions behaviors. What I'm trying to do is to rewrite the code without breaking the existing tests so that the code can tolerate a more aggressive refactoring (i.e. splitting it to logically separated steps). llvm-svn: 315673
* [SCEV] Maintain loop use lists, and use them in forgetLoopSanjoy Das2017-10-133-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently we do not correctly invalidate memoized results for add recurrences that were created directly (i.e. they were not created from a `Value`). This change fixes this by keeping loop use lists and using the loop use lists to determine which SCEV expressions to invalidate. Here are some statistics on the number of uses of in the use lists of all loops on a clang bootstrap (config: release, no asserts): Count: 731310 Min: 1 Mean: 8.555150 50th %time: 4 95th %tile: 25 99th %tile: 53 Max: 433 Reviewers: atrick, sunfish, mkazantsev Subscribers: mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D38434 llvm-svn: 315672
* [SelectionDAG] Cleanup the SIGN_EXTEND_INREG handling in computeKnownBits. NFCICraig Topper2017-10-131-26/+14
| | | | | | Use less temporary APInts. Use bit counting more. Don't call getScalarSizeInBits so many places, just capture it once. llvm-svn: 315671
* [SelectionDAG] Fix typo in comment. NFCCraig Topper2017-10-131-1/+1
| | | | llvm-svn: 315670
* Destructure a boolean expression and add comment.Rui Ueyama2017-10-131-2/+13
| | | | | | | "IsWrite" variable didn't make sense and was misleading because it became true even if a section is not writable. llvm-svn: 315669
* [OpenCL] Add LangAS::opencl_private to represent private address space in ASTYaxun Liu2017-10-1321-107/+319
| | | | | | | | | | | | | | | | | | | | | | | | Currently Clang uses default address space (0) to represent private address space for OpenCL in AST. There are two issues with this: Multiple address spaces including private address space cannot be diagnosed. There is no mangling for default address space. For example, if private int* is emitted as i32 addrspace(5)* in IR. It is supposed to be mangled as PUAS5i but it is mangled as Pi instead. This patch attempts to represent OpenCL private address space explicitly in AST. It adds a new enum LangAS::opencl_private and adds it to the variable types which are implicitly private: automatic variables without address space qualifier function parameter pointee type without address space qualifier (OpenCL 1.2 and below) Differential Revision: https://reviews.llvm.org/D35082 llvm-svn: 315668
* Hide SymbolBody::IsLocal.Rui Ueyama2017-10-134-7/+6
| | | | | | | IsLocal member is initialized by the constructor and will never change. So we don't want to make it directly accessible. llvm-svn: 315667
* Make a condition more explicit. NFC.Rui Ueyama2017-10-131-3/+5
| | | | llvm-svn: 315666
* [clang] Enable clang build with LLVM_BUILD_INSTRUMENTED without setting ↵Alexander Shaposhnikov2017-10-131-6/+6
| | | | | | | | | | | | | | | | | | LLVM_PROFTDATA At the moment if LLVM_BUILD_INSTRUMENTED is set to True one has to set LLVM_PROFTDATA even if it's not really used (because of message(FATAL_ERROR ...)). Building the instrumented version of Clang can be useful even if one doesn't plan to build the target generate-profdata (currently that target would only compile utils/perf-training/cxx/hello_world.cpp). For example, one can run the instrumented version of Clang via a separate build system against a different codebase, collect/analyze the profiles and merge them by llvm-profdata later. Differential revision: https://reviews.llvm.org/D38859 llvm-svn: 315665
* Add comment.Rui Ueyama2017-10-131-3/+11
| | | | llvm-svn: 315664
* Support for destroying operator delete, per C++2a proposal P0722.Richard Smith2017-10-1319-72/+574
| | | | | | | | | | This feature is not (yet) approved by the C++ committee, so this is liable to be reverted or significantly modified based on committee feedback. No functionality change intended for existing code (a new type must be defined in namespace std to take advantage of this feature). llvm-svn: 315662
* Recommit r315087 "[refactor] add support for refactoring options"Alex Lorenz2017-10-1311-28/+423
| | | | | | | | | | | | | | | | The recommit fixes a UB bug that occurred only on a small number of bots. Original message: This commit adds initial support for refactoring options. One can now use optional and required std::string options. This commit also adds a NewNameOption for the local-rename refactoring action to allow rename to work with custom names. Differential Revision: https://reviews.llvm.org/D37856 llvm-svn: 315661
* Simplify. NFCI.Rui Ueyama2017-10-131-26/+23
| | | | llvm-svn: 315659
* Slightly simplify code and add comment.Rui Ueyama2017-10-131-4/+22
| | | | | | | | | | | | This is not a mechanical transformation. Even though I believe this patch is correct, I'm not 100% sure if lld with this patch behaves exactly the same way as before on all edge cases. At least all tests still pass. I'm submitting this patch because it took almost a day to understand this function, and I don't want to lose it. llvm-svn: 315658
* [libFuzzer] tweam use_feature_frequency to be less aggressive; run a dummy ↵Kostya Serebryany2017-10-134-11/+26
| | | | | | input before the seed corpus llvm-svn: 315657
* [MS] Don't bail on replacing dllimport vbase dtors with base dtorsReid Kleckner2017-10-134-20/+66
| | | | | | | | | | | | | | | | | | | | | Fix PR32990 by effectively reverting r283063 and solving it a different way. We want to limit the hack to not replace equivalent available_externally dtors specifically to libc++, which uses always_inline. It seems certain versions of libc++ do not provide all the symbols that an explicit template instantiation is expected to provide. If we get to the code that forms a real alias, only *then* check if this is available_externally, and do that by asking a better question, which is "is this a declaration for the linker?", because *that's* what means we can't form an alias to it. As a follow-on simplification, remove the InEveryTU parameter. Its last use guarded this code for forming aliases, but we should never form aliases to declarations, regardless of what we know about every TU. llvm-svn: 315656
* [Analyzer] Assume that CFBooleanRef const globals are non-nullGeorge Karpenkov2017-10-134-20/+38
| | | | | | Differential Revision: https://reviews.llvm.org/D38867 llvm-svn: 315655
* Use existing helper. NFC.Rafael Espindola2017-10-131-2/+1
| | | | llvm-svn: 315654
* Simplify a boolean expression by the De Morgan's laws.Rui Ueyama2017-10-131-1/+1
| | | | | | | I don't really understand what exactly this expression means, but at least I can mechanically transform it. llvm-svn: 315653
* Typos in tutorialJan Korous2017-10-131-2/+2
| | | | llvm-svn: 315652
* docs: Improve the docs about llvm-isel-fuzzer on OSS FuzzJustin Bogner2017-10-131-4/+9
| | | | llvm-svn: 315651
* Convert a few cases of isUndefined to isInCurrentDSO.Rafael Espindola2017-10-131-3/+3
| | | | | | | I don't think there is an observable difference. We now just avoid doing silly things like setting versions in lazy symbols. llvm-svn: 315650
* [X86] Add the test case for r315613 that I forgot to 'git add'.Craig Topper2017-10-131-0/+13
| | | | llvm-svn: 315649
* [SelectionDAG] Correct the early out in SelectionDAG::getZeroExtendInReg to ↵Craig Topper2017-10-131-1/+1
| | | | | | | | work properly for vector types. I don't know if we ever hit this case or not. Turning it into an assert only fired on expanding some atomic operation in a SystemZ lit test. llvm-svn: 315648
* [llvm-isel-fuzzer] Use "--" as separator rather than '='.Matt Morehouse2017-10-135-17/+17
| | | | | | | | | | | | | | Summary: OSS-Fuzz doesn't support '=' in filenames. Reviewers: bogner, kcc Reviewed By: kcc Subscribers: javed.absar, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D38866 llvm-svn: 315647
* llvm-isel-fuzzer: Use the right REQUIRES line for r315599Justin Bogner2017-10-133-5/+2
| | | | | | | I'd mixed up ENABLE_SHARED and BUILD_SHARED_LIBS before, so these tests were being disabled in too many places. llvm-svn: 315646
* Correctly handle shared and lazy symbols.Rafael Espindola2017-10-133-1/+8
| | | | | | | I will try to make this API a bit less error prone, but for now just get another test passing. llvm-svn: 315645
* Removing default case statement from covered switch.Keith Wyss2017-10-131-8/+0
| | | | | | | | | | | Previous patch did not count on the llvm command line parser to restrict the inputs, but it is safe to do so. Fix forward for patch with details: -- https://reviews.llvm.org/D38650 and -- https://llvm.org/svn/llvm-project/llvm/trunk@315635 91177308-0d34-0410-b5e6-96231b3b80d8 llvm-svn: 315644
* Handle/assert on DK_RemarkAdam Nemet2017-10-121-0/+4
| | | | | | | We don't generate remarks during inline assembly parsing so no need to handle these for now. llvm-svn: 315643
* Add DK_Remark to SMDiagnosticAdam Nemet2017-10-124-1/+20
| | | | | | | | | | | Swift uses SMDiagnostic for diagnostic messages. For https://github.com/apple/swift/pull/12294, we need remark support. I picked the color that clang uses to display them. Differential Revision: https://reviews.llvm.org/D38865 llvm-svn: 315642
* [SelectionDAG] Const-correct the DemandedMask argument to one of the ↵Craig Topper2017-10-122-2/+2
| | | | | | overloads of SimplifyDemandedBits. NFC llvm-svn: 315641
* [Transforms] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2017-10-122-177/+253
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 315640
OpenPOWER on IntegriCloud