summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [AMDGPU] gfx908 hazard recognizerStanislav Mekhanoshin2019-07-113-1/+690
| | | | | | Differential Revision: https://reviews.llvm.org/D64593 llvm-svn: 365829
* [InstCombine][NFCI] Add more test coverage to onehot_merge.llHuihui Zhang2019-07-111-0/+161
| | | | | | Prep work for upcoming patch D64275. llvm-svn: 365828
* [analyzer] exploded-graph-rewriter: Fix filenames in program point.Artem Dergachev2019-07-112-3/+5
| | | | | | Fix a typo in JSON field name. llvm-svn: 365827
* [AMDGPU] gfx908 schedulingStanislav Mekhanoshin2019-07-113-0/+163
| | | | | | Differential Revision: https://reviews.llvm.org/D64590 llvm-svn: 365826
* [clang-shlib] Fix clang-shlib for PRIVATE dependenciesShoaib Meenai2019-07-111-2/+29
| | | | | | | | | | | | | | Any static library with a PRIVATE dependency ends up with a $<LINK_ONLY:...> generator expression in its INTERFACE_LINK_LIBRARIES, which won't be evaluated by the $<TARGET_PROPERTY:...>, so we end up with an unevaluated generator expression in the generated build file and Ninja chokes on the dollar sign. Just use the static library directly for its dependencies instead of trying to propagate dependencies manually. Differential Revision: https://reviews.llvm.org/D64579 llvm-svn: 365825
* [AMDGPU] gfx908 mfma supportStanislav Mekhanoshin2019-07-1124-64/+2272
| | | | | | Differential Revision: https://reviews.llvm.org/D64584 llvm-svn: 365824
* [COFF] Share the tail in delayimport symbol thunksMartin Storsjo2019-07-117-82/+177
| | | | | | | | | | | | | E.g. for x86_64, previously each symbol's thunk was 87 bytes. Now there's a 12 byte thunk per symbol, plus a shared 83 byte tail function. This is similar to what both MS link.exe and GNU tools do for delay imports. Differential Revision: https://reviews.llvm.org/D64288 llvm-svn: 365823
* CodeGen, NFC: Test for auto-init for 32bit pointersVitaly Buka2019-07-111-0/+16
| | | | llvm-svn: 365822
* [OPENMP]Improve handling of analysis of unsupported VLAs in reductions.Alexey Bataev2019-07-113-10/+14
| | | | | | | | | Fixed the processing of the unsupported VLAs in the reduction clauses. Used targetDiag if the diagnostics can be delayed and emit it immediately if the target does not support VLAs and we're parsing target directive with the reduction clauses. llvm-svn: 365821
* Open native file handles to avoid converting from FDs, NFCReid Kleckner2019-07-115-36/+37
| | | | | | Follow up to r365588. llvm-svn: 365820
* Add convenience methods to convert LLDB to LLVM data structures.Jonas Devlieghere2019-07-117-10/+57
| | | | | | | | | | This patch adds two convenience methods named GetAsLLVM to the LLDB counterparts of the DWARF DataExtractor and the DWARF context. The DWARFContext, once created, is cached for future usage. Differential revision: https://reviews.llvm.org/D64535 llvm-svn: 365819
* [UpdateTestChecks] Emit warning when invalid test pathsDavid Bolvansky2019-07-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Recently I ran into the following issue: ./update_test_checks.py /path/not-existing-file.ll The script was silent and I was suprised why the real test file hadn't been updated. Solution: Emit warning if we detect this problem. Reviewers: lebedev.ri, spatel, jdoerfert, nikic Reviewed By: lebedev.ri, spatel, jdoerfert, nikic Subscribers: jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64572 llvm-svn: 365818
* [libomptarget-nvptx] Remove dead functionsJonas Hahnfeld2019-07-112-85/+1
| | | | | | | | | These entry points are never called by Clang trunk nor clang-ykt. If XL doesn't use them either, they can finally go away. Differential Revision: https://reviews.llvm.org/D52700 llvm-svn: 365817
* [scudo][standalone] NFC correctionsKostya Kortchinsky2019-07-117-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A few corrections: - rename `TransferBatch::MaxCached` to `getMaxCached` to conform with the style guide; - move `getBlockBegin` from `Chunk::` to `Allocator::`: I believe it was a fallacy to have this be a `Chunk` method, as chunks' relationship to backend blocks are up to the frontend allocator. It makes more sense now, particularly with regard to the offset. Update the associated chunk test as the method isn't available there anymore; - add a forgotten `\n` to a log string; - for `releaseToOs`, instead of starting at `1`, start at `0` and `continue` on `BatchClassId`: in the end it's identical but doesn't assume a particular class id for batches; - change a `CHECK` to a `reportOutOfMemory`: it's a clearer message Reviewers: hctim, morehouse, eugenis, vitalybuka Reviewed By: hctim Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D64570 llvm-svn: 365816
* [NFC] Revisited tests for D64285David Bolvansky2019-07-112-461/+201
| | | | llvm-svn: 365815
* Revert "[CGDebugInfo] Simplify EmitFunctionDecl parameters, NFC"Vedant Kumar2019-07-112-18/+14
| | | | | | This reverts commit 1af41074445229fea66b99710a850e5f42ecfa95. llvm-svn: 365814
* [lldb] Make TestDeletedExecutable more reliableRaphael Isemann2019-07-112-5/+25
| | | | | | | | | | | | | | | | | | | | | Summary: It seems that calling Popen can return to the caller before the started process has read all the needed information from its executable. This means that in case we delete the executable while the process is still starting up, this test will create a zombie process which in turn leads to a failing test. On my macOS system this happens quite frequently. This patch fixes this by letting the test synchronize with the inferior after it has started up. Reviewers: davide Reviewed By: davide Subscribers: labath, friss, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D64546 llvm-svn: 365813
* [lldb] Don't use __FUNCTION__ as a file nameRaphael Isemann2019-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | Summary: I saw while debugging that we call this file `ParseInternal`, which is not a very good name for our fake expression file and also adds this unnecessary link between the way we name this function and the other source location names we get from the expression parser. This patch is renaming it to `<lldb-expr>` which is closer to the way Clang names its buffers, it doesn't depend on the function name (which changes when I refactor this code) and it's easier to grep for. Reviewers: davide Reviewed By: davide Subscribers: abidh, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D64545 llvm-svn: 365812
* [NVPTX] Remove now unused atomic.load.add.f32 intrinsicsBenjamin Kramer2019-07-111-8/+0
| | | | llvm-svn: 365811
* [PowerPC][NFC] Update testcase to avoid dead codeJinsong Ji2019-07-111-2/+2
| | | | | | | The original testcase might be optimized out due to dead code, update the testcase to avoid it. llvm-svn: 365810
* [CGDebugInfo] Simplify EmitFunctionDecl parameters, NFCVedant Kumar2019-07-112-14/+18
| | | | | | | | | Replace a `llvm::Function *` parameter with a bool, which seems harder to set to the wrong value by accident. Differential Revision: https://reviews.llvm.org/D64540 llvm-svn: 365809
* [Driver] -noprofilelib flagPetr Hosek2019-07-114-0/+11
| | | | | | | | | | This flag is analoguous to other flags like -nostdlib or -nolibc and could be used to disable linking of profile runtime library. This is useful in certain environments like kernel, where profile instrumentation is still desirable, but we cannot use the standard runtime library. llvm-svn: 365808
* [lld-link] implement -thinlto-{prefix,object-suffix}-replaceBob Haarman2019-07-118-5/+131
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Adds the following two options to lld-link: -thinlto-prefix-replace: allows replacing a prefix in paths generated for ThinLTO. This can be used to ensure index files and native object files are stored in unique directories, allowing multiple distributed ThinLTO links to proceed concurrently. -thinlto-object-suffix-replace: allows replacing a suffix in object file paths involved in ThinLTO. This allows minimized index files to be used for the thin link while storing the paths to the full bitcode files for subsequent steps (code generation and final linking). Reviewers: ruiu, tejohnson, pcc, rnk Subscribers: mehdi_amini, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64542 llvm-svn: 365807
* [TSan] Move DECLARE_REAL macro outside of namespaceJulian Lettner2019-07-111-5/+15
| | | | | | | This should fix the "undefined reference to tsan::interception::real_setjmp" linker errors. llvm-svn: 365806
* [profile][test] Fix Profile-* :: instrprof-merge.c etc. on SPARCRainer Orth2019-07-113-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | While working on https://reviews.llvm.org/D40900 (which effectively is about enabling compiler-rt on sparc these days), I came across two failing profile testcases: Profile-sparc :: instrprof-merge-match.test Profile-sparc :: instrprof-merge.c Profile-sparcv9 :: instrprof-merge-match.test Profile-sparcv9 :: instrprof-merge.c All of them crashed with a SIGBUS in __llvm_profile_merge_from_buffer: Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00012368 in __llvm_profile_merge_from_buffer ( ProfileData=0x2384c <main.Buffer> "\377lprofR\201", ProfileSize=360) at /vol/llvm/src/llvm/local/projects/compiler-rt/lib/profile/InstrProfilingMerge.c:95 95 SrcDataEnd = SrcDataStart + Header->DataSize; where Header is insufficiently aligned for a strict-alignment target like SPARC. Fixed by forcing the alignment to uint64_t, the members of struct __llvm_profile_header, in the callers. Tested on sparcv9-sun-solaris2.11. https://reviews.llvm.org/D64498 llvm-svn: 365805
* [clangd][NFC] Decrease template depth limit in RecursiveHierarchyUnbounded testJan Korous2019-07-111-0/+1
| | | | | | ...to minimize the chance of stack overflow before reaching the limit. llvm-svn: 365804
* [X86] Pre commit test cases for D64574. Along with a test case for PR42571. NFCCraig Topper2019-07-112-30/+99
| | | | llvm-svn: 365803
* [WebAssembly] Assembler: support negative float constants.Wouter van Oortmerssen2019-07-112-12/+29
| | | | | | | | | | | | Reviewers: dschuff Subscribers: sbc100, jgravelle-google, aheejin, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64367 llvm-svn: 365802
* Explicitly define __STDC_FORMAT_MACROS for PRIu64Mitch Phillips2019-07-111-0/+6
| | | | | | | | | | | | | | | | | | | | Summary: Builds are failing on RHEL machines because of PRIu64. lvm/projects/compiler-rt/lib/gwp_asan/guarded_pool_allocator.cpp:420:50: error: expected ')' `snprintf(ThreadBuffer, kThreadBufferLen, "%" PRIu64, ThreadID);` inttypes.h in RHEL uses PRIu64 macros only when __STDC_FORMAT_MACROS is defined. Author: DTharun Reviewers: hctim Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D64388 llvm-svn: 365801
* [lld-link] implement -thinlto-index-onlyBob Haarman2019-07-119-7/+205
| | | | | | | | | | | | | | | | | | | | | | | Summary: This implements -thinlto-index-only, -thinlto-index-only:, and -thinlto-emit-imports-files options in lld-link. They are analogous to their counterparts in ld.lld: -thinlto-index-only causes us to perform ThinLTO's thin link and write index files, but not perform code generation. -thinlto-index-only: does the same, but also writes a text file listing the native object files expected to be generated. -thinlto-emit-imports-files creates a text file next to each index file, listing the files to import from. Reviewers: ruiu, tejohnson, pcc, rnk Subscribers: mehdi_amini, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64461 llvm-svn: 365800
* [HIP] Add GPU arch gfx1010, gfx1011, and gfx1012Yaxun Liu2019-07-114-0/+30
| | | | | | Differential Revision: https://reviews.llvm.org/D64364 llvm-svn: 365799
* [CodeGen] NVPTX: Switch from atomic.load.add.f32 to atomicrmw faddBenjamin Kramer2019-07-113-17/+5
| | | | llvm-svn: 365798
* [Docs] Add standardized header links to analyzer docNathan Huckleberry2019-07-111-0/+268
| | | | | | | | | | | | | | | | | | | | | | | Summary: Header links should have some standard form so clang tidy docs can easily reference them. The form is as follows. Start with the analyzer full name including packages. Replace all periods with dashes and lowercase everything. Ex: core.CallAndMessage -> core-callandmessage Reviewers: JonasToth, aaron.ballman, NoQ, Szelethus Reviewed By: aaron.ballman, Szelethus Subscribers: nickdesaulniers, lebedev.ri, baloghadamsoftware, mgrang, a.sidorin, Szelethus, jfb, donat.nagy, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64543 llvm-svn: 365797
* [NVPTX] Use atomicrmw fadd instead of intrinsicsBenjamin Kramer2019-07-116-21/+52
| | | | | | AutoUpgrade the old intrinsics to atomicrmw fadd. llvm-svn: 365796
* gn build: Merge r365792Nico Weber2019-07-112-0/+2
| | | | llvm-svn: 365795
* [clangd] Avoid template in Task constructor, hopefully fix MSVC buildSam McCall2019-07-111-2/+1
| | | | llvm-svn: 365794
* [clangd] Consume llvm::Error in test after r365792Sam McCall2019-07-111-1/+3
| | | | llvm-svn: 365793
* [clangd] Implementation of auto type expansion.Sam McCall2019-07-1113-4/+489
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a tweak for clangd to replace an auto keyword to the deduced type. This way a user can declare something with auto and then have the IDE/clangd replace auto with whatever type clangd thinks it is. In case of long/complext types this makes is reduces writing effort for the user. The functionality is similar to the hover over the auto keyword. Example (from the header): ``` /// Before: /// auto x = Something(); /// ^^^^ /// After: /// MyClass x = Something(); /// ^^^^^^^ ``` Patch by kuhnel! (Christian Kühnel) Differential Revision: https://reviews.llvm.org/D62855 llvm-svn: 365792
* [X86] Merge negated ISD::SUB nodes into X86ISD::SUB equivalent (PR40483)Sanjay Patel2019-07-113-29/+25
| | | | | | | | | | | Follow up to D58597, where it was noted that the commuted ISD::SUB variant was having problems with lack of combines. See also D63958 where we untangled setcc/sub pairs. Differential Revision: https://reviews.llvm.org/D58875 llvm-svn: 365791
* [scudo][standalone] Merge Spin & Blocking mutex into a Hybrid oneKostya Kortchinsky2019-07-1117-158/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We ran into a problem on Fuchsia where yielding threads would never be deboosted, ultimately resulting in several threads spinning on the same TSD, and no possibility for another thread to be scheduled, dead-locking the process. While this was fixed in Zircon, this lead to discussions about if spinning without a break condition was a good decision, and settled on a new hybrid model that would spin for a while then block. Currently we are using a number of iterations for spinning that is mostly arbitrary (based on sanitizer_common values), but this can be tuned in the future. Since we are touching `common.h`, we also use this change as a vehicle for an Android optimization (the page size is fixed in Bionic, so use a fixed value too). Reviewers: morehouse, hctim, eugenis, dvyukov, vitalybuka Reviewed By: hctim Subscribers: srhines, delcypher, jfb, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D64358 llvm-svn: 365790
* Fix a few 'no newline at end of file' warnings that Xcode emitsNico Weber2019-07-113-3/+3
| | | | | | | (Xcode even has a snazzy "Fix" button, but clicking that inserts two newlines. So close!) llvm-svn: 365789
* [libc++] Implement deduction guides for <unordered_set>Louis Dionne2019-07-115-6/+702
| | | | | | | Thanks to Arthur O'Dwyer for the patch. Differential Revision: https://reviews.llvm.org/D58617 llvm-svn: 365788
* gn build: Merge r365773Nico Weber2019-07-111-0/+1
| | | | llvm-svn: 365787
* [OPENMP]Initial fix PR42392: Improve -Wuninitialized warnings for OpenMP ↵Alexey Bataev2019-07-1141-1/+1100
| | | | | | | | | | | | | | | | | | | | | | | programs. Summary: Some OpenMP clauses rely on the values of the variables. If the variable is not initialized and used in OpenMP clauses that depend on the variables values, it should be reported that the uninitialized variable is used in the OpenMP clause expression. This patch adds initial processing for uninitialized variables in OpenMP constructs. Currently, it checks for use of the uninitialized variables in the structured blocks. Reviewers: NoQ, Szelethus, dcoughlin, xazax.hun, a.sidorin, george.karpenkov, szepet Subscribers: rnkovacs, guansong, jfb, jdoerfert, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64356 llvm-svn: 365786
* [DAGCombine] narrowInsertExtractVectorBinOp - add CONCAT_VECTORS supportSimon Pilgrim2019-07-118-105/+117
| | | | | | | | | | | | | | We already split extract_subvector(binop(insert_subvector(v,x),insert_subvector(w,y))) -> binop(x,y). This patch adds support for extract_subvector(binop(concat_vectors(),concat_vectors())) cases as well. In particular this means we don't have to wait for X86 lowering to convert concat_vectors to insert_subvector chains, which helps avoid some cases where demandedelts/combine calls occur too late to split large vector ops. The fast-isel-store.ll load folding regression is annoying but I don't think is that critical. Differential Revision: https://reviews.llvm.org/D63653 llvm-svn: 365785
* RegUsageInfoCollector: Skip calling conventions I missed beforeMatt Arsenault2019-07-111-0/+3
| | | | llvm-svn: 365784
* AMDGPU/GlobalISel: Move kernel argument handling to separate functionMatt Arsenault2019-07-112-42/+61
| | | | llvm-svn: 365782
* Fix missing C++ mode commentMatt Arsenault2019-07-111-1/+1
| | | | llvm-svn: 365781
* GlobalISel: Use RegisterMatt Arsenault2019-07-111-5/+5
| | | | llvm-svn: 365780
* Revert r365775 - "[Object/ELF] - Improve error reporting for notes."George Rimar2019-07-112-126/+89
| | | | | | It broke BB: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/15419 llvm-svn: 365779
OpenPOWER on IntegriCloud