summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [libc++][test] Change IsSmallObject's calculation for std::any's small ↵Casey Carter2019-10-101-1/+1
| | | | | | | | | | object buffer `sizeof(std::any) - sizeof(void*)` is correct for both libc++ and the MSVC standard library. Differential Revision: https://reviews.llvm.org/D68756 llvm-svn: 374407
* Fix build by adding the missing dependency.Michael Liao2019-10-101-1/+1
| | | | llvm-svn: 374406
* [lit] Leverage argparse features to remove some codeJulian Lettner2019-10-103-34/+28
| | | | | | | | Reviewed By: rnk, serge-sans-paille Differential Revision: https://reviews.llvm.org/D68589 llvm-svn: 374405
* Fix test to avoid check-not matching the temp file absolute pathReid Kleckner2019-10-101-0/+3
| | | | | | Fix for PR43636 llvm-svn: 374404
* Re-land "Use -fdebug-compilation-dir to form absolute paths in coverage ↵Reid Kleckner2019-10-103-9/+40
| | | | | | | | | | | | mappings" This reverts r374324 (git commit 62808631acceaa8b78f8ab9b407eb6b943ff5f77) I changed the test to not rely on finding the sequence "clang, test, CoverageMapping" in the CWD used to run the test. Instead it makes its own internal directory hierarchy of foo/bar/baz and looks for that. llvm-svn: 374403
* Remove CC autodetection from Makefile.rulesAdrian Prantl2019-10-101-9/+2
| | | | | | | | | | | Auto-detecting CC in Makefile.rules is no longer useful. Ever since out-of-tree builds we are better off just running lldb-dotest which sets it directly. This also makes it harder to accidentally unset CC in a Makefile. Differential Revision: https://reviews.llvm.org/D68731 llvm-svn: 374402
* Speed up accelerator table lookupsAdrian Prantl2019-10-1012-3/+116
| | | | | | | | | | | | | | | | | | | When debugging a large program like clang and doing "frame variable *this", the ValueObject pretty printer is doing hundreds of scoped FindTypes lookups. The ones that take longest are the ones where the DWARFDeclContext ends in something like ::Iterator which produces many false positives that need to be filtered out *after* extracting the DIEs. This patch demonstrates a way to filter out false positives at the accerator table lookup step. With this patch lldb clang-10 -o "b EmitFunctionStart" -o r -o "f 2" -o "fr v *this" -b -- ... goes (in user time) from 5.6s -> 4.8s or (in wall clock) from 6.9s -> 6.0s. Differential Revision: https://reviews.llvm.org/D68678 llvm-svn: 374401
* [lit] Move argument parsing/validation to separate fileJulian Lettner2019-10-102-159/+228
| | | | | | | | Reviewed By: serge-sans-paille Differential Revision: https://reviews.llvm.org/D68529 llvm-svn: 374400
* [clang-format] throws an incorrect assertion in consumeToken() formatting ↵Paul Hoad2019-10-102-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the MSVC stl Summary: An incorrect assertion is thrown when clang-formatting MSVC's STL library ``` Assertion failed: !Line.startsWith(tok::hash), file C:/llvm/llvm-project/clang/lib/Format/TokenAnnotator.cpp, line 847 Stack dump: 0. Program arguments: C:\llvm\build\bin\clang-format.exe -i -n ./stl/inc/xkeycheck.h ``` ``` Enable warning C4005 to find the forbidden define. ``` Reviewers: mitchell-stellar, STL_MSFT, klimek, krasimir Reviewed By: mitchell-stellar Subscribers: cfe-commits Tags: #clang-format, #clang-tools-extra, #clang Differential Revision: https://reviews.llvm.org/D68707 llvm-svn: 374399
* Unbreak llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast buildbot.Greg Clayton2019-10-101-1/+1
| | | | llvm-svn: 374398
* [DAGCombiner] fold select-of-constants to shiftSanjay Patel2019-10-102-11/+16
| | | | | | | | | | | | | | | | | | This reverses the scalar canonicalization proposed in D63382. Pre: isPowerOf2(C1) %r = select i1 %cond, i32 C1, i32 0 => %z = zext i1 %cond to i32 %r = shl i32 %z, log2(C1) https://rise4fun.com/Alive/Z50 x86 already tries to fold this pattern, but it isn't done uniformly, so we still see a diff. AArch64 probably should enable the TLI hook to benefit too, but that's a follow-on. llvm-svn: 374397
* Unbreak windows buildbots.Greg Clayton2019-10-101-1/+0
| | | | llvm-svn: 374396
* gn build: restore tablegen restat optimization after r373664Nico Weber2019-10-101-0/+2
| | | | llvm-svn: 374395
* Implement serializing scripted breakpoints and their extra args.Jim Ingham2019-10-107-37/+123
| | | | | | Differential Revision: https://reviews.llvm.org/D68750 llvm-svn: 374394
* [lit] Extend internal diff to support -UJoel E. Denny2019-10-104-6/+136
| | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff -U1 file - ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` doesn't recognize `-U` as a command-line option. This patch adds `-U` support. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68668 llvm-svn: 374392
* gn build: merge r374381 more (effectively a no-op)Nico Weber2019-10-101-0/+1
| | | | llvm-svn: 374391
* [lit] Extend internal diff to support `-` argumentJoel E. Denny2019-10-107-5/+146
| | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` doesn't recognize `-` as a command-line option. This patch adds support for `-` to mean stdin. Reviewed By: probinson, rnk Differential Revision: https://reviews.llvm.org/D67643 llvm-svn: 374390
* [lit] Clean up internal diff's encoding handlingJoel E. Denny2019-10-107-33/+86
| | | | | | | | | | | | | | | | | As suggested by rnk at D67643#1673043, instead of reading files multiple times until an appropriate encoding is found, read them once as binary, and then try to decode what was read. For python >= 3.5, don't fail when attempting to decode the `diff_bytes` output in order to print it. Finally, add some tests for encoding handling. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68664 llvm-svn: 374389
* [lit] Make internal diff work in pipelinesJoel E. Denny2019-10-105-241/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - # RUN: not diff file1 file2 | FileCheck %s ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` cannot currently be used in pipelines and doesn't recognize `-` as a command-line option. To enable pipelines, this patch moves lit's `diff` implementation into an out-of-process script, similar to lit's `cat` implementation. A follow-up patch will implement `-` to mean stdin. Reviewed By: probinson, stella.stamenova Differential Revision: https://reviews.llvm.org/D66574 llvm-svn: 374388
* [OPENMP50]Support for declare variant directive for NVPTX target.Alexey Bataev2019-10-107-6/+250
| | | | | | | NVPTX does not support global aliases. Instead, we have to copy the full body of the variant function for the original function. llvm-svn: 374387
* [test] Use a different module cache for Shell and API tests.Jonas Devlieghere2019-10-1011-28/+65
| | | | | | | | | | | | | | Before the test reorganization, everything was part of a single test suite with a single module cache. Now that things are properly separated this is no longer the case. Only the shell tests inherited the logic to properly configure and wipe the module caches. This patch adds that logic back for the API tests. While doing so, I noticed that we were configuring a Clang module cache in CMake, but weren't actually using it from dotest.py. I included a fix for that in this patch as well. Differential revision: https://reviews.llvm.org/D68755 llvm-svn: 374386
* [test] Pass DSYMUTIL and SDKROOT as part of the Make invocation.Jonas Devlieghere2019-10-101-5/+36
| | | | | | | | | | Pass the DSYMUTIL and SDKROOT variables on the command line instead of the environment. This makes it easier to reproduce the make invocation during development. Differential revision: https://reviews.llvm.org/D68812 llvm-svn: 374385
* Reland "[ASan] Do not misrepresent high value address dereferences as null ↵Julian Lettner2019-10-107-6/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | dereferences" Updated: Removed offending TODO comment. Dereferences with addresses above the 48-bit hardware addressable range produce "invalid instruction" (instead of "invalid access") hardware exceptions (there is no hardware address decoding logic for those bits), and the address provided by this exception is the address of the instruction (not the faulting address). The kernel maps the "invalid instruction" to SEGV, but fails to provide the real fault address. Because of this ASan lies and says that those cases are null dereferences. This downgrades the severity of a found bug in terms of security. In the ASan signal handler, we can not provide the real faulting address, but at least we can try not to lie. rdar://50366151 Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D68676 > llvm-svn: 374265 llvm-svn: 374384
* gn build: Merge r374381GN Sync Bot2019-10-101-0/+2
| | | | llvm-svn: 374383
* [test] Trim the symbtab test case (NFC)Jonas Devlieghere2019-10-101-10/+0
| | | | | | We don't actually need the section content for this tests. llvm-svn: 374382
* Add GsymCreator and GsymReader.Greg Clayton2019-10-1011-23/+1295
| | | | | | | | | | This patch adds the ability to create GSYM files with GsymCreator, and read them with GsymReader. Full testing has been added for both new classes. This patch differs from the original patch https://reviews.llvm.org/D53379 in that is uses a StringTableBuilder class from llvm instead of a custom version. Support for big and little endian files has been added. If the endianness matches the current host, we use efficient extraction for the header, address table and address info offset tables. Differential Revision: https://reviews.llvm.org/D68744 llvm-svn: 374381
* [dsymutil] Move CommonSymbols.clear() in resetParserState.Jonas Devlieghere2019-10-101-1/+1
| | | | | | | This seems like a more natural place to clear the vector, especially since this method is clearing other data structures as well. llvm-svn: 374378
* [ARM] VQSUB instructionDavid Green2019-10-103-51/+16
| | | | | | | | Same as VQADD, VQSUB can be selected from llvm.ssub.sat intrinsics. Differential Revision: https://reviews.llvm.org/D68567 llvm-svn: 374377
* Increase timeout in pexpect to lower chances of tests failing under ASAN.Adrian Prantl2019-10-101-1/+1
| | | | | | | If this doesn't actually work, I'll revert the change and just disable the remaining thee pexpect tests under asan. llvm-svn: 374375
* Use arrays on stack and avoid use of new and delete operators.Siva Chandra2019-10-102-12/+4
| | | | | | | | | | | | | | Summary: Also fix an error found with LLVM_USE_SANITIZER=Address. Reviewers: nelhage Subscribers: libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D68761 llvm-svn: 374374
* [Codegen] Alter the default promotion for saturating adds and subsDavid Green2019-10-1017-769/+483
| | | | | | | | | | | | | | | | | The default promotion for the add_sat/sub_sat nodes currently does: 1. ANY_EXTEND iN to iM 2. SHL by M-N 3. [US][ADD|SUB]SAT 4. L/ASHR by M-N If the promoted add_sat or sub_sat node is not legal, this can produce code that effectively does a lot of shifting (and requiring large constants to be materialised) just to use the overflow flag. It is simpler to just do the saturation manually, using the higher bitwidth addition and a min/max against the saturating bounds. That is what this patch attempts to do. Differential Revision: https://reviews.llvm.org/D68643 llvm-svn: 374373
* Fix assertions disabled builds after rL374367Kadir Cetinkaya2019-10-101-2/+1
| | | | llvm-svn: 374372
* Increase timeout in gdbclientutils.py to decrease chance of test failing ↵Adrian Prantl2019-10-101-1/+1
| | | | | | under ASAN. llvm-svn: 374371
* [DAGCombiner] reduce code duplication; NFCSanjay Patel2019-10-101-2/+4
| | | | llvm-svn: 374370
* [Alignment][NFC] Use llv::Align in GISelKnownBitsGuillaume Chatelet2019-10-102-12/+13
| | | | | | | | | | | | | | | | | Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68786 llvm-svn: 374369
* [BPF] Remove relocation for patchable externsYonghong Song2019-10-1022-467/+36
| | | | | | | | | | | | | | | | Previously, patchable extern relocations are introduced to patch external variables used for multi versioning in compile once, run everywhere use case. The load instruction will be converted into a move with an patchable immediate which can be changed by bpf loader on the host. The kernel verifier has evolved and is able to load and propagate constant values, so compiler relocation becomes unnecessary. This patch removed codes related to this. Differential Revision: https://reviews.llvm.org/D68760 llvm-svn: 374367
* In openFileForRead don't cache erroneous entries if the error relates to ↵Kousik Kumar2019-10-104-35/+51
| | | | | | | | | | | | | | | | | | | | them being directories. Add tests. Summary: It seems that when the CachingFileSystem is first given a file to open that is actually a directory, it incorrectly caches that path to be errenous and throws an error when subsequently a directory open call is made for the same path. This change makes it so that we do NOT cache a path if it turns out we asked for a file when its a directory. Reviewers: arphaman Subscribers: dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68193 llvm-svn: 374366
* [AMDGPU] Fixed dpp_combine.mir with expensive checks. NFC.Stanislav Mekhanoshin2019-10-101-5/+7
| | | | llvm-svn: 374365
* Fix Wdocumentation warnings. NFCI.Simon Pilgrim2019-10-101-2/+2
| | | | llvm-svn: 374364
* [OPENMP50]Register vendor name only once in vendor context selector.Alexey Bataev2019-10-103-7/+8
| | | | | | | No need to store multiple copies of the same vendor names in the context selector, keep only single copy. llvm-svn: 374363
* [LLD][ELF] Fix stale comments about doing ICFRussell Gallop2019-10-101-2/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D68396 llvm-svn: 374362
* [MCA] Show aggregate over Average Wait times for the whole snippet (PR43219)Roman Lebedev2019-10-10153-10/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As disscused in https://bugs.llvm.org/show_bug.cgi?id=43219, i believe it may be somewhat useful to show //some// aggregates over all the sea of statistics provided. Example: ``` Average Wait times (based on the timeline view): [0]: Executions [1]: Average time spent waiting in a scheduler's queue [2]: Average time spent waiting in a scheduler's queue while ready [3]: Average time elapsed from WB until retire stage [0] [1] [2] [3] 0. 3 1.0 1.0 4.7 vmulps %xmm0, %xmm1, %xmm2 1. 3 2.7 0.0 2.3 vhaddps %xmm2, %xmm2, %xmm3 2. 3 6.0 0.0 0.0 vhaddps %xmm3, %xmm3, %xmm4 3 3.2 0.3 2.3 <total> ``` I.e. we average the averages. Reviewers: andreadb, mattd, RKSimon Reviewed By: andreadb Subscribers: gbedwell, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68714 llvm-svn: 374361
* Revert "[FileCheck] Implement --ignore-case option."Dmitri Gribenko2019-10-106-4202/+4138
| | | | | | | This reverts commit r374339. It broke tests: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19066 llvm-svn: 374359
* Revert "[Tests] Output of od can be lower or upper case ↵Dmitri Gribenko2019-10-1011-1300/+1300
| | | | | | | | | (llvm-objcopy/yaml2obj)." This reverts commit r374343. It broke tests: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19066 llvm-svn: 374358
* Revert "Fix OCaml/core.ml fneg check"Dmitri Gribenko2019-10-101-1/+1
| | | | | | | This reverts commit r374346. It attempted to fix OCaml tests, but is does not actually fix them. llvm-svn: 374357
* [X86] combineFMA - Convert to use isNegatibleForFree/GetNegatedExpression.Simon Pilgrim2019-10-103-71/+148
| | | | | | Split off from D67557. llvm-svn: 374356
* Fix OCaml/core.ml fneg check (try 2)Simon Pilgrim2019-10-101-1/+1
| | | | llvm-svn: 374355
* Revert "[IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator"Dmitri Gribenko2019-10-1028-439/+424
| | | | | | | This reverts commit r374240. It broke OCaml tests: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/19014 llvm-svn: 374354
* unwind-via-stack-win.yaml: update for changes in yaml formatPavel Labath2019-10-101-1/+15
| | | | llvm-svn: 374353
* [lldb] Fix minidebuginfo-set-and-hit-breakpoint.testRaphael Isemann2019-10-101-1/+1
| | | | | | | | | This was failing for me because of this error: llvm-objcopy: error: 'build/tools/lldb/test/ObjectFile/ELF/Output/minidebuginfo-set-and-hit-breakpoint.test.tmp.mini_debuginfo': section '.dynsym' cannot be removed because it is referenced by the section '.hash' Patch by Konrad Kleine! llvm-svn: 374352
OpenPOWER on IntegriCloud