- Feb 15, 2022
-
-
Arthur O'Dwyer authored
The logic here is that we are disabling *only* things in `std::ranges::`. Everything in `std::` is permitted, including `default_sentinel`, `contiguous_iterator`, `common_iterator`, `projected`, `swappable`, and so on. Then, we include anything from `std::ranges::` that is required in order to make those things work: `ranges::swap`, `ranges::swap_ranges`, `input_range`, `ranges::begin`, `ranges::iter_move`, and so on. But then that's all. Everything else (including notably all of the "views" and the `std::views` namespace itself) is still locked up behind `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`. Differential Revision: https://reviews.llvm.org/D118736
-
Shraiysh Vaishay authored
`kEmitAccessorPrefix_Raw ` is being removed, and so updating the accessors to `kEmitAccessorPrefix_Prefixed`. Reviewed By: clementval Differential Revision: https://reviews.llvm.org/D119812
-
Matt Devereau authored
Differential Revision: https://reviews.llvm.org/D119453 Co-authored-by:
George Steed <george.steed@arm.com>
-
Valentin Clement authored
This patch adds lowering of ranked array as function return. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D119835 Co-authored-by:
Jean Perier <jperier@nvidia.com>
-
Max Kazantsev authored
Does not affect default behavior (transform is on).
-
Amy Kwan authored
This patch updates the handling of vectors in getPreferredVectorAction(): For single-element and scalable vectors, fall back to default vector legalization handling. For vNi1 vectors, add handling to either split or promote them in order to prevent the production of wide v256i1/v512i1 types. The following assertion is fixed by this patch, as we ended up producing the wide vector types (that are used for MMA) in the backend prior to this fix. ``` Assertion failed: VT.getSizeInBits() == Operand.getValueSizeInBits() && "Cannot BITCAST between types of different sizes!" ``` Differential Revision: https://reviews.llvm.org/D119521
-
zhijian authored
Summary: Added a new option "-X" to specify, which type of object file should be examine. For example: 1. "llvm-nm -X64 archive.a" only deal with the 64bit object files in the archive.a ,ignore the all 32bit object files in the archive.a 2. "llvm-nm -X32 xcoffobj32.o xcoffobj64.o " only deal with the 32bit object file "xcoffobj32.o" , 64bit object file "xcoffobj64.o" will be ignored Reviewers: James Henderson,Fangrui Song Differential Revision: https://reviews.llvm.org/D118193
-
Aaron Ballman authored
A significant number of our tests in C accidentally use functions 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 tenth batch of tests being updated (there are a significant number of other tests left to be updated).
-
Louis Dionne authored
The test would trigger -Wtautological-compare. I think that the little we gain from comparing addresses isn't worth the added complexity to work around the warning.
-
Simon Pilgrim authored
Extend the existing split where we already do this for v32i16/v64i8 We can end up trying to use PCMPEQ/GT if the result needs to be sign-extended (typically due to the DAGCombiner::foldSextSetcc fold). Fixes #53842
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D119832
-
Benjamin Kramer authored
-
Alexander Potapenko authored
This reverts commit dd145f95. https://reviews.llvm.org/D119726, like https://reviews.llvm.org/D114421, still causes TSan to fail, see https://lab.llvm.org/buildbot/#/builders/70/builds/18020 Differential Revision: https://reviews.llvm.org/D119838
-
Ivan Butygin authored
Differential Revision: https://reviews.llvm.org/D119632
-
Xing Xue authored
Summary: The pragma priority guarded for AIX in locale.cpp is no longer useful and is ignored by the current AIX build compilers. This patch removes it from the source. Reviewed by: ldionne, hubert.reinterpretcast, libc++ Differential Revision: https://reviews.llvm.org/D119765
-
Sanjay Patel authored
Integer min/max operations are associative: max (max X, C0), C1 --> max X, (max C0, C1) --> max X, NewC https://alive2.llvm.org/ce/z/wW5HVM This would avoid a regression when we canonicalize to min/max intrinsics (see D98152 ). Differential Revision: https://reviews.llvm.org/D119754
-
Max Kazantsev authored
-
Simon Pilgrim authored
As noted on PR53610, we can fold a 'bit splat' negation of a shifted bitmask pattern into a pair of shifts. https://alive2.llvm.org/ce/z/eGrsoN Differential Revision: https://reviews.llvm.org/D119715
-
Anton Afanasyev authored
Particularly this breaks vectorization of insertelements where some of intermediate (i.e. not last) insertelements are used externally. Fixes PR52275 Fixes #51617 Differential Revision: https://reviews.llvm.org/D119679
-
Anton Afanasyev authored
-
Alexander Potapenko authored
For ASan this will effectively serve as a synonym for __attribute__((no_sanitize("address"))) This is a reland of https://reviews.llvm.org/D114421 Reviewed By: melver, eugenis Differential Revision: https://reviews.llvm.org/D119726 -
Adrian Kuegel authored
-
Sanjay Patel authored
-
Nathan Sidwell authored
The Itanium mangler uses IgnoreLinkageSpecDecls to strip linkage spec contexts. It doesn't do this consistently, but there is no need for it to do it at all. getEffectiveDeclContext never returns a linkage spec, as it either recurses, uses getRedeclContext (which itself removes the specs), or gets the decl context of non-namespace entities. This patch removes the function and all calls to it. For safety I add a couple of asserts to make sure we never get them. Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D119748
-
Shraiysh Vaishay authored
This patch changes the syntax of omp.atomic.update to allow the other dialects to modify the variable with appropriate operations in the region. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D119522
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D119444
-
Simon Pilgrim authored
-
Sven van Haastregt authored
Commit 3c7d2f1b ("[OpenCL] opencl-c.h: add CL 3.0 non-generic address space atomics", 2021-07-30) added some atomic_fetch_add/sub overloads with uintptr_t arguments twice. Instead, they should have been atomic_fetch_max overloads with non-generic address spaces.
-
Nikita Popov authored
-
Simon Moll authored
Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D119241
-
Jan Svoboda authored
The resiliency to `HeaderSearch::Add{,System}SearchPath` is implemented in later patch (D116750). -
David Spickett authored
This is now on 14.x as af19ae52 so it is not new to 15.
-
Jay Foad authored
These look like they were temporarily disabled to placate update_mir_test_checks and then committed by mistake.
-
iains authored
We have two entries for OPT_emit_codegen_only in the frontend action kind table, delete one. Differential Revision: https://reviews.llvm.org/D119826
-
Markus Böck authored
The "avoid trailing call pass" makes sure that no function ends with a call instruction for the purpose of the unwinder. It starts of by skipping over any non real instruction, which is approximated via the Pseudo and Meta property. This sadly leads to issues when the last machine instruction is a STATEPOINT, as it is skipped despite it lowering to a call. This patch fixes the use of a statepoint in the trailing call position by making sure call instructions are not skipped. Differential Revision: https://reviews.llvm.org/D119644
-
Markus Böck authored
Since https://reviews.llvm.org/D53892 it is possible to emit a custom stackmap by overwriting the emitStackMaps method of GCMetadataPrinter. That way even AOT compilers can generate a more efficient and more suitable format for their needs. This patch updates documentation and stale comments in source code. In particular it removes the issue from the issue list in the Statepoints documentation and adjusts comments in GCStrategy. Differential Revision: https://reviews.llvm.org/D119660
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D119822
-
Nikita Popov authored
Instead of doing an inbounds strip first and another non-inbounds strip afterward for equality comparisons, directly do a single inbounds or non-inbounds strip based on whether we have an equality predicate or not. This is NFC-ish in that the alloca equality codepath is the only part that sees additional non-inbounds offsets now, and for that codepath it doesn't matter whether or not the GEP is inbounds, as it does a stronger check itself. InstCombine would infer inbounds for such GEPs.
-
Vladislav Khmelevsky authored
After "Remove caching of ranges/abbrevs" patch the dwarf offsets are a bit changed and the subprograms high pc is replaced with AT_RANGES. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D119733
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D112512
-