- Mar 16, 2023
-
-
Jakub Kuderski authored
This does not work by a mere composition of `enumerate` and `zip_equal`, because C++17 does not allow for recursive expansion of structured bindings. This implementation uses `zippy` to manage the iteratees and adds the stream of indices as the first zipped range. Because we have an upfront assertion that all input ranges are of the same length, we only need to check if the second range has ended during iteration. As a consequence of using `zippy`, `enumerate` will now follow the reference and lifetime semantics of the `zip*` family of functions. The main difference is that `enumerate` exposes each tuple of references through a new tuple-like type `enumerate_result`, with the familiar `.index()` and `.value()` member functions. Because the `enumerate_result` returned on dereference is a temporary, enumeration result can no longer be used through an lvalue ref. Reviewed By: dblaikie, zero9178 Differential Revision: https://reviews.llvm.org/D144503
-
Michael Francis authored
The current implementation of `-p` does not claim the argument once it is passed. Since it pushes `-pg` directly, it is only ever referred to again when linking. As a result, when compiling with `-S`, the compiler warns that `-p` goes unused even though that is not the case. With this patch, if both `-p` and `-pg` are passed, the argument that is passed second will take precedence. `-p` will still throw an error on unsupported platforms, regardless of precedence. This revision includes a test case, which has been placed in `clang/test/Driver/zos-profiling-error.c`. As a result, `zos-profiling-error.c` has been renamed to `ibm-profiling.c`. This revision also passes `clang/test/Driver/aix-ld.c`. Differential Revision: https://reviews.llvm.org/D145021
-
Jonas Devlieghere authored
PythonDataObjectsTest.TestExceptions started failing because the output of the python traceback printers is now consistent between python and cpython [1]. Work around the issue by supporting both variants. Thanks to Ismail for identifying the root cause. [1] https://github.com/python/cpython/issues/85203
-
Tue Ly authored
Clean up some warnings from running libc-lint for these folders. Reviewed By: michaelrj, sivachandra Differential Revision: https://reviews.llvm.org/D146048
-
Matt Arsenault authored
-
Luke Lau authored
The loop vectorizer supports generating interleaved loads and stores via shuffle patterns for fixed length vectors. This enables it for RISC-V, since interleaved shuffle patterns can be lowered to vlseg/vsseg in https://reviews.llvm.org/D145022 Reviewed By: reames Differential Revision: https://reviews.llvm.org/D145155
-
Roy Jacobson authored
If a union has explicit initializers for some members, we shouldn't delete its default constructor. Fixes https://github.com/llvm/llvm-project/issues/48416. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D145851
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D146105
-
Jon Roelofs authored
This reverts commit 1def3141.
-
Jon Roelofs authored
Differential Revision: https://reviews.llvm.org/D146105
-
Zain Jaffal authored
[AArch64] Change GeneratePerfectShuffle to return one destination operand for zip and transpose operations. The tests added where crashing because zip instruction was returning two destination operands. ZIP according to arm returns only one destination operand. Reviewed By: dmgreen, fhahn Differential Revision: https://reviews.llvm.org/D146055
-
Florian Hahn authored
Modifying AddRecs when constructing other expressions can lead to surprising changes. It also seems like it is not really beneficial i most cases. At the moment, there's a single regression, but we still might be able to improve the flags at AddRec construction. Might help with the issue discussed in D143409. Reviewed By: mkazantsev Differential Revision: https://reviews.llvm.org/D144051
-
bixia1 authored
Previously, we choose the median of three values. We now choose the median of five values when the number of values being sorted exceed a threshold (currently 100). This is similar to std::sort. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D145534
-
Dave Lee authored
Change `dwim-print` to now disable persistent results by default, unless requested by the user with the `--persistent-result` flag. Ex: ``` (lldb) dwim-print 1 + 1 (int) 2 (lldb) dwim-print --persistent-result on -- 1 + 1 (int) $0 = 2 ``` Users who wish to enable persistent results can make and use an alias that includes `--persistent-result on`. Differential Revision: https://reviews.llvm.org/D145609
-
Arthur Eubanks authored
See comments for why we now need to pass in the MAM instead of the FAM. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D146160
-
Arthur Eubanks authored
This reverts commit d6c0724e. Breaks clang/flang builds.
-
Arthur Eubanks authored
See comments for why we now need to pass in the MAM instead of the FAM. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D146160
-
Arthur Eubanks authored
Reuse StructuralHash and allow it to be used in non-expensive checks builds. Move PreservedAnalysisChecker further down StandardInstrumentations so other Instrumentations (e.g. printing) have a chance to run before PreservedAnalysisChecker crashes. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D146003
-
Arthur Eubanks authored
In preparation for adding more checks under this flag. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D146069
-
Amir Ayupov authored
Move out prepareToParse lambda, generalize it to handle mem events perf process. Reviewed By: #bolt, rafauler Differential Revision: https://reviews.llvm.org/D146002
-
wren romano authored
Since all callsites of `foreachTensorLoopId` would simply look up the `LatPointId` to extract its `BitVector`, it's cleaner to let the `Merger` handle that instead. This seems to better capture the intent of the `foreachTensorLoopId` method, and improves decoupling (since it removes a place that leaks the implementation detail that we use `BitVector`). Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D146082
-
Stephen Tozer authored
Adds a basic logging class to Dexter that uses the existing PrettyOutput class for printing and supports 3 levels of verbosity (note, warning, error). Intended to consolidate the logging logic for Dexter into one place, removing the need for conditional log statements and making it easier for us later if we wish to use a more complete logging class. Reviewed By: Orlando Differential Revision: https://reviews.llvm.org/D144983
-
Zequan Wu authored
-
Wolfgang Pieb authored
For the Playstation platform, mimick MSVC in propagating dllexport/dllimport attributes to an instantiated template base class. Reviewed By: hans Differential Revision: https://reviews.llvm.org/D145970
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Alexandre Ganea authored
building with MSVC on Windows
-
Alexandre Ganea authored
when building with MSVC on Windows
-
Simon Pilgrim authored
There are no 32-bit targets that have LZCNT but not CMOV, and this allows us to test the straight line i64 pattern - otherwise we're doing the same branchy code as the 32-bit BSR test
-
Alexandros Lamprineas authored
Standardize all options with 'funcspec' prefix and shorter abreviations. Differential Revision: https://reviews.llvm.org/D145378
-
Alex Bradbury authored
By the psABI, any test case where a FPR would be used for a float, it should also be used if you replaced that float with a _Float16. This doesn't hold true in current Clang for the special cases in the FP calling convention involving structs. This patch doesn't attempt to fix that, simply to add coverage. D145074 contains the fix. Differential Revision: https://reviews.llvm.org/D145070
-
Lei Zhang authored
This commits adds support for folding subview into GPU subgroup MMA load/store ops. Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D146150
-
Simon Pilgrim authored
Avoid widening the shift to a bigger type if the zext would be free anyway Pulled out of D146121
-
Alexey Lapshin authored
This patch is extracted from D96035. It adds AddressesMap map interface to the DWARFLinkerParallel library. This interface mostly match with the paired interface from the DWARFLinker library, except that it does not depend on DIEInfo class. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D140788
-
Yuanfang Chen authored
A similar fix to D133095. Fixes https://github.com/llvm/llvm-project/issues/58770. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D145607
-
Mark de Wever authored
-
Philip Reames authored
Note that getCleanShadow always returns Constant::getNullValue so the prior code is equivalent to convertToBool.
-
Philip Reames authored
This is an implementation detail of the flattening scheme, so hide it in the implementation thereof. This does require one caller to go through the appropriate utility, but doing that makes the code cleaner anyways.
-