- May 27, 2020
-
-
Craig Topper authored
[X86] Add helper function to reduce some code duplication when shrinking a vector load to a vzext_load. There's more code for calling CombineTo and replacing the nodes that I'd like to share, but its complicated by the getNode call in the middle that needs to be specific to each opcode. While there are also make sure we recursively delete the load we're replacing. It eventually gets removed by a RemoveDeadNodes call at the end of DAG combine, but we should be more eager about it. We were inconsistently doing this in some places but not all.
-
Kazushi (Jam) Marukawa authored
Summary: This patch implements dynamic stack allocation for the VE target. Changes: * compiler-rt: `__ve_grow_stack` to request stack allocation on the VE. * VE: base pointer support, dynamic stack allocation. Differential Revision: https://reviews.llvm.org/D79084
-
Daniil Suchkov authored
-
Saiyedul Islam authored
Summary: Allow AMDGCN as a GPU offloading target for OpenMP during compiler invocation and allow setting CUDAMode for it. Originally authored by Greg Rodgers (@gregrodgers). Reviewers: ronlieb, yaxunl, b-sumner, scchan, JonChesterfield, jdoerfert, sameerds, msearles, hliao, arsenm Reviewed By: sameerds Subscribers: sstefan1, jvesely, wdng, arsenm, guansong, dexonsmith, cfe-commits, llvm-commits, gregrodgers Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D79754
-
Mehdi Amini authored
This is more friendly than the "Unknown CMake command “mlir_tablegen”." that would be issued instead. Differential Revision: https://reviews.llvm.org/D80359
-
serge-sans-paille authored
And bump its version number accordingly. This is a patched recommit of 7c298c10 Previous hash implementation was incorrectly passing an uint64_t, that got converted to an uint8_t, to finalize the hash computation. This led to different functions having the same hash if they only differ by the remaining statements, which is incorrect. Added a new test case that trivially tests that a small function change is reflected in the hash value. Not that as this patch fixes the hash computation, it would invalidate all hashes computed before that patch applies, this is why we bumped the version number. Update profile data hash entries due to hash function update, except for binary version, in which case we keep the buggy behavior for backward compatibility. Differential Revision: https://reviews.llvm.org/D79961
-
Craig Topper authored
Isel match that instead of the intrinsic. Similar to what we do for avx512. Trying to move more intrinsics to target specific ISD opcodes. Hoping to add DAG combines to shrink simple loads going into scalar intrinsics that only read 32 or 64 bits.
-
Craig Topper authored
-
Wang, Pengfei authored
Summary: Some instruction like VPMULDQ is NOT the variant of VPMULD but a new one. So we should make sure the suffix matcher only works for memory variant that has the same size with the suffix. Currently we only check for SSE/AVX* instructions, because many legacy instructions didn't declare the alias instructions of their variants. Differential Revision: https://reviews.llvm.org/D80608
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Denys Petrov authored
IE throws errors while using key and mouse navigation through the error path tips. querySelectorAll method returns NodeList. NodeList belongs to browser API. IE doesn't have forEach among NodeList's methods. At the same time Array is a JavaScript object and can be used instead. The fix is in the converting NodeList into Array and keeps using forEach method as before. Checked in IE11, Chrome and Opera. Differential Revision: https://reviews.llvm.org/D80444
-
Siva Chandra Reddy authored
This was suggested in https://reviews.llvm.org/D79149.
-
MaheshRavishankar authored
alloc/dealloc/copies. Add options to LinalgPromotion to use callbacks for implementating the allocation, deallocation of buffers used for the promoted subviews, and to copy data into and from the original subviews to the allocated buffers. Also some misc. cleanup of the code. Differential Revision: https://reviews.llvm.org/D80365
-
MaheshRavishankar authored
Modifying the loop nest builder for generating scf.parallel loops to not generate scf.parallel loops for non-parallel iterator types in Linalg operations. The existing implementation incorrectly generated scf.parallel for all tiled loops. It is rectified by refactoring logic used while lowering to loops that accounted for this. Differential Revision: https://reviews.llvm.org/D80188
-
Jinsong Ji authored
A few testcases are still using deprecated options. warning: argument '-fsanitize-coverage=[func|bb|edge]' is deprecated, use '-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace-pc]' instead [-Wdeprecated] Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D79741
-
Kang Zhang authored
-
Eric Christopher authored
as it's causing crashes on code generation and https://bugs.llvm.org/show_bug.cgi?id=46084 This reverts commit 98cad555.
-
Matt Arsenault authored
Mirror the note on G_LOAD. We probably do need to add an explicit G_TRUNCSTORE opcode for the vector case, although I do not have a use for it.
-
Matt Arsenault authored
-
Vitaly Buka authored
Probably NFC.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
Remove const from some parameters as upcoming changes in ScalarEvolution calls will need non const pointers.
-
Jessica Paquette authored
This fixes a bug in `tryOptArithImmedIntegerCompare`. It is unsafe to update the predicate on a MachineOperand when optimizing a G_ICMP, because it may be used in more than one place. For example, when we are optimizing G_SELECT, we allow compares which are used in more than one G_SELECT. If we modify the G_ICMP, then we'll break one of the G_SELECTs. Since the compare is being produced to either 1) Select a G_ICMP 2) Fold a G_ICMP into an instruction when profitable there's no reason to actually modify it. The change is local to the specific compare. Instead, pass a `CmpInst::Predicate` to `tryOptArithImmedIntegerCompare` which can be modified by reference. Differential Revision: https://reviews.llvm.org/D80585
-
Philip Reames authored
This was discussed on llvm-dev thread "Transferring code ownership for SCEV and IndVars" a few months back. I just forgot to make the actual change.
-
Jonas Devlieghere authored
This used to be part of the man page but got lost when we moved to generating it with Sphinx.
-
Philip Reames authored
-
Philip Reames authored
-
Alex Langford authored
Summary: Objective-C names are stored in m_demangled, not in m_mangled. The method in the condition will never return true. Differential Revision: https://reviews.llvm.org/D79823
-
Jonas Devlieghere authored
Work around global module caching during reproducer replay. See inline comment for the details.
-
Sean Silva authored
Summary: This op extracts an extent from a shape. This also is the first op which constant folds to shape.const_size, which revealed that shape.const_size needs a folder (ConstantLike ops seem to always need folders for the constant folding infra to work). Differential Revision: https://reviews.llvm.org/D80394
-
Alexander Shaposhnikov authored
cctools strip has the option "-T" which removes Swift symbols. This diff implements this option in llvm-strip for MachO. Test plan: make check-all Differential revision: https://reviews.llvm.org/D80099
-
Arthur Eubanks authored
Summary: preallocated and musttail can work together, but we don't want to call @llvm.call.preallocated.setup() to modify the stack in musttail calls. So we shouldn't have the "preallocated" operand bundle when a preallocated call is musttail. Also disallow use of preallocated on calls without preallocated. Codegen not yet implemented. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80581
-
stevewan authored
Summary: Based on comments received in D80415 pertinent to test case format, the following fixes are provided to other tests in 'aix-ld.c' for the sake of consistency and readability, - Align flags in RUN directives vertically. - Align patterns in CHECK directives vertically. - Remove the ‘-o %t.o’ as it’s unnecessary for tests with ‘-###’. - Fix typos in comments. Reviewers: ZarkoCA, hubert.reinterpretcast, daltenty Reviewed By: hubert.reinterpretcast Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80532
-
Kristóf Umann authored
If you remember the mail [1] I sent out about how I envision the future of the already existing checkers to look dependencywise, one my main points was that no checker that emits diagnostics should be a dependency. This is more problematic for some checkers (ahem, RetainCount [2]) more than for others, like this one. The MallocChecker family is a mostly big monolithic modeling class some small reporting checkers that only come to action when we are constructing a warning message, after the actual bug was detected. The implication of this is that NewDeleteChecker doesn't really do anything to depend on, so this change was relatively simple. The only thing that complicates this change is that FreeMemAux (MallocCheckers method that models general memory deallocation) returns after calling a bug reporting method, regardless whether the report was ever emitted (which may not always happen, for instance, if the checker responsible for the report isn't enabled). This return unfortunately happens before cleaning up the maps in the GDM keeping track of the state of symbols (whether they are released, whether that release was successful, etc). What this means is that upon disabling some checkers, we would never clean up the map and that could've lead to false positives, e.g.: error: 'warning' diagnostics seen but not expected: File clang/test/Analysis/NewDelete-intersections.mm Line 66: Potential leak of memory pointed to by 'p' File clang/test/Analysis/NewDelete-intersections.mm Line 73: Potential leak of memory pointed to by 'p' File clang/test/Analysis/NewDelete-intersections.mm Line 77: Potential leak of memory pointed to by 'p' error: 'warning' diagnostics seen but not expected: File clang/test/Analysis/NewDelete-checker-test.cpp Line 111: Undefined or garbage value returned to caller File clang/test/Analysis/NewDelete-checker-test.cpp Line 200: Potential leak of memory pointed to by 'p' error: 'warning' diagnostics seen but not expected: File clang/test/Analysis/new.cpp Line 137: Potential leak of memory pointed to by 'x' There two possible approaches I had in mind: Make bug reporting methods of MallocChecker returns whether they succeeded, and proceed with the rest of FreeMemAux if not, Halt execution with a sink node upon failure. I decided to go with this, as described in the code. As you can see from the removed/changed test files, before the big checker dependency effort landed, there were tests to check for all the weird configurations of enabled/disabled checkers and their messy interactions, I largely repurposed these. [1] http://lists.llvm.org/pipermail/cfe-dev/2019-August/063070.html [2] http://lists.llvm.org/pipermail/cfe-dev/2019-August/063205.html Differential Revision: https://reviews.llvm.org/D77474
-
Kirstóf Umann authored
[analyzer][RetainCount] Tie diagnostics to osx.cocoa.RetainCount rather then RetainCountBase, for the most part Similarly to other patches of mine, I'm trying to uniformize the checker interface so that dependency checkers don't emit diagnostics. The checker that made me most anxious so far was definitely RetainCount, because it is definitely impacted by backward compatibility concerns, and implements a checker hierarchy that is a lot different to other examples of similar size. Also, I don't have authority, nor expertise regarding ObjC related code, so I welcome any objection/discussion! Differential Revision: https://reviews.llvm.org/D78099
-
- May 26, 2020
-
-
Chris Jackson authored
Previous commit: bd7ff5d9 - Added missing x86 triples - Added missing asserts
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D80436
-
Vitaly Buka authored
Summary: This patch makes the following changes to SanCov and its complementary Python script in order to resolve issues pertaining to non-UNIX file paths in JSON symbolization information: * Convert all paths to use forward slash. * Update `coverage-report-server.py` to correctly handle paths to sources which contain spaces. * Remove Linux platform restriction for all SanCov unit tests. All SanCov tests passed when ran on my local Windows machine. Patch by Douglas Gliner. Reviewers: kcc, filcab, phosek, morehouse, vitalybuka, metzman Reviewed By: vitalybuka Subscribers: vsk, Dor1s, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D51018
-