This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Mar 25, 2022
-
-
Akira Hatanaka authored
generic vector type rdar://86109177
-
Hubert Tong authored
Update `WeakUndeclaredIdentifiers` to hold a collection of weak aliases per identifier instead of only one. This also allows the "used" state to be removed from `WeakInfo` because it is really only there as an alternative to removing processed map entries, and we can represent that using an empty set now. The serialization code is updated for the removal of the field. Additionally, a PCH test is added for the new functionality. The records are grouped by the "target" identifier, which was already being used as a key for lookup purposes. We also store only one record per alias name; combined, this means that diagnostics are grouped by the "target" and limited to one per alias (which should be acceptable). Fixes PR28611. Fixes llvm/llvm-project#28985. Reviewed By: aaron.ballman, cebowleratibm Differential Revision: https://reviews.llvm.org/D121927 Co-authored-by:
Rachel Craik <rcraik@ca.ibm.com> Co-authored-by:
Jamie Schmeiser <schmeise@ca.ibm.com>
-
Groverkss authored
This patch is a cleanup patch that merges PresburgerLocalSpace and PresburgerSpace. Asserting that there are no locals is shifted to the users of PresburgerSpace themselves. The reasoning for this patch is that PresburgerLocalSpace did not contribute much and only introduced additional complexity as locals could still be present in PresburgerSpace, just not writable. This could introduce problems if a PresburgerSpace with locals was copied to PresburgerLocalSpace which expected no locals in a PresburgerSpace. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D122353
-
Nikolas Klauser authored
In C++20 the type trait `type_identity` was introduced. For the same purpose there is `__identity` for pre-C++20 code. The name is confusing, because since C++20 there is also `identity`, which isn't a type trait. Reviewed By: ldionne, Mordante, #libc Spies: EricWF, libcxx-commits Differential Revision: https://reviews.llvm.org/D122017
-
Tom Stellard authored
This is a re-commit of 98fd3b35. The newly added test was failing on the bots, and I've fixed the test now so that it doesn't actually invoke the linker.
-
Joseph Huber authored
A previous patch removed the compiler generating offloading entries for variables that were declared on the device but were internal or hidden. This allowed us to compile programs but turns any attempt to run '#pragma omp target update' on one of those variables a silent failure. This patch adds a check in the semantic analysis for if the user is attempting the update a variable on the device from the host that is not externally visible. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D122403
-
Thomas Raoux authored
This transformation allow to break up a reduction dimension in a parallel and a reduction dimension. This is followed by a separate reduction op. This allows to generate tree reduction which is beneficial on target allowing to take advantage parallelism. Differential Revision: https://reviews.llvm.org/D122045
-
Jason Molenda authored
When iterating over all Platforms looking for the best one, on a Mac the Simulator platforms (iOS, tvOS, watchOS) will first find their SDK directory by calling xcrun, then decide if they should activate or not. When that SDK is absent, the call to xcrun to find it can be very slow. This patch delays that directory search until we know we're activating this platform, so non-simulator environments don't pay a perf cost ever time they go through the list of platforms. Differential Revision: https://reviews.llvm.org/D122373 rdar://87960090
-
Fangrui Song authored
Hope someone can figure out how to leverage SSE42/AVE2/Arm Neon.
-
Peter Steinfeld authored
To make it easier to find things that are not yet implemented, I'm changing the messages that appear in the compiler's output to all have the string "not yet implemented:". These changes apply to files in the front end. I have another set of changes to files in the lowering code. Differential Revision: https://reviews.llvm.org/D122355
-
Zixu Wang authored
Rename a local variable name to avoid potential ambiguity/conflict for some compilers.
-
Tue Ly authored
Reduce the range-reduction table size from 128 entries down to 64 entries, and reduce the polynomial's degree from 6 down to 4. Currently we use a degree-6 minimax polynomial on an interval of length 2^-7 around 0 to compute exp2f. Based on the suggestion of @santoshn and the RLIBM project (https://github.com/rutgers-apl/rlibm-prog/blob/main/libm/float/exp2.c) it is possible to have a good polynomial of degree-4 on a subinterval of length 2^(-6) to approximate 2^x. We did try to either reduce the degree of the polynomial down to 3 or increase the interval size to 2^(-5), but in both cases the number of exceptional values exploded. So we settle with using a degree-4 polynomial of the interval of size 2^(-6) around 0. Reviewed By: michaelrj, sivachandra, zimmermann6, santoshn Differential Revision: https://reviews.llvm.org/D122346
-
Zixu Wang authored
Add missing virtual method anchors for structs in ExtractAPI/API.h
-
Arthur Eubanks authored
This is legacy PM-specific, which is deprecated. Uses of this should be replaced with a corresponding `-passes='print<foo>'`. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D122420
-
Lei Zhang authored
Reviewed By: ThomasRaoux, hanchung Differential Revision: https://reviews.llvm.org/D122414
-
Jennifer Yu authored
Current clang generates extra set of simd variant function attribute with extra 'v' encoding. For example: _ZGVbN2v__Z5add_1Pf vs _ZGVbN2vv__Z5add_1Pf The problem is due to declaration of ParamAttrs following: llvm::SmallVector<ParamAttrTy, 8> ParamAttrs(ParamPositions.size()); where ParamPositions.size() is grown after following assignment: Pos = ParamPositions[PVD]; So the PVD is not find in ParamPositions. The problem is ParamPositions need to set for each FD decl. To fix this Move ParamPositions's init inside while loop for each FD. Differential Revision: https://reviews.llvm.org/D122338
-
Stanislav Mekhanoshin authored
Since there is a table introduced for MAI instructions extend it to use for DGEMM classification. Differential Revision: https://reviews.llvm.org/D122337
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D122263
-
Valentin Clement authored
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D122191
-
Kirill Stoimenov authored
After landing D121813 the binary size increase introduced by this change can be minimized by using --gc-sections link options. D121813 allows each individual callbacks to be optimized out if not used. Reviewed By: vitalybuka, MaskRay Differential Revision: https://reviews.llvm.org/D122407
-
Nico Weber authored
This reverts commit 8424d4f6. That approach doesn't work. I checked in something that kinda works 30 min ago or so.
-
wangyihan authored
Fix clang crash and add bitfield support in __builtin_dump_struct. In clang13.0.x, a struct with three or more members and a bitfield at the same time will cause a crash. In clang15.x, as long as the struct has one bitfield, it will cause a crash in clang. Open issue: https://github.com/llvm/llvm-project/issues/54462 Differential Revision: https://reviews.llvm.org/D122248
-
Yaxun (Sam) Liu authored
CUDA/HIP determines whether a function can be called based on the device/host attributes of callee and caller. Clang assumes the caller is CurContext. This is correct in most cases, however, it is not correct in OpenMP parallel region when CUDA/HIP program is compiled with -fopenmp. This causes incorrect overloading resolution and missed diagnostics. To get the correct caller, clang needs to chase the parent chain of DeclContext starting from CurContext until a function decl or a lambda decl is reached. Sema API is adapted to achieve that and used to determine the caller in hostness check. Reviewed by: Artem Belevich, Richard Smith Differential Revision: https://reviews.llvm.org/D121765
-
Fraser Cormack authored
We can not bitcast pointers across different address spaces. This was previously fixed in D89577 but then in D93229 an enhancement was added which peeks further through the ponter operand, opening up the possibility that address-space violations could be introduced. Instead of bailing as the previous fix did, simply insert an addrspacecast cast instruction. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D121787
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D122044
-
LLVM GN Syncbot authored
-
Fangrui Song authored
-
Johannes Doerfert authored
This reverts commit 7aea3ea8 as it breaks the buildbots. I didn't see these failures in the pre-merge checks, looking into it.
-
Nico Weber authored
-
David Blaikie authored
This information isn't preserved in the DWARF description of function types (though probably should be - it's preserved on the function declarations/definitions themselves through the DW_AT_noreturn attribute - but we should move or also include that in the subroutine type itself too - but for now, with it not being there, the DWARF is lossy and can't be reconstructed)
-
Nico Weber authored
-
Johannes Doerfert authored
Most intrinsics, especially "default" ones, will not call back into the IR module. `nocallback` encodes this nicely. As it was not used before, this patch also makes use of `nocallback` in the Attributor which results in many more `norecurse` deductions. Tablegen part is mechanical, test updates by script. Differential Revision: https://reviews.llvm.org/D118680
-
Sanjay Patel authored
Follow-up as suggested with b6efd251 - show a couple of examples of general subtraction (the earlier patch was all negations).
-
Argyrios Kyrtzidis authored
-
Fangrui Song authored
--build-id was introduced as "approximation of true uniqueness across all binaries that might be used by overlapping sets of people". It does not require the some resistance mentioned below. In practice, people just use --build-id=md5 for 16-byte build ID and --build-id=sha1 for 20-byte build ID. BLAKE3 has 256-bit key length, which provides 128-bit security against (second-)preimage, collision, and differentiability attacks. Its portable implementation is fast. It additionally provides Arm Neon/AVX2/AVX-512. Just implement --build-id={md5,sha1} with truncated BLAKE3. Linking clang 14 RelWithDebInfo with --threads=8 on a Skylake CPU: * 1.13x as fast with --build-id=md5 * 1.15x as fast with --build-id=sha1 --threads=4 on Apple m1: * 1.25x as fast with --build-id=md5 * 1.17x as fast with --build-id=sha1 Reviewed By: ikudrin Differential Revision: https://reviews.llvm.org/D121531
-
Argyrios Kyrtzidis authored
-
Gulfem Savrun Yeniceri authored
This reverts commit 30cb49b4. It caused test failures on Fuchsia Toolchain Mac builds: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-x64/b8818888168677577537/overview
-
Simon Pilgrim authored
-
Arthur Eubanks authored
-