- Apr 22, 2024
-
-
Timm Bäder authored
-
Fraser Cormack authored
Commit #87622 broke the build. Ninja was happy with creating the output directories as necessary, but Unix Makefiles isn't. Ensure they are always created. Fixes #88626.
-
Timm Bäder authored
-
Timm Bäder authored
Instead of doing a isa<> + getAs<>
-
Timm Bäder authored
This reverts commit eef57988. This breaks two tests on an arm builder: https://lab.llvm.org/buildbot/#/builders/245/builds/23496
-
pvanhout authored
-
Christian Sigg authored
-
Matt Arsenault authored
Previously these were declared as having the 2008 behavior, with underspecified signed zero handling. Currently, AMDGPU, PPC and LoongArch mark these as legal. The AMDGPU and PPC instructions respect the signed zero behavior. The LoongArch documentation doesn't state, but I'm assuming it also does.
-
Haojian Wu authored
This relands the c8e65e19, which was reverted in b48ea2d3 due to the breakage of windows builtbot. The reland contains some adjustments in the lit test deduction-gudie.cpp, to make the checking text less strict.
-
Timm Bäder authored
-
Simon Pilgrim authored
[VectorCombine] foldShuffleOfBinops - don't fold shuffle(divrem(x,y),divrem(z,w)) if mask contains poison Fixes #89390
-
Simon Pilgrim authored
-
David Green authored
-
AtariDreams authored
It turns out that if any of the operations can be zero, and neither of the operands can be proven to be positive, it is possible for smax to be zero, and KnownBits cannot prove otherwise even with KnownBits::smax. In fact, proving it based on the KnownBits itself at that point without increasing the depth is actually, provably impossible. Same with smin. This covers all the possible cases and is proven to be complete.
-
pvanhout authored
-
Yingwei Zheng authored
This patch folds fabs over select if it is beneficial. I also tried other interger/fp intrinsics. Only handling fabs shows benefit to some real-world applications.
-
martinboehme authored
Reverts llvm/llvm-project#89213 This is causing buildbot failures.
-
martinboehme authored
-
Pierre van Houtryve authored
Allow targets to implement custom module splitting logic for --lto-partitions, see #89245 https://discourse.llvm.org/t/rfc-lto-target-specific-module-splittting/77252
-
donald chen authored
This patch adds support for consumer fusion to the tiling interface, and implements fuse consumers on FuseIntoContainingOp. - Add interface method 'getIterDomainTilePositionFromOperandPosition' to tiling interface which get iteration domain position from operand position. - Add interface method 'getTiledImplementationFromOperandPosition' to tiling interface which generate tiled implementation according to operand position. - Implemented the above two methods and supported consumer fusion for FuseIntoContainingOp. Signed-off-by: Donald Chen
-
Freddy Ye authored
This resolves issue #88501.
-
Craig Topper authored
-
- Apr 21, 2024
-
-
Kazu Hirata authored
We don't need to create these instances of ArrayRef because ConstantDataVector::get takes ArrayRef, and ArrayRef can be implicitly constructed from C arrays.
-
Yingwei Zheng authored
Fixes #89516
-
David Green authored
Similar to #87934, this adds costs to the shuffles in a canonical LD3/LD4 pattern, which are represented in LLVM as deinterleaving-shuffle(load). This likely has less effect at the moment than the ST3/ST4 costs as instcombine will perform certain transforms without considering the cost.
-
Mehdi Amini authored
Reverts llvm/llvm-project#69267 this broke some bots.
-
Gaurav Shukla authored
This patch generalizes tensor.expand_shape and memref.expand_shape to consume the output shape as a list of SSA values. This enables us to implement generic reshape operations with dynamic shapes using collapse_shape/expand_shape pairs. The output_shape input to expand_shape follows the static/dynamic representation that's also used in `tensor.extract_slice`. Differential Revision: https://reviews.llvm.org/D140821 Co-authored-by:
Ramiro Leal-Cavazos <ramiroleal050@gmail.com>
-
cor3ntin authored
In a pack expression, if the id-expression is not valid, do no try to detect whether it is a pack as that would lead to a crash trying to print a recovery expression. Fixes #88929
-
Nikita Popov authored
Revert "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)" This reverts commit 34acbb38. This change causes major compile-time regressions.
-
Timm Bäder authored
To accomodate for recent changes in array index calculations.
-
zhongyunde 00443407 authored
foldFDivPowDivisor can address A / powi(x, y) to A * powi(x, -y), while for small const value y, for example y=2, the instcombine will transform powi(x, 2) to fmul x, x, so it is not optimal for A / powi(x, 2). Fix https://github.com/llvm/llvm-project/issues/77171
-
zhongyunde 00443407 authored
Since PR86428, foldPowiReassoc is called by both FMul and FDiv, as the optimization of FDiv is placed after the FMul, so now it is correct we don't add the checking of FDiv for powi(X, Y) / X. But, we may add more matching scenarios later, so add the checking opcode explicitly is easier to understand.
-
Congcong Cai authored
-
Craig Topper authored
-
Kazu Hirata authored
The call stack table has a constant key length, so we don't need to serialize or deserialize it for every key-data pair. Omitting the key length saves 0.64% of the indexed MemProf file size. Note that it's OK to change the format because Version2 is still under development.
-
Abhishek Kulkarni authored
The Python bindings generated for "async" dialect didn't include any of the "async" dialect ops. This PR fixes issues with generation of Python bindings for "async" dialect and adds a test case to use them.
-
AtariDreams authored
-
Aiden Grossman authored
This reverts commit f2931182. This was again causing buildbot failures. #83962 has been updated with the new failures, notifying the buildbot maintainers that they need to update their bots.
-
Vassil Vassilev authored
Original commit message: " Clang's CodeGen is designed to work with a single llvm::Module. In many cases for convenience various CodeGen parts have a reference to the llvm::Module (TheModule or Module) which does not change when a new module is pushed. However, the execution engine wants to take ownership of the module which does not map well to CodeGen's design. To work this around we clone the module and pass it down. With some effort it is possible to teach CodeGen to ask the CodeGenModule for its current module and that would have an overall positive impact on CodeGen improving the encapsulation of various parts but that's not resilient to future regression. This patch takes a more conservative approach and keeps the first llvm::Module empty intentionally and does not pass it to the Jit. That's also not bullet proof because we have to guarantee that CodeGen does not write on the blueprint. However, we have inserted some assertions to catch accidental additions to that canary module. This change will fixes a long-standing invalid memory access reported by valgrind when we enable the TBAA optimization passes. It also unblock progress on https://github.com/llvm/llvm-project/pull/84758. " This patch reverts adc4f623 and removes the check of `named_metadata_empty` of the first llvm::Module because on darwin clang inserts some harmless metadata which we can ignore.
-