- Jan 10, 2023
-
-
Theodore Luo Wang authored
Fixes https://github.com/llvm/llvm-project/issues/59673 Reviewed By: mehdi_amini, Mogball Differential Revision: https://reviews.llvm.org/D141201
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/ZXCtgi This breaks the infinite combine loop for issue #59897, but we may still need more changes to avoid those loops.
-
Sanjay Patel authored
-
Nikolas Klauser authored
-
Ivan Kosarev authored
They do not seem to be GFX10-specific anymore. Also renames the corresponding feature. Reviewed By: dp Differential Revision: https://reviews.llvm.org/D141069
-
Valentin Clement authored
This patch adds runtime default initialization for polymorphic dummy argument. The dynamic type might require default initialization but not the declared type. Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D141278
-
Valentin Clement authored
When an array element is extracted from an unlimited polymorphic array, the emboxing of this element has to retrive the type code and element size from the initial array. This patch retrive this information through the extracted type descriptor. This situation can be found in code like: ``` subroutine sub1(a) class(*) :: a(:) select type (x=>a(1)) type is (integer) x = 10 end select end subroutine ``` Reviewed By: jeanPerier, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D141274 -
Florian Hahn authored
Add a test where the reassociation candidates are split across 2 blocks.
-
Jakub Kuderski authored
Fixes: https://github.com/llvm/llvm-project/issues/59136 Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D141292
-
Joseph Huber authored
Summary: There's some static checks on the library, we can't do offloading with `libgomp` for OpenMP. This patch specifies the library for the tests to avoid this breaking tests.
-
- Jan 09, 2023
-
-
Nikita Popov authored
There have been multiple cases where range calculations were wrong in the 1 bit case. Make sure we catch these by not specifying the bit width explicitly, and letting the test framework pick it (which will now always test 1 and 4 bits both).
-
Alex Brachet authored
Previously HWCAP_ATOMIC and others were being used before checking if they were defined. This moves up all the ifndef checks to define these macros if they are not yet defined. Differential Revision: https://reviews.llvm.org/D141285
-
Jakub Kuderski authored
- Make naming more consistent. - Drop unnecessary custom constructors definitions. - Move pass documentation to pass descriptions. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D141159
-
Matthias Springer authored
In case the distributed dim of the dest vector is also a dim of the src vector, each lane inserts a smaller part of the source vector. Otherwise, one lane inserts the entire src vector and the other lanes do nothing. Differential Revision: https://reviews.llvm.org/D137953
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D141281
-
Matthias Springer authored
In case of a distribution, only one lane inserts the scalar value. In case of a broadcast, every lane inserts the scalar. Differential Revision: https://reviews.llvm.org/D137929
-
Matthias Springer authored
Ops such as `%1 = vector.extract %0[2] : vector<5x96xf32>`. Distribute the source vector, then extract. In case of a 1d extract, rewrite to vector.extractelement. Differential Revision: https://reviews.llvm.org/D137646
-
Nikolas Klauser authored
-
Nikita Popov authored
For a full range input, we would produce an empty range instead of a full range. The change to the SMin.isNonNegative() branch is an optimality fix, because we should account for the potentially discarded SMin value in the IntMinIsPoison case. Change TestUnaryOpExhaustive to test both 4 and 1 bits, to both cover this specific case in unit tests, and make sure all other unary operations deal with 1-bit inputs correctly. Fixes https://github.com/llvm/llvm-project/issues/59887.
-
Joe Loser authored
The test uses `size_t` but does not include a header defining it. Include `<cstddef>` which provides `size_t`. Differential Revision: https://reviews.llvm.org/D141284
-
Louis Dionne authored
_LIBCPP_HIDE_FROM_ABI (which is what _LIBCPP_INLINE_VISIBILITY is) uses ABI tags to avoid ODR violations when linking together object files compiled against different versions of libc++. However, pointer authentication uses the mangled name of the function to sign the function pointer in the vtable, which means that the ABI tag effectively changes how the pointers are signed. This leads to PAC failures when passing an object that holds one of these pointers in its vtable across an ABI boundary: one side will sign the pointer using one function mangling (with one ABI tag), and the other side will authenticate the pointer expecting it to have a different mangled name, which won't work. To make sure this does not regress in the future, this patch also adds a clang-query test to detect incorrect applications of _LIBCPP_HIDE_FROM_ABI. Differential Revision: https://reviews.llvm.org/D140453
-
Sanjay Patel authored
https://alive2.llvm.org/ce/z/5tLkW6 There's still a miscompile bug as shown in issue #59876 / D141214 .
-
Sanjay Patel authored
More coverage for D141214 / issue #59876
-
Florian Hahn authored
Add a test case where some ops of a reassociate-able expression are in an earlier block. This can appear in practice, e.g. when computing the final reduction value after vectorization.
-
Nikita Popov authored
Also fix all the incorrect intrinsic name mangling while here.
-
Sander de Smalen authored
This is another step in aligning addTypeForStreamingSVE with addTypeForFixedLengthSVE, which also improves code quality for extending loads and truncating stores. Reviewed By: hassnaa-arm Differential Revision: https://reviews.llvm.org/D141266
-
David Goldman authored
These are still disabled by default, but will work in ObjC code if you enable the `-import-insertions` flag. Completion requires ASTSignals to be available; before ASTSignals are available, we will always use #include. Once they are available, the behavior varies as follows: - For source files, use #import if the ObjC language flag is enabled - For header files: - If the ObjC language flag is disabled, use #include - If the header file contains any #imports, use #import - If the header file references any ObjC decls, use #import - Otherwise, use #include IncludeFixer support is similar, but it does not rely upon ASTSignals, instead it does the above checks excluding the scan for ObjC symbols. Differential Revision: https://reviews.llvm.org/D139458
-
David Goldman authored
This will be disabled by default, hopefully we can enable for the next major release. Differential Revision: https://reviews.llvm.org/D139446
-
Nikita Popov authored
Preserve the alignment of the original atomicrmw, rather than using the ABI alignment. The same problem exists for loads, but that code is being removed in D141277 anyway.
-
David Truby authored
When building the flang runtime if LTO is enabled the archive file contains LLVM IR rather than object code. Currently flang is not LTO aware so cannot link this file to compiled Fortran code. This patch disables LTO when building the flang runtime to avoid this issue. Differential Revision: https://reviews.llvm.org/D140016
-
Nikita Popov authored
And regenerate test checks. The current alignment is incorrect.
-
Martin Storsjö authored
This adds test coverage for the behaviour that broke in 7370ff62.
-
Martin Storsjö authored
This reverts commit 7370ff62. (and 47fb8ae2). This commit broke the symbol type in import libraries generated for mingw autoexported symbols, when the source files were built with LTO. I'll commit a testcase that showcases this issue after the revert.
-
Alexey Baturo authored
Reviewed by: luismarques Differential Revision: https://reviews.llvm.org/D132994
-
David Green authored
This is the ARM equivalent of D141119, where we fold `and x, (csel 0, 1, cc)` to `csel ZR, x, cc` if we know that x is 0/1 and for `or x, (csel 0, 1, cc)` emit `csinc x, ZR, cc`. The or pattern gets recognized from a cmov under Arm. Differential Revision: https://reviews.llvm.org/D141137
-
Jamie Hill-Daniel authored
Fold (a == 0) : 0 ? a - 1 into usub.sat(a, 1). Differential Revision: https://reviews.llvm.org/D140798
-
Jamie Hill-Daniel authored
Tests for D140798.
-
Alex Zinenko authored
When establishing the correspondence between transform values and payload operations or parameters, check that the latter are non-null and report errors. This was previously allowed for exotic cases of partially successfull transformations with "apply each" trait, but was dangerous. The "apply each" implementation was reworked to remove the need for this functionality, so this can now be hardned to avoid null pointer dereferences. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D141142
-
Haojian Wu authored
Fixes https://github.com/llvm/llvm-project/issues/59655 Differential Revision: https://reviews.llvm.org/D140551
-
Viktoriia Bakalova authored
Fix: https://github.com/llvm/llvm-project/issues/59825 Differential Revision: https://reviews.llvm.org/D141271
-