- Jan 30, 2023
-
-
Joseph Huber authored
Summary: The previous patch didn't remove these tests correctly.
-
Simon Pilgrim authored
Minor cleanup before we can handle any_of(icmp_ne) with the same code.
-
Aaron Ballman authored
I missed a second title with too short of underlining.
-
Aaron Ballman authored
This addresses the issue found by: https://lab.llvm.org/buildbot/#/builders/30/builds/31313
-
Joseph Huber authored
Summary: These don't need to be set.
-
Samuel Parker authored
Recommitting after fixing scalable vector crash. Check for single smax pattern against zero when converting from a small enough float. Differential Revision: https://reviews.llvm.org/D142481
-
Hans Wennborg authored
This caused false container-overflow errors when using a custom allocator that touches the memory on deallocation: GitHub Issue #60384 > This revision is a part of a series of patches extending > AddressSanitizer C++ container overflow detection > capabilities by adding annotations, similar to those existing > in std::vector, to std::string and std::deque collections. > These changes allow ASan to detect cases when the instrumented > program accesses memory which is internally allocated by > the collection but is still not in-use (accesses before or > after the stored elements for std::deque, or between the size and > capacity bounds for std::string). > > The motivation for the research and those changes was a bug, > found by Trail of Bits, in a real code where an out-of-bounds read > could happen as two strings were compared via a std::equals function > that took iter1_begin, iter1_end, iter2_begin iterators > (with a custom comparison function). > When object iter1 was longer than iter2, read out-of-bounds on iter2 > could happen. Container sanitization would detect it. > > In revision D132522, support for non-aligned memory buffers (sharing > first/last granule with other objects) was added, therefore the > check for standard allocator is not necessary anymore. > This patch removes the check in std::vector annotation member > function (__annotate_contiguous_container) to support > different allocators. > > If you have any questions, please email: > - advenam.tacet@trailofbits.com > - disconnect3d@trailofbits.com > > Reviewed By: #libc, #sanitizers, philnik, vitalybuka > > Spies: EricWF, philnik, #sanitizers, libcxx-commits > > Differential Revision: https://reviews.llvm.org/D136765 This reverts commit 49055502.
-
Sacha Ballantyne authored
Simple fix to check for rank in the same way as other intrinsics to allow runtime count to take over when dealing with unknown dimension arrays. Fixes #60356 Reviewed By: Leporacanthicus Differential Revision: https://reviews.llvm.org/D142877
-
Pavel Labath authored
-
Muhammad Omair Javaid authored
This reverts commit e1bbe50f. Differential Revision: https://reviews.llvm.org/D142672
-
Tomas Matheson authored
FEAT_LSE128 implies FEAT_LSE but not FEAT_LSE2, so add tests showing what happens when you have both. Differential Revision: https://reviews.llvm.org/D142712
-
Andrew Ng authored
These tests explicitly make use of POSIX absolute paths. Differential Revision: https://reviews.llvm.org/D142228
-
Andrew Ng authored
Differential Revision: https://reviews.llvm.org/D142225
-
Florian Hahn authored
VPPredInstPHIRecipe just merges the incoming values and does not write to memory.
-
Jirui Wu authored
The previous T2 ADC instruction requires three operands. This patch supports its shortened forms. Differential Revision: https://reviews.llvm.org/D141853
-
Matthias Springer authored
The previous name was incorrect. `None` does not mean that there is no buffer relation between two buffers (seems to imply that they do not alias for sure); instead it means that there is no further information available. Differential Revision: https://reviews.llvm.org/D142870
-
Marius Brehler authored
Migrates the standalone sample/dialect to the new fold API, see https://discourse.llvm.org/t/psa-new-improved-fold-method-signature-has-landed-please-update-your-downstream-projects/67618
-
Guillaume Chatelet authored
Differential Revision: https://reviews.llvm.org/D142376
-
Matt Devereau authored
This patch vectorizes Phi node loop reductions for select's whos condition comes from a floating-point comparison, with its operands being integers for Add, Sub, and Mul reductions. Example: int foo(float *x, int n) { int sum = 0; for (int i=0; i<n; ++i) { float elem = x[i]; if (elem > 0) { sum += 2; } } return sum; } This would previously fail to vectorize due to the integer reduction. -
Simon Pilgrim authored
-
Matthias Springer authored
Unranked tensors can currently not be copied. They are forced to always bufferize in-place. There is typically some other OpOperand that can bufferize out-of-place instead if needed. Note: There is IR that cannot be bufferized with One-Shot Bufferize at the moment (see invalid test case). But it is unclear if we need to support such cases. We do not have a use case at the moment. This restriction could be loosened in the future if needed. This change improves error handling when bufferizing IR where an unranked tensor would be copied. It also disables an optimization where an OpResult was copied instead of an OpOperand in case the OpResult is an unranked tensor (Github #60187). Differential Revision: https://reviews.llvm.org/D142331
-
Matthias Springer authored
The analysis previous kept track of OpOperand -> OpResult and OpResult -> OpOperand aliasing mappings. Only one mapping is needed, the other one can be inferred. Differential Revision: https://reviews.llvm.org/D142128
-
Matthias Springer authored
Also enable analysis of unknown ops. Differential Revision: https://reviews.llvm.org/D142006
-
Balázs Kéri authored
ASTImporterLookupTable did not handle correctly friend declarations where the friend type is an UsingType (type of a declaration that comes from an using-declaration). The problem is fixed by handling it in the same way as a friend with TypedefType. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D142607
-
Nikita Popov authored
We have a number of pending changes to update_test_checks.py (and friends) that are essentially blocked on test churn: If the output of UTC for an existing flag combination changes, then the next time a test is regenerated, it will contain many spurious changes. This makes changes to UTC default behavior essentially impossible. Examples of such changes are: * D133943/D142373 want --function-signature to also check the return type/attributes. * D139006/D140212 want to make --function-signature the default behavior. * D142452 wants to add wildcards for block labels. This patch tries to resolve this issue by adding a --version argument, which works as follows: * When regenerating an old test, the default version is 1. * When generating a new test, the default version is the newest. When an explicit version is specified, that of course wins. This means that any currently existing tests will keep using --version 1 format, while any new tests will automatically embed --version N where N is the latest version, and then keep using that test format from then on. This patch only implements the --version flag without bumping the default version, so it does not have any visible behavior change by itself. Differential Revision: https://reviews.llvm.org/D142473
-
Nikita Popov authored
This reverts commit 54971c8a. This causes a compile-time regression. bit_ceil should probably not be used in performance-critical code.
-
Matthias Springer authored
The previous lingo was confusing. There are no writes on tensors. There are only definitions. Also some minor cleanup and better documentation. Differential Revision: https://reviews.llvm.org/D141790
-
Christian Ulmann authored
This reverts commit 54941942. The commit introduced a linking error in flang.
-
varconst authored
This is in anticipation of https://isocpp.org/files/papers/D2770R0.html, which is ABI-breaking for `join_view`. Differential Revision: https://reviews.llvm.org/D142520
-
Matthias Springer authored
The name of the method was confusing. It is bufferizesToMemoryWrite, but from the perspective of OpResults. `bufferizesToMemoryWrite(OpResult)` now supports ops with regions that do not have aliasing OpOperands (such as `scf.if`). These ops no longer need to implement `isMemoryWrite`. Differential Revision: https://reviews.llvm.org/D141684
-
Konstantin Varlamov authored
-
Matthias Springer authored
This is to simplify the API. The multi-op entry point can be used directly. GreedyRewriteStrictness must now be specified explicitly. Depends On: D141396 Differential Revision: https://reviews.llvm.org/D142613
-
Christian Ulmann authored
This commit adds name accessors and verifiers for all LLVM parameter attributes excluding the swift specific ones to the LLVM dialect. Additionally, these attributes are now also imported and exported. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D142635
-
Muhammad Omair Javaid authored
This reverts commit 805600c7. LLDB windows buildbots were broken by the TestSectionAPI.py test. I dont have full context of the commit to fix it. Reverting it temporarily. https://lab.llvm.org/buildbot/#/builders/83/builds/28617 https://lab.llvm.org/buildbot/#/builders/219/builds/180 Differential Revision: https://reviews.llvm.org/D142672
-
Nathan Ridge authored
-
Craig Topper authored
Same for -dot-postdom-only. Looks like these passes got renamed when they moved to the new pass manager.
-
Nathan Ridge authored
Fixes https://github.com/clangd/clangd/issues/1475 Differential Revision: https://reviews.llvm.org/D142440
-
Kai Luo authored
If the archive contains free list and contains no member file, the buffer length doesn't equal to length of the header. Reviewed By: Esme, DiggerLin, #powerpc Differential Revision: https://reviews.llvm.org/D138986
-
Xiang Li authored
InsertStridedSliceOp will not get 0-D vector result, so just skip 0-D vector in BubbleUpBitCastForStridedSliceInsert. Fixes #60214 https://github.com/llvm/llvm-project/issues/60214 Differential Revision: https://reviews.llvm.org/D142319
-
Sergei Barannikov authored
-