- May 31, 2023
-
-
max authored
I mistakenly put this in `mlir/CAPI/Support.h` at some point during the flurry of refactoring of `TypeCaster`s but as @jpienaar rightly pointed out, it doesn't belong there. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D151669
-
Mark de Wever authored
Windows' libc, like some other libc implementations do not work as specified for %Y and %y. This uses the fixes used for other libc implementations. The work was part of D150593. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D151612
-
Mark de Wever authored
These have been deprecated since their initial version in libc++. It seems they were never properly marked as deprecated. Discovered while working on D151223. Reviewed By: #libc, ldionne, philnik Differential Revision: https://reviews.llvm.org/D151474
-
Marco Elver authored
Fix the Fuchsia build. asan_interceptors_memintrinsics.cpp should not include any interceptors on Fuchsia. Reported-by: haowei Link: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8779679021892159153/+/u/clang/build/stdout
-
Craig Topper authored
-
David Green authored
See D151189. The existing files check lines have also been adjusted whilst here.
-
Mark de Wever authored
This is needed to build clang-tidy plugins using clang-tidy 17. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D151488
-
Dmitri Gribenko authored
MemRegion::getMemorySpace() is annotated with LLVM_ATTRIBUTE_RETURNS_NONNULL (which triggers instant UB if a null pointer is returned), and callers indeed don't check the return value for null. Thus, even though llvm::dyn_cast is called, it can never return null in this context. Therefore, we can safely call llvm::cast. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D151727
-
Dmitri Gribenko authored
Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D151725
-
Simon Pilgrim authored
-
Adrian Prantl authored
-
Igor Kirillov authored
This patch updates several functions in LLVM's IR generation code to accept an IRBuilder object as an argument, rather than an Instruction that indicates the insertion point for new instructions. This change is necessary to handle sophisticated -Ofast optimization cases from D148558 where it's unclear which instructions should be used as the insertion point for new operations. Differential Revision: https://reviews.llvm.org/D148703
-
Dmitri Gribenko authored
They are redundant with the [[fallthrough]]; attribute that follows. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D151723
-
Dmitri Gribenko authored
Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D151726
-
- May 30, 2023
-
-
Alex Zinenko authored
-
Lukas Sommer authored
Add support for the `llvm::TargetExtType` to the MLIR LLVM dialect. Target extension types were introduced to represent target-specific types, which are opaque to the compiler and optimizations. The patch also enforces some of the constraints defined for the target extension type in the LLVM language reference manual. Signed-off-by:
Lukas Sommer <lukas.sommer@codeplay.com> Reviewed By: ftynse, gysit, Dinistro Differential Revision: https://reviews.llvm.org/D151446
-
Quinn Dawkins authored
The ability to add attributes to payload IR is useful functionality independent of any dialect. This is added here through `transform.annotate` by enabling attributes tied to a `TransformParamTypeInterface` (which internally refers to an Attribute) to be added to a target operation by name. The AnnotateOp does not produce a new handle as no existing handles should be affected by adding an attribute. Existing attributes on the payload with the same name will be overwritten. Differential Revision: https://reviews.llvm.org/D151689
-
Florian Hahn authored
Update collectLoopUniforms to identify uniform pointers using Legal::isUniform. This is more powerful and brings pointer classification here in sync with setCostBasedWideningDecision which uses isUniformMemOp. The existing mis-match in reasoning can causes crashes due to D134460, which is fixed by this patch. Fixes https://github.com/llvm/llvm-project/issues/60831. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D150991
-
Nikolas Klauser authored
This allows types to be considered trivially equality comparable if a defaulted hidden friend is used. Reviewed By: erichkeane Spies: cfe-commits Differential Revision: https://reviews.llvm.org/D151623
-
Alex Zinenko authored
The transform dialect has been around for a while and is sufficiently stable at this point. Add the first three chapters of the tutorial describing its usage and extension. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D151491
-
Manna, Soumi authored
This patch uses castAs instead of getAs which will assert if the type doesn't match in clang::Type::getSveEltType(clang::ASTContext const &) Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D151525
-
Florian Hahn authored
This fixes a crash caused by legal treating a scalable GEP as invariant, but isUniformAfterVectorization does not handle GEPs. Partially fixes https://github.com/llvm/llvm-project/issues/60831. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D144434
-
Jacob Crawley authored
Depends on: D151111 Differential Revision: https://reviews.llvm.org/D151415
-
Jacob Crawley authored
Carries out the lowering of the all intrinsic into HLFIR Differential Revision: https://reviews.llvm.org/D151111
-
Jacob Crawley authored
Adds a new HLFIR operation for the ALL intrinsic according to the design set out in flang/docs/HighLevel.md Differential Revision: https://reviews.llvm.org/D151090
-
Philip Reames authored
This is pretty straight forward in the basic form. I did need to move the slideup matching earlier, but that looks generally profitable on it's own. As follow ups, I plan to explore the v(f)slide1down variants, and see what I can do to canonicalize the shuffle then insert pattern (see _inverse tests at the end of the vslide1up.ll test). Differential Revision: https://reviews.llvm.org/D151468
-
Kohei Yamaguchi authored
At inserting of InterfaceMap, a debug message lacked a newline, so it repeatedly displayed this message within a single line. Clean up the debug log by inserting a newline at the end of the message. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D150182
-
Michael Maitland authored
Create SchedWrites, WriteRes for reduction instructions that are SEW specific. Future patches can use these resources to customize the behavior of these resources depending on SEW. Differential Revision: https://reviews.llvm.org/D151470
-
Oleksandr "Alex" Zinenko authored
-
Nikita Popov authored
This fold is buggy if the constant adjustment overflows. Additionally, since we now canonicalize to min/max intrinsics, the constants picked here don't actually matter, as long as SPF still recognizes the pattern. Fixes https://github.com/llvm/llvm-project/issues/62088.
-
Simon Pilgrim authored
As raised on Issue #62602 - the IceLake scheduler model is still mainly a copy of the SkylakeServer model. This initial commit just fixes the ROB/MicroOpBufferSize to match the size reported on WikiChip/Agner, further fixes to follow in later commits.
-
Oleksandr "Alex" Zinenko authored
Clarify the restrictions on actions that are implied by the implementation as a post-order walk.
-
Matthias Springer authored
Do not replace uses inside the body of `scf.forall` ops with results of the same op. Differential Revision: https://reviews.llvm.org/D151706
-
Matthias Springer authored
All result handles must be set in case of success. Differential Revision: https://reviews.llvm.org/D151705
-
LLVM GN Syncbot authored
-
Nikita Popov authored
As reported on https://reviews.llvm.org/D150375#4367861 and following, this change causes PDT invalidation issues. Revert it and dependent commits. This reverts commit 0524534d. This reverts commit ced90d1f. This reverts commit 9f992cc9. This reverts commit 1b123204.
-
Simon Pilgrim authored
We already early-out at the top of the function.
-
Simon Pilgrim authored
[X86] X86FixupVectorConstantsPass - attempt to replace full width integer vector constant loads with broadcasts on AVX2+ targets lowerBuildVectorAsBroadcast will not broadcast splat constants in all cases, resulting in a lot of situations where a full width vector load that has failed to fold but is loading splat constant values could use a broadcast load instruction just as cheaply, and save constant pool space.
-
Igor Kirillov authored
This patch adds four new tests for upcoming functionality in LLVM: * complex-deinterleaving-add-mull-fixed-contract.ll * complex-deinterleaving-add-mull-scalable-contract.ll * complex-deinterleaving-add-mull-fixed-fast.ll * complex-deinterleaving-add-mull-scalable-fast.ll. These tests were generated from the IR of vectorizable loops, which were compiled from C++ code using different optimization flags in Clang. Each pair of tests corresponds to Neon and SVE architectures, respectively, and each pair contains tests compiled with -Ofast and -O3 -ffp-contract=fast -ffinite-math-only optimization flags. The tests were stripped of nnan and ninf flags as they have no impact on the output. The primary objective of these tests is to show the various sequences of complex computations that may be encountered and to demonstrate the ability of ComplexDeinterleaving to support any ordering. Depends on D147451 Differential Revision: https://reviews.llvm.org/D148550
-
Joseph Huber authored
This patch simply moves the special handling for `linux` files to a subdirectory. This is done to make it easier in the future to extend this support to targets (like the GPU) that will have different dependencies. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D151231
-