- Jan 27, 2022
-
-
Matt Arsenault authored
I don't think this is actually defined for mesa, but this is what we were doing on the DAG path.
-
Martin Probst authored
Users can define aliases for long symbols using import aliases: import X = A.B.C; Previously, these were unhandled and would terminate import sorting. With this change, aliases sort as their own group, coming last after all other imports. Aliases are not sorted within their group, as they may reference each other, so order is significant. Revision URI: https://reviews.llvm.org/D118361 -
Simon Pilgrim authored
[X86][SSE] Add combineBitOpWithShift for BITOP(SHIFT(X,Z),SHIFT(Y,Z)) -> SHIFT(BITOP(X,Y),Z) vector folds InstCombine performs this more generally with SimplifyUsingDistributiveLaws, but we don't need anything that complex here - this is mainly to fix up cases where logic ops get created late on during lowering, often in conjunction with sext/zext ops for type legalization. https://alive2.llvm.org/ce/z/gGpY5v
-
Jay Foad authored
Swizzled accesses are not merged, but there is no particular reason not to merge two instructions if any of the intervening instructions happens to be a swizzled access. This moves the check for swizzled accesses out of checkAndPrepareMerge into collectMergeableInsts where I think it makes more sense. Differential Revision: https://reviews.llvm.org/D118267
-
Florian Hahn authored
Precommit some additional tests for D118256.
-
Pavel Labath authored
This test is completely nondeterministic, environment-dependent and does not test what it was supposed to test (reverting the associated patch does not make it fail). I tried to figure out what the patch was meant to fix to see if I can create a better test with the current tools, but I was not able to understand the problem (it sounds like it has something to do with local classes, but I don't understand the details).
-
Florian Hahn authored
-
Nikita Popov authored
Use isOpaqueOrPointeeTypeEquals() instead.
-
Florian Hahn authored
When checking x == 0, checking x u<= 0 is sufficient and simpler than x u>= 0 && x u<= 0. https://alive2.llvm.org/ce/z/btM7d3 ---------------------------------------- define i1 @src(i4 %a) { %0: %c = icmp eq i4 %a, 0 ret i1 %c } => define i1 @tgt(i4 %a) { %0: %c = icmp ule i4 %a, 0 ret i1 %c } Transformation seems to be correct!
-
Simon Pilgrim authored
Helps fix a number of poor codegen cases for allof(cmp()) with 256-bit vectors on AVX1
-
Simon Pilgrim authored
-
Sander de Smalen authored
Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D118146
-
Benjamin Kramer authored
This has the additional advantage of supporting more types. Differential Revision: https://reviews.llvm.org/D118348
-
Benjamin Kramer authored
This fixes a regression from 480cd4cb Differential Revision: https://reviews.llvm.org/D118347
-
Florian Hahn authored
This patch adds a struct to manage a list of constraints. It simplifies a follow-up change, that adds pre-conditions that must hold before a list of constraints can be used.
-
Michał Górny authored
Add Thread::GetSiginfo() and SBThread::GetSiginfo() methods to retrieve the siginfo value from server. Differential Revision: https://reviews.llvm.org/D118055
-
Michał Górny authored
Support synthesizing the siginfo_t type from the Platform plugin. This type is going to be used by LLDB client to process the raw siginfo data received from lldb-server without the necessity of relying on target's debug info being present. Differential Revision: https://reviews.llvm.org/D117707
-
Jay Foad authored
-
Max Kazantsev authored
-
Kadir Cetinkaya authored
This results in excessive memory usage and eats a lot of screen estate. Especially in the cases with lots of nested macro calls. This patch tries to remedy it before the release cut by suppressing the initializers. For better UX we should probably update the expression printer to truncate those (behind some policy). Fixes https://github.com/clangd/clangd/issues/917 Differential Revision: https://reviews.llvm.org/D118260
-
Nikita Popov authored
Relax the type assertion for opaque pointers, and enumerate the value type in TypeFinder and ValueEnumerator.
-
Shezan Baig authored
Following up on commit 177176f7, if we failed to setDeleteDisposition(true) during TempFile creation, then don't try to setDeleteDisposition(false) during TempFile::keep, since it will likely fail as well. Instead of letting TempFile::keep just fail, we should let it go ahead and try renaming the file. This fixes an issue we are seeing when running clang-cl.exe through the Incredibuild distributed build system. We're seeing that renaming temporary object files would fail here: https://github.com/llvm/llvm-project/blob/5c1f7b296ac0dddeca02891976e6ab5cfc006719/clang/lib/Frontend/CompilerInstance.cpp#L789 Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D118212
-
Matthias Springer authored
This reverts commit 1043107c. This commit caused a breakage in `finalizing-bufferize.mlir`.
-
Sander de Smalen authored
Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D118145
-
Nikita Popov authored
It appears that this mangling type is currently unused. Make it compatible with opaque pointers in case it becomes used again...
-
Nikita Popov authored
This code replaces the address space of the pointers while keeping the element type. Use the appropriate helpers to make this work with opaque pointers.
-
Anton Zabaznov authored
This feature requires support of __opencl_c_generic_address_space and __opencl_c_program_scope_global_variables so diagnostics for that is provided as well. Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D115640
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D118235
-
Sander de Smalen authored
Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D118057
-
Simon Pilgrim authored
We already perform some basic folds (add/sub with zero etc.) on scalar types, this patch adds some basic support for constant splats as well in a few cases (we can add more with future test coverage). In the cases I've enabled, we can handle buildvector implicit truncation as we're not creating new constant nodes from the vector types - we're just returning existing nodes. This allows us to get a number of extra cases in the aarch64 tests. I haven't enabled support for undefs in buildvector splats, as we're often checking for zero/allones patterns that return the original constant and we shouldn't be returning undef elements in some of these cases - we can enable this later if we're OK with creating new constants. Differential Revision: https://reviews.llvm.org/D118264
-
Jay Foad authored
-
Jay Foad authored
-
Nikita Popov authored
Once again, this fold is meaningless with opaque pointers, as there is no pointer element type to canonicalize. At some point, we may want to do GEP type canonicalizations.
-
Matthias Springer authored
This is in preparation of switching `-tensor-constant-bufferize` and `-arith-bufferize` to BufferizableOpInterface-based implementations. Differential Revision: https://reviews.llvm.org/D118324
-
Jay Foad authored
-
Nikita Popov authored
Also make the function static to make it more obvious that it is only used in the one place.
-
Sven van Haastregt authored
The get_image_num_mip_levels overloads that take a read_write image parameter were missing the __opencl_c_read_write_images guard.
-
Matthias Springer authored
This commit switches the `tensor-bufferize` pass over to BufferizableOpInterface-based bufferization. Differential Revision: https://reviews.llvm.org/D118246
-
Sander de Smalen authored
The ISel patterns for PFALSE helps recognise the instructions as being free of side-effects, which helps MachineCSE remove redundant PFALSE instructions. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D118054
-
Petr Hosek authored
x86_64 isn't supported with the recent Xcode SDK.
-