- Feb 13, 2022
-
-
Simon Pilgrim authored
This often occurs when the accumulator is larger than the source vector element, such as some of the tests mentioned in Issue #42019
-
Simon Pilgrim authored
The pointers are referenced immediately, so assert the cast is correct instead of returning nullptr
-
Aaron Ballman authored
without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void); This is the ninth batch of tests being updated (there are a significant number of other tests left to be updated).
-
Florian Hahn authored
The noalias metadata checks re not really relevant for the test and slight changes to metadata numbering can have large knock-on effects causing large noise in test diff.
-
Harshil Jain authored
Device clause when it occurs with **target enter data** and **target exit data** must be declared with some non negative value. So some changes were made to evaluate the device clause argument to non negative value and throw the expected error when it takes negative value as argument. Reviewed By: clementval Differential Revision: https://reviews.llvm.org/D119141
-
Florian Hahn authored
Add real uses to some tests, to ensure dead instructions cannot be directly removed.
-
Sheng authored
When, for example, using "ascend" operator, I was wondering whether the bit order of the dag argument will be reversed in ascend order as well. This patch clarifies it. Reviewed By: myhsu Differential Revision: https://reviews.llvm.org/D119653
-
Sheng authored
-
Fangrui Song authored
The binding will matter if we remove the `sym->replace(und)` kludge from initializeSymbols. While here, rename the function to be more appropriate.
-
Sheng authored
-
Shilei Tian authored
This patch fixes the issue that the for loop in `applyToShadowMapEntries` is infinite because `Itr` is not incremented in `CB`. Fixes #53727. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D119471
-
Phoebe Wang authored
D108887 fixed alignment mismatch by changing the caller's alignment in ABI. However, we found some cases that still assume the alignment is vector size. This patch fixes them to avoid the runtime crash. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D114536
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Joe Loser authored
`<filesystem>` header has been around for a while now, so we can safely remove `<experimental/filesystem>` header. `_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM` suggests we were going to remove `<experimental/filesystem>` in llvm 11 release, but we never did. So, remove the experimental header now, its associated tests, and the `_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM` macro. Differential Revision: https://reviews.llvm.org/D119603
-
Simon Pilgrim authored
-
Craig Topper authored
While matching widening multiply, if we matched an extend from i8->i32, i16->i64 or i8->i64, we need to reintroduce a narrower extend. If we're matching a vwmulsu we need to use a sext for op0 and a zext for op1. This bug exists in LLVM 14 and will need to be backported. Differential Revision: https://reviews.llvm.org/D119618
-
Marek Kurdej authored
-
Simon Pilgrim authored
[clang] MicrosoftCXXNameMangler::mangleObjCKindOfType - use castAs<> instead of getAs<> to avoid dereference of nullptr The pointer is referenced in the mangleType call, so assert the cast is correct instead of returning nullptr
-
Simon Pilgrim authored
[clang-tidy] SimplifyBooleanExprCheck - use cast<> instead of dyn_cast<> to avoid dereference of nullptr The IfStmt pointer is always referenced inside the replaceCompoundReturnWithCondition call, so assert the cast is correct instead of returning nullptr
-
Joseph Huber authored
Now that the old device runtime has been deleted there is only a single target that differs by the triple and the architecture. Simplify the scheme for identifying the library but directly using the triple. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D119638
-
Mark de Wever authored
This avoids using an libc++ internal macro in our tests. D117992 removed them, but it seems new occurrences have been introduced.
-
Nico Weber authored
This reverts commit d75a5650. Breaks asan_dlopen_test.cpp on several bots, see comments on https://reviews.llvm.org/D119515
-
Florian Hahn authored
-
Nico Weber authored
This reverts commit 4fb7c120. Breaks tests on Linux were system gcc doesn't support C++17 (but gcc used to build LLVM does), see https://reviews.llvm.org/D119161
-
phyBrackets authored
Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D119364
-
Mark de Wever authored
This avoids using an libc++ internal macro in our tests. Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D119563
-
Dimitry Andric authored
This reverts commit 5ebdb07e. Enabling shrink wrap by default can cause assertions or crashes, and these should first be investigated and fixed. For now, reverting the change so it can be cherry-picked into 14.0.0 is the safest choice.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[X86] combineAndnp - if an input has a zero (after inversion for Op0) in a vector element, then we don't demand that bit/element in the other input Similar to what we already perform in combineAnd
-
Benjamin Kramer authored
Reg unit sets are uniqued, so no need to wrap it in a set.
-
Benjamin Kramer authored
-
Sanjay Patel authored
I have not found a way to expose a difference for this patch in a test because it only triggers for a one-use load, but this is the code that was adapted into D118376 and caused miscompiles. The new code pattern is the same as what we do in narrowExtractedVectorLoad() (reduces load width for a subvector extract). This removes seemingly unnecessary manual worklist management and fixes the chain updating via "SelectionDAG::makeEquivalentMemoryOrdering()". Differential Revision: https://reviews.llvm.org/D119549
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
- Feb 12, 2022
-
-
Simon Pilgrim authored
Extend the existing fold to use SimplifyMultipleUseDemandedBits as well as SimplifyDemandedVectorElts/SimplifyDemandedBits when attempting to simplify based off known zero vector elements.
-
Sanjay Patel authored
-
Simon Pilgrim authored
To find uniform shift/rotation amounts, we currently use SelectionDAG::getSplatValue which creates a node that extracts the scalar value from the source vector, this makes it more difficult for later combines to remove the extraction and stay on the SIMD unit, and can be a problem when the scalar type is illegal (i.e. i64 vs v2i64 on 32-bit targets). This patch begins to use SelectionDAG::getSplatSourceVector (which SelectionDAG::getSplatValue uses internally) and adds a new variant of getTargetVShiftNode that takes the source vector and the splat index, and adjusts the vector in place to create the zero-extended value suitable for the SSE PSLL/PSRL/PSRA uniform instructions. I'm still addressing a number of regressions when used for normal vector shifts, so I've just handled the funnelshift/rotation lowering for this first patch. I can then focus on the yak shaving (SimplifyDemandedBits/Elts in particular) necessary to always use SelectionDAG::getSplatSourceVector. Differential Revision: https://reviews.llvm.org/D119090
-
Benjamin Kramer authored
-
Simon Pilgrim authored
-