- Dec 18, 2023
-
-
Fangrui Song authored
Created using spr 1.3.4
-
Fangrui Song authored
Created using spr 1.3.4 [skip ci]
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
- Dec 17, 2023
-
-
Simon Pilgrim authored
No need to extract at the byte level, and will make it easier to reconstruct constants in a future patch.
-
Jie Fu authored
llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:339:24: error: braces around scalar initializer [-Werror,-Wbraced-scalar-init] 339 | setOperationAction({ISD::ROTL}, XLenVT, Expand); | ^~~~~~~~~~~ 1 error generated. -
Rik Huijzer authored
This reverts commit 3a1ae2f4.
-
Simon Pilgrim authored
We only iterate over the original target constant/undef width, so keep the alternative data in its original form. This should help if we try to merge constant data in the future.
-
melonedo authored
Implement XCVbitmanip intrinsics for CV32E40P according to the specification. This commit is part of a patch-set to upstream the vendor specific extensions of CV32E40P that need LLVM intrinsics to implement Clang builtins. Contributors: @CharKeaney, @ChunyuLiao, @jeremybennett, @lewis-revill, @NandniJamnadas, @PaoloS02, @simonpcook, @xingmingjie. Spec: https://github.com/openhwgroup/core-v-sw/blob/05481cf0ef7aa7b09067b14ff3f71faead7ba310/specifications/corev-builtin-spec.md#listing-of-pulp-bit-manipulation-builtins-xcvbitmanip. Previously reviewed on Phabricator: https://reviews.llvm.org/D157510. Parallel GCC patch: https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635795.html . Co-authored-by:
melonedo <funanzeng@gmail.com>
-
Rik Huijzer authored
Fixes https://github.com/llvm/llvm-project/issues/71326. The cause of the issue was that a new `LoadOp` was created which looked something like: ```mlir %arg4 = func.func main(%arg1 : index, %arg2 : index) { %alloca_0 = memref.alloca() : memref<vector<1x32xi1>> %1 = vector.type_cast %alloca_0 : memref<vector<1x32xi1>> to memref<1xvector<32xi1>> %2 = memref.load %1[%arg1, %arg2] : memref<1xvector<32xi1>> return } ``` which crashed inside the `LoadOp::verify`. Note here that `%alloca_0` is 0 dimensional, `%1` has one dimension, but `memref.load` tries to index `%1` with two indices. This is now fixed by using the fact that `unpackOneDim` always unpacks one dim https://github.com/llvm/llvm-project/blob/1bce61e6b01b38e04260be4f422bbae59c34c766/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp#L897-L903 and so the `loadOp` should just index only one dimension. --------- Co-authored-by:
Benjamin Maxwell <macdue@dueutil.tech>
-
Kazu Hirata authored
-
Fangrui Song authored
-
Carl Ritson authored
Physical VGPRs used for SGPR spills need to be tracked independent of WWM reserved registers. The WWM reserved set contains extra registers allocated during WWM pre-allocation pass. This causes SGPR spills allocated after WWM pre-allocation to overlap with WWM register usage, e.g. if frame pointer is spilt during prologue/epilog insertion.
-
Matthias Springer authored
Use `Region::findAncestorBlockInRegion` instead of a custom IR traversal.
-
Fangrui Song authored
-
Kazu Hirata authored
b8f89b84 inadvertently replaced startswith/endswith with starts_with/ends_with even though the test uses a custom StringRef. This patch reverts the change.
-
Fangrui Song authored
-
Kazu Hirata authored
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. -
Kazu Hirata authored
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. -
Craig Topper authored
The type strings in the intrinsic name were using f16 instead of bf16 for float types. Nothing really checks these strings so everything still worked.
-
Kazu Hirata authored
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. -
Kazu Hirata authored
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. -
Fangrui Song authored
-
Kazu Hirata authored
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with. -
Youngsuk Kim authored
Unify 3 `Pointertype *` members which all refer to the same llvm type. Opaque pointer clean-up effort.
-
- Dec 16, 2023
-
-
Quinn Dawkins authored
Inferring the reshape reassociation indices for extract/insert slice ops based on the read sizes of the original slicing op will generate an invalid expand/collapse shape op for already rank-reduced cases. Instead just infer from the shape of the slice. Ported from Differential Revision: https://reviews.llvm.org/D147488
-
Stefan Pintilie authored
Revert "Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"" This reverts commit f4b5be1e. The above change was breaking the clang-ppc64le-linux-test-suite bot.
-
Hristo Hristov authored
Added C++20 papers to Spaceship status page Co-authored-by:Hristo Hristov <zingam@outlook.com>
-
Dinar Temirbulatov authored
This change enables FCLAMP, CNTP builtins for SME2 target.
-
Andrzej Warzyński authored
Refactor how the Fortran runtime libs are added to the linker invocation. This is a non-functional change. This is an updated version of #75534. This iteration makes sure that FortranMain.a comes before FortranRuntme.a (the former depends on the latter).
-
Yingwei Zheng authored
[InstCombine] Canonicalize `icmp pred (X +/- C1), C2` into `icmp pred X, C2 -/+ C1` with nowrap flag implied by with.overflow intrinsic (#75511) This patch tries to canonicalize the pattern `Overflow | icmp pred Res, C2` into `Overflow | icmp pred X, C2 +/- C1`, where `Overflow` and `Res` are return values of `xxx.with.overflow X, C1`. Alive2: https://alive2.llvm.org/ce/z/PhR_3S Fixes #75360.
-
Craig Topper authored
We are able to fold or (mul X, Y), X --> mul X, (add Y, 1) (when the multiply has no common bits with X) but we miss it if the mul operands are commuted.
-
smanna12 authored
This patch renames CheckForDuplicateCodeAlignAttrs() to CheckForDuplicateLoopAttrs() and corresponding other functions that call it to be used for other statement attributes in future.
-
Yeting Kuo authored
According to spec, the Zfhmin extension is a subset of the Zfh extension.
-
Joseph Huber authored
Summary: The architecture that the CUDA application was compiled for is stored in the ELF flags. This patch just adds some simple enum values to indicate this to the user in a readable way.
-
Mariusz Borsa authored
When ASan.MaxInlinePoisoningSize == 0 , it means that no shadow memory operations should be made via inlined instrumentation code, but only via calls to shadow setting functions. This change fixes one violation of this, which happened when the function allocas count was small, i.e. less than 5 - in the code modifying the shadow just before ret instruction. We now explicitly check ASan.MaxInlinePoisoningSize , and if it's 0 then we disallow inlining. It is required for the instrumentation emitting code suitable for handling by ABI implementation. rdar://119513720 Co-authored-by:
Mariusz Borsa <m_borsa@apple.com>
-
Fangrui Song authored
-
Peiming Liu authored
-