[all-commits] [llvm/llvm-project] 6c56a8: [clang][CodeGen] Generate follow-up metadata for l...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Apr 1 13:56:13 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-support-for-maskedloads-compress-and-maskedinterleaved
Home: https://github.com/llvm/llvm-project
Commit: 6c56a842b73cf2046b9ab8cf077890e11b758373
https://github.com/llvm/llvm-project/commit/6c56a842b73cf2046b9ab8cf077890e11b758373
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
Log Message:
-----------
[clang][CodeGen] Generate follow-up metadata for loops in correct format (#131985)
When pragma of loop transformations is specified, follow-up metadata for
loops is generated after each transformation. On the LLVM side,
follow-up metadata is expected to be a list of properties, such as the
following:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
However, on the clang side, the generated metadata contains an MDNode
that has those properties, as shown below:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !loop_id}
!loop_id = distinct !{!loop_id, !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
According to the
[LangRef](https://llvm.org/docs/TransformMetadata.html#transformation-metadata-structure),
the LLVM side is correct. Due to this inconsistency, follow-up metadata
was not interpreted correctly, e.g., only one transformation is applied
when multiple pragmas are used.
This patch fixes clang side to emit followup metadata in correct format.
Commit: 1a140820ab6962a387eeec17ebe669c724822c49
https://github.com/llvm/llvm-project/commit/1a140820ab6962a387eeec17ebe669c724822c49
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Have GPRMem on the correct operand in QCIRVInstESStore (#133042)
It should be on rs1 and not rs2.
Commit: a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
https://github.com/llvm/llvm-project/commit/a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
Log Message:
-----------
[Clang] Correct the DeclRefExpr's Type after the initializer gets instantiated (#133212)
The instantiation of a VarDecl's initializer might be deferred until the
variable is actually used. However, we were still building the
DeclRefExpr with a type that could later be changed by the initializer's
instantiation, which is incorrect when incomplete arrays are involved.
Fixes #79750
Fixes #113936
Fixes #133047
Commit: 39e7efe1e4304544289d8d1b45f4d04d11b4a791
https://github.com/llvm/llvm-project/commit/39e7efe1e4304544289d8d1b45f4d04d11b4a791
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb] Respect LaunchInfo::SetExecutable in ProcessLauncherPosixFork (#133093)
Using argv[0] for this was incorrect. I'm ignoring LaunchInfo::SetArg0,
as that's what darwin and windows launchers do (they use the first
element of the args vector instead).
I picked up the funny unit test re-exec method from the llvm unit tests.
Commit: a6e56162c251db180f4618202c8088acba311ce8
https://github.com/llvm/llvm-project/commit/a6e56162c251db180f4618202c8088acba311ce8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Modify operand regclass in load store patterns (#133071)
$rs1 is defined as GPRMem in the correspoding instruction definition
classes.
Commit: 17aca79d98d92510d131c4766a040b02adf6c4b8
https://github.com/llvm/llvm-project/commit/17aca79d98d92510d131c4766a040b02adf6c4b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindTable.cpp
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
Log Message:
-----------
[lldb] Teach FuncUnwinders about discontinuous functions (#133072)
The main change here is that we're now able to correctly look up plans
for these functions. Previously, due to caching, we could end up with
one entry covering most of the address space (because part of the
function was at the beginning and one at the end). Now, we can correctly
recognise that the part in between does not belong to that function, and
we can create a different FuncUnwinders instance for it. It doesn't help
the discontinuous function much (its plan will still be garbled), but
we can at least properly unwind out of the simple functions in between.
Fixing the unwind plans for discontinuous functions requires handling
each unwind source specially, and this setup allows us to make the
transition incrementally.
Commit: ac09b789d8add7325fbf95d0feeb03a29de79b5c
https://github.com/llvm/llvm-project/commit/ac09b789d8add7325fbf95d0feeb03a29de79b5c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][scf] Remove redundant ensureTerminator for `scf.forall` (#133081)
The override function `ensureTerminator` ensures that the terminator
`InParallelOp` has a region. However, if the terminator of `scf.forall`
is not an `InParallelOp`, calling ensureTerminator causes a crash. Since
the InParallelOp builder already guarantees the existence of a region,
`ForallOp::ensureTerminator` is redundant and can be safely removed.
Fixes #130019.
Commit: 17d05695388128353662fbb80bbb7a13d172b41d
https://github.com/llvm/llvm-project/commit/17d05695388128353662fbb80bbb7a13d172b41d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__configuration/availability.h
M libcxx/include/__functional/hash.h
M libcxx/include/__string/char_traits.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Instantiate hash function externally (#127040)
This has multiple benefits:
- There is a single instance of our hash function, reducing object file
size
- The hash implementation isn't instantiated in every TU anymore,
reducing compile times
- Behind an ABI configuration macro it would be possible to salt the
hash
Commit: d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
https://github.com/llvm/llvm-project/commit/d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc.hip
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[Clang] Make `--lto-partitions` only default for HIP (#133164)
Summary:
The default behavior for LTO on other targets does not specify the
number of LTO partitions. Recent changes made this default to 8 on
AMDGPU which had some issues with the `libc` project. The option to
disable this is HIP only so I think for now we should restrict this just
to HIP.
I'm definitely on board with getting some more parallelism here, but I
think it should probably be restricted to just offloading languages. The
new driver goes through the `--target=amdgcn-amd-amdhsa` for its output,
which means we'd need to forward the default somehow.
Commit: 8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
https://github.com/llvm/llvm-project/commit/8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
Log Message:
-----------
[libc++] Refactor ranges::{min, max, min_element, max_element} to use std::__min_element (#132418)
Previously, ranges::min_element delegated to ranges::__min_element_impl, which
duplicated the definition of std::__min_element. This patch updates
ranges::min_element to directly call std::__min_element, which allows
removing the redundant code in ranges::__min_element_impl.
Upon removal of ranges::__min_element_impl, the other ranges algorithms
ranges::{min,max,max_element}, which previously delegated to ranges::__min_element_impl,
have been updated to call std::__min_element instead.
This refactoring unifies the implementation across these algorithms,
ensuring that future optimizations or maintenance work only need to be
applied in one place.
Commit: 27a437108be83b217d9b7b8360fc40d42ae4458b
https://github.com/llvm/llvm-project/commit/27a437108be83b217d9b7b8360fc40d42ae4458b
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
Log Message:
-----------
[InstCombine] Handle scalable splats of constants in getMinimumFPType (#132960)
We previously handled ConstantExpr scalable splats in
5d929794a87602cfd873381e11cc99149196bb49, but only fpexts.
ConstantExpr fpexts have since been removed, and simultaneously we
didn't handle splats of constants that weren't extended.
This updates it to remove the fpext check and instead see if we can
shrink the result of getSplatValue.
Note that the test case doesn't get completely folded away due to
#132922
Commit: b9666cf2034e103ef28280fae61f43fae7e28192
https://github.com/llvm/llvm-project/commit/b9666cf2034e103ef28280fae61f43fae7e28192
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Reverse the order of Base and Offset in Core-V RegReg operand. (#133209)
This puts the base before the offset to match the order we use for base
ISA where the offset is an immediate.
I'm investigating using sub-operands for the base ISA loads and stores
too so having a consistent operand order will allow more sharing.
Commit: 427ce92ea61c5ea96a60aa505aa7b1de56571fa3
https://github.com/llvm/llvm-project/commit/427ce92ea61c5ea96a60aa505aa7b1de56571fa3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__filesystem/operations.h
Log Message:
-----------
[libc++][NFC] Move dylib function in <__filesystem/operations.h> together
Most of the dylib functions inside `<__filesystem/operations.h>` are at
the top of the file. There are a few spread out in the file for some
reason, which this patch fixes.
Commit: bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
https://github.com/llvm/llvm-project/commit/bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `mbarrier.get` Op (#133221)
The `mbarrier.create` op can create multiple mbarrier objects, and other
mbarrier-related ops can access an mbarrier using a dynamic SSA value.
This is especially useful when using mbarriers in dynamic loops.
This PR adds the `mbarrier.get` op, which returns a pointer to a
specific mbarrier object from a group of barriers created by the
nvgpu.mbarrier.create operation. It is useful when composing the NVGPU
and NVVM dialects.
Example:
```
%mbars = nvgpu.mbarrier.create
-> !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>, num_barriers = 10>
%mbar_pointer = nvgpu.mbarrier.get %mbars[%c2]
: !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>>
-> i32
```
Commit: 38d9a445106cba09854d9d00050a20f6faa4dd0b
https://github.com/llvm/llvm-project/commit/38d9a445106cba09854d9d00050a20f6faa4dd0b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `tma.fence.descriptor` OP (#133218)
When the TMA descriptor is transferred from host memory to global memory
using cudaMemcpy, each thread block must insert a fence before any
thread accesses the updated tensor map in global memory. Once the tensor
map has been accessed, no additional fences are needed by that block
unless the map is modified again.
[Example from cuda programming
guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/#using-tma-to-transfer-multi-dimensional-arrays).
The `tma.fence.descriptor` basically implements
`ptx::fence_proxy_tensormap_generic`.
```
#include <cuda.h>
#include <cuda/ptx>
namespace ptx = cuda::ptx;
__device__ CUtensorMap global_tensor_map;
__global__ void kernel(CUtensorMap *tensor_map)
{
// Fence acquire tensor map:
ptx::n32_t<128> size_bytes;
// Since the tensor map was modified from the host using cudaMemcpy,
// the scope should be .sys.
ptx::fence_proxy_tensormap_generic(
ptx::sem_acquire, ptx::scope_sys, tensor_map, size_bytes
);
// Safe to use tensor_map after fence inside this thread..
}
int main() {
CUtensorMap local_tensor_map;
// [ ..Initialize map.. ]
cudaMemcpy(&global_tensor_map, &local_tensor_map, sizeof(CUtensorMap), cudaMemcpyHostToDevice);
kernel<<<1, 1>>>(global_tensor_map);
}
```
Commit: ba1d9019675d6a215626104f726d151c622619f5
https://github.com/llvm/llvm-project/commit/ba1d9019675d6a215626104f726d151c622619f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/frm-dependency.ll
Log Message:
-----------
[RISCV] Set mayRaiseFPException = 0 on FCVT_D_W(U). (#133200)
The input is an integer which can't be NAN so the NV(invalid) exception
can't be raised. The conversion is exact so it can't raise NX(inexact),
UF(underflow), or OF(overflow). The instructions are not divide so they
can't raise DZ(divide by zero).
Fixes #133192.
Commit: cde58bfc16d46417e55bb4d7614631ac84b72cc0
https://github.com/llvm/llvm-project/commit/cde58bfc16d46417e55bb4d7614631ac84b72cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
Log Message:
-----------
[Transforms] Use range constructors of *Set (NFC) (#133203)
Commit: 7cc17fb08597bc08ca37c90ed17981d884940e33
https://github.com/llvm/llvm-project/commit/7cc17fb08597bc08ca37c90ed17981d884940e33
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] Remove old range constructors of SmallSet and StringSet (#133205)
This patch removes the old range constructors of SmallSet and
StringSet that do not take the llvm::from_range tag. Since there are
so few uses, this patch directly removes them without going through
the deprecation process.
Commit: d32e71d7c732c37fd28241b85f501d7a192aa22c
https://github.com/llvm/llvm-project/commit/d32e71d7c732c37fd28241b85f501d7a192aa22c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move fmod, remainder & remquo to the CLC library (#132054)
These functions were already nominally in the CLC namespace; this commit
just formally moves them over.
Note that 'half' versions of these CLC functions are now provided.
Previously the corresponding OpenCL builtins would forward directly to
the 'float' versions of the CLC builtins. Now the OpenCL builtins call
the 'half' CLC builtins, which themselves call the 'float' CLC versions.
This keeps the interface between the OpenCL and CLC libraries neater and
keeps the CLC library self-contained.
No changes to the generated code for non-SPIR-V targets is observed.
Commit: b38c23b4c199221af9e043041f2e594ec1e3745b
https://github.com/llvm/llvm-project/commit/b38c23b4c199221af9e043041f2e594ec1e3745b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
Log Message:
-----------
[RISCV] Update two autogen tests to reduce spurious diffs [NFC]
Commit: 8742022ec74c54f1415707261ccc2054a3decd5f
https://github.com/llvm/llvm-project/commit/8742022ec74c54f1415707261ccc2054a3decd5f
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[RISCV] Canonicalize foldable branch conditions in optimizeCondBranch (#132988)
optimizeCondBranch isn't allowed to modify the CFG, but it can rewrite
the branch condition freely. However, If we could fold a conditional
branch to an unconditional one (aside from that restriction), we can
also rewrite it into some canonical conditional branch instead.
Looking at the diffs, the only cases this catches in tree tests are
cases where we could have constant folded during lowering from IR, but
didn't. This is inspired by trying to salvage code from
https://github.com/llvm/llvm-project/pull/131684 which might be useful.
Given the test impact, it's of questionable merits. The main advantage
over only the late cleanup pass is that it kills off the LIs for the
constants early - which can help e.g. register allocation.
Commit: a8575b3ea84fa308a63f8ced18453d2df58e75ef
https://github.com/llvm/llvm-project/commit/a8575b3ea84fa308a63f8ced18453d2df58e75ef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (#133130)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a
vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded
elts across all users and call SimplifyDemandedVectorElts in
"AssumeSingleUse" use.
Commit: 0ae6185b455876b98cf58888117e3043cb43d060
https://github.com/llvm/llvm-project/commit/0ae6185b455876b98cf58888117e3043cb43d060
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Manually update MIR inputs to reflect #79e82b6
Since we've changed what get's generated, we should update the snapshots
of MIR. Otherwise, we end up testing configurations which are no longer
possible from codegen.
Commit: 59d06071e9b509e874f24c465b13eb77cffa1d42
https://github.com/llvm/llvm-project/commit/59d06071e9b509e874f24c465b13eb77cffa1d42
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/new-prs-labeler.yml
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
Log Message:
-----------
[NFC][HLSL] Move emitter out of AMDGPU.cpp (#133251)
- Move all HLSL code out of AMDGPU.cpp to CGHLSLBuiltins.cpp
- Fixes accidental reorganization of HLSL code into AMDGPU caused by
(https://github.com/llvm/llvm-project/pull/132252,
https://github.com/llvm/llvm-project/commit/7f920e2e5f70b)
Commit: 64178316cf8b85525874b5a33e412f83d8542a5e
https://github.com/llvm/llvm-project/commit/64178316cf8b85525874b5a33e412f83d8542a5e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 59d06071e9b5
Commit: e5ec87f3b6816086563e39ac1f4c4f77064fba6d
https://github.com/llvm/llvm-project/commit/e5ec87f3b6816086563e39ac1f4c4f77064fba6d
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[asan] Print diagnostic if unlimited stack size detected (#133170)
This adds a diagnostic message if the stack size is unlimited. This would have simplified the diagnosis of https://github.com/google/sanitizers/issues/856#issuecomment-2747076811; we anticipate this may help diagnose future issues too.
Commit: 3a5d77608baf6dac9792f4d156196a7042e894ff
https://github.com/llvm/llvm-project/commit/3a5d77608baf6dac9792f4d156196a7042e894ff
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
Log Message:
-----------
[libc] Update headers on aarch64 (#133180)
The entrypoints for aarch64 are mostly up to date, but the headers are
not. This patch fixes that, and also makes explicit the dependency from
OSUtils/linux on sys/syscalls.h
Commit: f612d705252dbf16265649ae5155d51b4c569182
https://github.com/llvm/llvm-project/commit/f612d705252dbf16265649ae5155d51b4c569182
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
Log Message:
-----------
[HLSL] Add new int overloads for math builtins (#133162)
Add int overloads which cast the various ints to a float and call the
float builtin.
These overloads are conditional on hlsl version 202x or earlier.
Add tests and puts tests in own files, including some of the tests added
for double overloads.
Closes #128229
Commit: 82c078c54d16b20c65d5e361f5da58b0b83c8c47
https://github.com/llvm/llvm-project/commit/82c078c54d16b20c65d5e361f5da58b0b83c8c47
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/include/__configuration/compiler.h
Log Message:
-----------
[libc++] Remove official Clang 18 support. (#130142)
Since Clang 20 has been release we no longer support Clang 18 per our
policy.
Note the Clang 18 workarounds will be removed in a follow-up patch.
Commit: 85c54a519fa6856b3e9a462445633ed4535eafa4
https://github.com/llvm/llvm-project/commit/85c54a519fa6856b3e9a462445633ed4535eafa4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/UsersManual.rst
M clang/www/c_status.html
Log Message:
-----------
[Docs] Document freestanding requirements (#132232)
This adds some initial documentation about freestanding requirements for
Clang. The most critical part of the documentation is spelling out that
a conforming freestanding C Standard Library is required; Clang will not
be providing the headers for <string.h> in C23 which expose a number of
symbols in freestanding mode.
The docs also make it clear that in addition to a conforming
freestanding C standard library, the library must provide some
additional symbols which LLVM requires.
These docs are not comprehensive, this is just getting the bare bones in
place so that they can be expanded later.
This also updates the C status page to make it clear that we don't have
anything to do for WG14 N2524 which adds string interfaces to
freestanding mode.
Commit: 08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
https://github.com/llvm/llvm-project/commit/08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add test case for PR #133256
Commit: 00c43ae23524d72707701620da89ad248393a8e4
https://github.com/llvm/llvm-project/commit/00c43ae23524d72707701620da89ad248393a8e4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Implement WG14 N3369 and N3469 (_Countof) (#133125)
C2y adds the `_Countof` operator which returns the number of elements in
an array. As with `sizeof`, `_Countof` either accepts a parenthesized
type name or an expression. Its operand must be (of) an array type. When
passed a constant-size array operand, the operator is a constant
expression which is valid for use as an integer constant expression.
This is being exposed as an extension in earlier C language modes, but
not in C++. C++ already has `std::extent` and `std::size` to cover these
needs, so the operator doesn't seem to get the user enough benefit to
warrant carrying this as an extension.
Fixes #102836
Commit: ae54f476f7d856682976f08622ee70880318a1b1
https://github.com/llvm/llvm-project/commit/ae54f476f7d856682976f08622ee70880318a1b1
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
A clang/test/SemaCXX/concepts-subsumption.cpp
Log Message:
-----------
[Clang] Improve subsumption. (#132849)
The main goal of this patch is to improve the
performance of concept subsumption by
- Making sure literal (atomic) clauses are de-duplicated (Whether 2
atomic constraint is established during the initial normal form
production).
- Eagerly removing duplicated clauses.
This should minimize the risks of exponentially large formulas that can
be produced by a naive {C,D}NF transformation.
While at it, I restructured that part of the code to be a bit clearer.
Subsumption of fold expanded constraint is also cached.
---
Note that removing duplicated clauses seems to be necessary and
sufficient to have acceptable performance on anything that could be
construed as reasonable code.
Ultimately, the number of clauses is always going to be fairly small
(but $2^{fairly\ small}$ is quickly *fairly large*..).
I went too far in the rabbit hole of Tseitin transformations etc, which
was much faster but would then require to check satisfiabiliy to
establish subsumption between some constraints (although it was good
enough to pass all but ones of our tests...).
It doesn't help that the C++ standard has a very specific definition of
subsumption that is really more of an implication...
While that sort of musing is fascinating, it was ultimately a fool's
errand, at least until such time that there is more motivation for a SAT
solver in clang (clang-tidy can after all use z3!).
Here be dragons.
Fixes #122581
Commit: c6406c8dba33d4cf8495257f70f52a21d06245ea
https://github.com/llvm/llvm-project/commit/c6406c8dba33d4cf8495257f70f52a21d06245ea
Author: David Green <david.green at arm.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Add getVectorInstrCost Codesize costs handling. (#130946)
We have a lot of missing Codesize costs for vector operations. This
patch starts things off by adding codesize costs for getVectorInstrCost,
returning a single cost instead of the VectorInsertExtractBaseCost
(which is typically 2). Insert of a load are given a cost of 0 as they
use ld1, otherwise the cost is 1.
Commit: 08aedf7201e296af532575685372bb5ff7ed8b01
https://github.com/llvm/llvm-project/commit/08aedf7201e296af532575685372bb5ff7ed8b01
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/test/Dialect/LLVMIR/call-param.mlir
M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Lift alignstack attribute ptr type restriction (#133195)
Current usage of alignstack is restricted to LLVM pointer types, whereas
when it's used in parameters it's possible to use it for other types,
see examples like `{i8, i8}, [2 x float], etc` in `llvm/test/CodeGen`.
This PR lifts the restriction and add testcases.
Commit: aa207c3f054abb630be61cd60a11840a5c341c19
https://github.com/llvm/llvm-project/commit/aa207c3f054abb630be61cd60a11840a5c341c19
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
Log Message:
-----------
[RISCV] Update the latency of floating point load in SiFive P500 scheduling model (#133165)
P500-series cores should have a floating point load latency closer to 5
cycles, just like P400- and P600-series cores.
Commit: d584cea064003f0c4c96e31a657fab1b2259a5c5
https://github.com/llvm/llvm-project/commit/d584cea064003f0c4c96e31a657fab1b2259a5c5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use TypeSize instead of uint64_t in getMachineMemOperand interface (#133274)
The primary reason is that if you pass a TypeSize without explicitly
converting to LocationSize, you otherwise implicit convert to uint64_t
to call the respective LocationSize constructor. This means that any
scalable value becomes a runtime assertion failure.
By replacing uint64_t with TypeSize in this API, we avoid the implicit
conversion for TypeSize. uint64_t callers implicit convert to
LocationSize (via the raw constructor) which should have unchanged
behavior.
Commit: 4480f26e939304f5aa659b72fe16746dfe96601e
https://github.com/llvm/llvm-project/commit/4480f26e939304f5aa659b72fe16746dfe96601e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
Log Message:
-----------
Fix failing test case for _Countof
Test just needs an explicit triple that was missed.
Commit: fb993cd2290c0cf71a5192f350adf12424b55890
https://github.com/llvm/llvm-project/commit/fb993cd2290c0cf71a5192f350adf12424b55890
Author: Ariel-Burton <arielburton at yahoo.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/Sema/for.c
Log Message:
-----------
Add guard to for loop test clang/test/Sema/for.c (#133169)
Commit 20b7f5982622f includes a case that checks diagnostics for for
loops using thread locals.
This fails on platforms which do not support TLS.
This change adds guards to run this part of the test iff the feature is
supported.
Commit: 8ddbc01295af21b06503f5a376c5572f4ed589c9
https://github.com/llvm/llvm-project/commit/8ddbc01295af21b06503f5a376c5572f4ed589c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Manage FindLastIV start value in ComputeFindLastIVResult (NFC) (#132690)
Keep the start value as operand of ComputeFindLastIVResult. A follow-up
patch will use this to make sure the start value is frozen if needed.
Depends on https://github.com/llvm/llvm-project/pull/132689
PR: https://github.com/llvm/llvm-project/pull/132690
Commit: 1a7af2a90fb043b25cbba15ce941ebfdba0e6717
https://github.com/llvm/llvm-project/commit/1a7af2a90fb043b25cbba15ce941ebfdba0e6717
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][DataLayout] Add `IsolatedFromAbove` to `DataLayoutOpInterface` (#132742)
This patch adds the `IsolatedFromAbove` trait as a dependent trait to
the `DataLayoutOpInterface` op interface.
The motivation behind this change comes from the implementation of the
`ptr` dialect, specifically the `ptr.type_offset` op. This op produces
an int-like value that equates to the size of a memory element. This is
useful for ptr arithmetic and indexing arrays. For example:
```mlir
%f32_off = ptr.type_offset f32 : index
%addr = ptr.ptradd %ptr, %f32_off : !ptr, index
%x = ptr.load %addr : !ptr -> f32 // Read ptr[1]
```
Without the `IsolatedFromAvobe` trait in the DL interface, the
`ptr.type_offset` cannot be `ConstantLike`. Why?
Take the example:
```mlir
op {DL1} {
%f32_off0 = ptr.type_offset f32 : index
op {DL2} {
%f32_off1 = ptr.type_offset f32 : index
}
}
```
If `ptr.type_offset` were to be `ConstantLike` then `canonicalize` would
hoist and unique the value. However, that could be wrong as DL2 could
have an entry to specify the size that's different from the size in DL1.
The best solution to the above problem is to make
`DataLayoutOpInterface` require the `IsolatedFromAbove` trait, as it
preserves the constness of values in the DL with respect to the
canonicalizer.
Commit: c90a536bcff5d4decc330535b6b3de3aeb139811
https://github.com/llvm/llvm-project/commit/c90a536bcff5d4decc330535b6b3de3aeb139811
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] Simplify code using TypeSize overloads of getMachineMemOperand [nfc]
These were added in d584cea. This change runs through existing uses and
simplifies where obvious.
Commit: a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
https://github.com/llvm/llvm-project/commit/a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[Clang] Add 'Joseph Huber' as offloading driver maintainer (#133296)
Summary:
I am probably the person most familiar with the offloading pipeline in
clang at this point.
Commit: 8bdcd0a96e65557c8c3bf506d186c49002db6463
https://github.com/llvm/llvm-project/commit/8bdcd0a96e65557c8c3bf506d186c49002db6463
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
Log Message:
-----------
[LAA] Add missing test coverage for retrying with runtime checks.
Adds extra test coverage showing change by
https://github.com/llvm/llvm-project/pull/128045.
Commit: 5cb3052ccc5016beff2061a622caed9a4578ba92
https://github.com/llvm/llvm-project/commit/5cb3052ccc5016beff2061a622caed9a4578ba92
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to LLVM 20.1.1
This patch bumps the CI container to the latest LLVM Release and gets rid of
the patch that we were carrying that is in 20.1.1.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132567
Commit: 18172e461cfcc2d8331b95a68ba6b08350149f2b
https://github.com/llvm/llvm-project/commit/18172e461cfcc2d8331b95a68ba6b08350149f2b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to ubuntu 24.04
This helps keep things up to date, and should not cause any issues given we do
not need to care about binary compatibility for things built in the CI
container. This patch also changes the name of the container which allows
incrementally moving jobs over after this lands.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132568
Commit: 48864a52ef547ac0477271127b510dd9e9798219
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Revert "[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)" (#133299)
This reverts commit d7cea2b18717f0cc31b7da4a03f772d89ee201db. It causes
crashes in API tests.
Commit: 5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
https://github.com/llvm/llvm-project/commit/5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add assertion ensuring Plan's UF matches BestUF (NFC).
Commit: e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
https://github.com/llvm/llvm-project/commit/e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[Clang] Handle `-flto-partitions` generically and forward it properly (#133283)
Summary:
The https://github.com/llvm/llvm-project/pull/128509 patch introduced
`--flto-partitions`. This was marked as a HIP only argument, and was
also spelled and handled incorrectly for an `-f` option. This patch
makes the handling generic for `ld.lld` consumers.
This also fixes some issues with emitting the flags being put after the
default arguments, preventing users from overriding them. Also, forwards
things properly for the new driver so we can test this.
Commit: 02b45f4b811afa6f87b36605ae6f767a5dfa5025
https://github.com/llvm/llvm-project/commit/02b45f4b811afa6f87b36605ae6f767a5dfa5025
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU] Add a new function `getIntegerPairAttribute` (#133271)
The new function will return `std::nullopt` when any error occurs.
Commit: ee0009c4e63b299c6d310ed49c60f430947d8f56
https://github.com/llvm/llvm-project/commit/ee0009c4e63b299c6d310ed49c60f430947d8f56
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
Log Message:
-----------
[RISCV] Sort list of files. NFC.
Commit: 2fb53f59c17add00a00e98d92b15cefcfa00f346
https://github.com/llvm/llvm-project/commit/2fb53f59c17add00a00e98d92b15cefcfa00f346
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M llvm/CMakeLists.txt
Log Message:
-----------
[CI] Refactor generate_test_report script
This patch refactors the generate_test_report script, namely turning it
into a proper library, and pulling the script/unittests out into
separate files, as is standard with most python scripts. The main
purpose of this is to enable reusing the library for the new Github
premerge.
Reviewers: tstellar, DavidSpickett, Keenuts, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/133196
Commit: a1a5594ad2173be10e3e790fb1dce1a059d32e5b
https://github.com/llvm/llvm-project/commit/a1a5594ad2173be10e3e790fb1dce1a059d32e5b
Author: egebeysel <beyselege at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] add wide integer emulation support for subi (#133248)
Adds wide integer emulation support for the `arith.subi` op. `(i2N, i2N)
-> (i2N)` ops are emulated as `(vector<2xiN>, vector<2xiN>) ->
(vector<2xiN>)`, just as the other emulation patterns.
The emulation uses the following scheme:
```
resLow = lhsLow - rhsLow; // carry = 1 if rhsLow > lhsLow
resHigh = lhsLow - carry - rhsLow;
```
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: 7712de3062b979345fae0b9717796339a70c593b
https://github.com/llvm/llvm-project/commit/7712de3062b979345fae0b9717796339a70c593b
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[compiler-rt][tests][AIX] Use /opt/freeware/bin/env (#133160)
`env -u` is not supported by the system `env` utility on AIX.
`/opt/freeware/bin/env` is the standard path for the GNU coreutils `env`
utility as distributed by the AIX Toolbox for Open Source Software.
Adding `/opt/freeware/bin` to `PATH` causes issues by picking up other
utilities that are less capable, in an AIX context, than the system
ones.
This patch modifies the relevant usage of `env` to use (on AIX) the full
path to `/opt/freeware/bin/env`.
Commit: 8244f8210f2e62f68429a0daf104fd483ada45ab
https://github.com/llvm/llvm-project/commit/8244f8210f2e62f68429a0daf104fd483ada45ab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb] Emit progress events in SymbolFileDWARFDebugMap (#133211)
Emit progress events from SymbolFileDWARFDebugMap. Because we know the
number of OSOs, we can show determinate progress. This is based on a
patch from Adrian, and part of what prompted me to look into improving
how LLDB shows progress events. Before the statusline, all these
progress events would get shadowed and never displayed on the command
line.
Commit: 0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
https://github.com/llvm/llvm-project/commit/0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
Author: Matthew Bastien <matthew_bastien at apple.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
Log Message:
-----------
[lldb-dap] Allow providing debug adapter arguments in the extension (#129262)
Added a new setting called `lldb-dap.arguments` and a debug
configuration attribute called `debugAdapterArgs` that can be used to
set the arguments used to launch the debug adapter. Right now this is
mostly useful for debugging purposes to add the `--wait-for-debugger`
option to lldb-dap.
Additionally, the extension will now check for a changed lldb-dap
executable or arguments when launching a debug session in server mode. I
had to add a new `DebugConfigurationProvider` to do this because VSCode
will show an unhelpful error modal when the
`DebugAdapterDescriptorFactory` returns `undefined`.
In order to facilitate this, I had to add two new properties to the
launch configuration that are used by the
`DebugAdapterDescriptorFactory` to tell VS Code how to launch the debug
adapter:
- `debugAdapterHostname` - the hostname for an existing lldb-dap server
- `debugAdapterPort` - the port for an existing lldb-dap server
I've also removed the check for the `executable` argument in
`LLDBDapDescriptorFactory.createDebugAdapterDescriptor()`. This argument
is only set by VS Code when the debug adapter executable properties are
set in the `package.json`. The LLDB DAP extension does not currently do
this (and I don't think it ever will). So, this makes the debug adapter
descriptor factory a little easier to read.
The check for whether or not `lldb-dap` exists has been moved into the
new `DebugConfigurationProvider` as well. This way the extension won't
get in the user's way unless they actually try to start a debugging
session. The error will show up as a modal which will also make it more
obvious when something goes wrong, rather than popping up as a warning
at the bottom right of the screen.
Commit: 7c3ecffe9b23411463919742ad8399f6aa48af4b
https://github.com/llvm/llvm-project/commit/7c3ecffe9b23411463919742ad8399f6aa48af4b
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/mlir-runner/global-constructors.mlir
Log Message:
-----------
[MLIR][LLVMIR] Add support for the full form of global_{ctor,dtor} (#133176)
Currently only ctor/dtor list and their priorities are supported. This
PR adds support for the missing data field.
Few implementation notes:
- The assembly printer has a fixed form because previous `attr_dict`
will sort the dict by key name, making global_dtor and global_ctor
differ in the order of printed arguments.
- LLVM's `ptr null` is being converted to `#llvm.zero` otherwise we'd
have to create a region to use the default operation conversion from
`ptr null`, which is silly given that the field only support null or a
symbol.
Commit: 57e5b82e8cf4b892ce023c37c9f6053c15c582a5
https://github.com/llvm/llvm-project/commit/57e5b82e8cf4b892ce023c37c9f6053c15c582a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lld/MachO/SyntheticSections.cpp
M lld/test/MachO/icf-safe-thunks-dwarf.ll
Log Message:
-----------
[lld-macho] Fix STABS entries for `--icf=safe_thunks` and `--keep-icf-stabs` (#133179)
When using the linker flags `--icf=safe_thunks` and `--keep-icf-stabs`
together, an issue arises with the STABS debugging entries in the linked
output. The problem affects STABS entries for functions that are folded
via ICF using thunks.
For instance, if `func1` is merged into `func2` through a thunk, the
STABS entry for `func1` incorrectly points to the object file of
`func2`. This is incorrect behavior—each function’s STABS entry should
consistently point to its own original object file (e.g., the STABS
entry for `func1` should reference `func1`’s object file). This issue
causes `dsymutil` to not be able to retrieve the debug information for
the problematic function.
This patch corrects this behavior - making it so that STABS entries
always point to the correct object file.
Commit: 5c26e80e57eba912cc7eb47b1a33afa46c1526e5
https://github.com/llvm/llvm-project/commit/5c26e80e57eba912cc7eb47b1a33afa46c1526e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[LV] Make cost model tests independent of VPValue numbers.
Update tests to not rely on hard-coded VPValue numbers.
Commit: 2a96beca9b502776d5e2a3be2da3f886135b056e
https://github.com/llvm/llvm-project/commit/2a96beca9b502776d5e2a3be2da3f886135b056e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[SBProgress][CLI] Configure sbprogress events to be emitted for the CLI (#133309)
In the original SBProgress patch, #123837, I didn't ensure the debugger
was broadcasting these events to the CLI as SBProgress has far been
focused on DAP. We had an internal ask to have SBProgress events
broadcasted to the CLI so this patch addresses that.
<img width="387" alt="image"
src="https://github.com/user-attachments/assets/5eb93a46-1db6-4d46-a6b7-2b2f9bbe71db"
/>
Commit: 1d9d4651df9490360a883f4479a90de5bcab0a71
https://github.com/llvm/llvm-project/commit/1d9d4651df9490360a883f4479a90de5bcab0a71
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[MLIR][ROCDL] Enable AliasAnalysis for GlobalLoadLds and LDS_Read_Tr (#133255)
Enables AliasAnalysis for `GlobalLoadLds` and `LDS_Read_Tr`. All other
memory related ROCDL Ops have this already enabled.
Commit: f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
https://github.com/llvm/llvm-project/commit/f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
Fix RemoveDeadValues: Bail out early when there are no terminators (#133316)
Fixes: #131765
Commit: 10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
https://github.com/llvm/llvm-project/commit/10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove ParserMatchClass and DecoderMethod from an operand only used by pseudos. NFC
Commit: 52975d5c9fd524ab82dae16d8ef6890708c40fae
https://github.com/llvm/llvm-project/commit/52975d5c9fd524ab82dae16d8ef6890708c40fae
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/test/Dialect/SCF/uplift-while.mlir
Log Message:
-----------
[mlir][scf] Allow different forwarding ordering in uplift
- Allow 'before' arguments are forwarded in different order to 'after'
body when uplifting `scf.while` to `scf.for`.
Commit: 01e505b9922485514d4e1f9a26c390d0e7a71bf4
https://github.com/llvm/llvm-project/commit/01e505b9922485514d4e1f9a26c390d0e7a71bf4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy][misc-const-correctness] fix fp when using const array type. (#133018)
Fixed: #132931
const array is immutable in C/C++ language design, we don't need to
check constness for it.
Commit: d8e44a9ab2901eee7cd0440b62722eb01cac94d7
https://github.com/llvm/llvm-project/commit/d8e44a9ab2901eee7cd0440b62722eb01cac94d7
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/branch_zero.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add late optimization pass for riscv (#133256)
This patch is an alternative to PRs #117060, #131684, #131728.
The patch adds a late optimization pass that replaces conditional
branches that can be statically evaluated with an unconditinal branch.
Adding Michael as a co-author as most of the code that evaluates the
condition comes from #131684.
Co-authored-by: Michael Maitland michaeltmaitland at gmail.com
Commit: 50ea777e40dd0732fe08457d6326db538f0369b0
https://github.com/llvm/llvm-project/commit/50ea777e40dd0732fe08457d6326db538f0369b0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Other/time-passes.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[opt][timers] Fix time-passes.ll test failing on reversed iterators (#131941)
After https://github.com/llvm/llvm-project/pull/131217 was submitted,
time-passes.ll fails because `opt` prints `-time-report` when
`ManagedTimerGlobals` is destroyed. `ManagedTimerGlobals` stores
`TimerGroup`s in an unordered map, so the ordering of the output
`TimerGroup`s depends on the underlying iterator.
To fix this, we do what Clang does and use
`llvm::TimerGroup::printAll(...)`, which *is* deterministic. This is
also what Clang does. This does put move analysis section before the
pass section for `-time-report`, but again, this is also what Clang
currently does.
Commit: 5b7fd708fe792331baeade8b8d736c1d5310e0ee
https://github.com/llvm/llvm-project/commit/5b7fd708fe792331baeade8b8d736c1d5310e0ee
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses" (#133331)
Reverts llvm/llvm-project#133130
This touches a common file as #133083, which is causing failures
Commit: c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
https://github.com/llvm/llvm-project/commit/c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
Log Message:
-----------
[lldb] Improve default statusline colors to work with more color schemes (#133315)
Use the reverse video [1] font effect (`${ansi.negative}`) as the
default for the statusline. Inverting the foreground and background
color has a better change as looking reasonably good, compared to
picking an arbitrary color.
[1] https://en.wikipedia.org/wiki/Reverse_video
Commit: c676eb770a2608d9ace02a59d6d40844bce35de7
https://github.com/llvm/llvm-project/commit/c676eb770a2608d9ace02a59d6d40844bce35de7
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[PreISelIntrinsicLowering][test] Add coverage for @llvm.experimental.memset.pattern with ptr pattern argument
These tests all show the desired output because after #132026, the
intrinsic can take any sized type as an argument. The tests were adapted
from those I proposed adding in #129220.
Commit: a285be320aadad51c431eed87cc2540951b3e4da
https://github.com/llvm/llvm-project/commit/a285be320aadad51c431eed87cc2540951b3e4da
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[WebKit Checkers] Recognize Objective-C and CF pointer conversion functions. (#132784)
Recognize dynamic_objc_cast, checked_objc_cast, dynamic_cf_cast, and
checked_cf_cast.
Commit: a42342265f005bca6d4a22d464fa0e357104c7f6
https://github.com/llvm/llvm-project/commit/a42342265f005bca6d4a22d464fa0e357104c7f6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port d8e44a9ab290
Commit: a10a9134023539ee6ab3d166518487f40e368334
https://github.com/llvm/llvm-project/commit/a10a9134023539ee6ab3d166518487f40e368334
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Add missing apt-get update to abi tests (#133264)
Commit: 864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
https://github.com/llvm/llvm-project/commit/864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Trim traling blank in VOP3Instructions.td. NFC. (#133330)
Commit: e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
https://github.com/llvm/llvm-project/commit/e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Revert "Fix gcc signed/unsigned comparison warning. NFC." (#133334)
This reverts commit 6c2171672f03356835c534a0ec18250233ea66db. It touches
a common file as #133083, which is causing failures
Commit: 5e1fba4243eea8f0166de20217416a12e26b45be
https://github.com/llvm/llvm-project/commit/5e1fba4243eea8f0166de20217416a12e26b45be
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
Revert "[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast)" (#133340)
Reverts llvm/llvm-project#133083
This causes BuildBot failures, and causes time outs in some of our internal tests (3 min => over 5 min).
Commit: fc33aa9684243dcce84b81f11c004061350b945a
https://github.com/llvm/llvm-project/commit/fc33aa9684243dcce84b81f11c004061350b945a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
Log Message:
-----------
[llvm][cmake] Quote CMAKE_CXX_COMPILER_ID in string comparison (#133332)
We're seeing following configuration error when building the `runtimes`
target on our buildbots:
```
CMake Error at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/CheckProblematicConfigurations.cmake:14 (if):
if given arguments:
"STREQUAL" "MSVC"
Unknown arguments specified
Call Stack (most recent call first):
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:10 (include)
CMakeLists.txt:175 (include)
```
If I understand correctly this happens because ${CMAKE_CXX_COMPILER_ID}
is empty. Quoting it should make the comparison work for those cases.
Commit: 2e3c31779018b9bea6abe262510b0bada148c1a5
https://github.com/llvm/llvm-project/commit/2e3c31779018b9bea6abe262510b0bada148c1a5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Fix the assertion failure in Analysis/Checkers/WebKit/forward-decl-checker.mm after https://github.com/llvm/llvm-project/pull/132784. (#133341)
Commit: 9cd88847b57a43c1f862e54abce445a2f2f8f46f
https://github.com/llvm/llvm-project/commit/9cd88847b57a43c1f862e54abce445a2f2f8f46f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Remove unused MCOperandPredicate from simm12_lsb00000. NFC
I don't think the use of isBareSymbolRef() was correct since we
don't have any relocations associated with this instruction type.
Commit: d18faf646082b75634e0a2f616feba34fe29a378
https://github.com/llvm/llvm-project/commit/d18faf646082b75634e0a2f616feba34fe29a378
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
Log Message:
-----------
[MLIR] NFC: Remove unused includes (#133327)
Commit: aa3149d204ed019c53eedd1bb00a315c0db41270
https://github.com/llvm/llvm-project/commit/aa3149d204ed019c53eedd1bb00a315c0db41270
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r (#133339)
Commit: f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
https://github.com/llvm/llvm-project/commit/f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Const correct reference argument to isElementRotate. NFC
Commit: d7c53a91c2c11439429bbd50bb1d0a202c553a47
https://github.com/llvm/llvm-project/commit/d7c53a91c2c11439429bbd50bb1d0a202c553a47
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/TableGen/EnumInfo.h
M mlir/lib/TableGen/EnumInfo.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/IR/attribute.mlir
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/mlir-tblgen/enums-gen.td
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148)
This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.
The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.
In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator<<, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.
Commit: 75ca080daba6585d0a6522187aab4bc781ba4103
https://github.com/llvm/llvm-project/commit/75ca080daba6585d0a6522187aab4bc781ba4103
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-valid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
M llvm/test/MC/RISCV/rv64xqccmp-valid.s
Log Message:
-----------
[RISCV][Xqccmp] Correctly Parse/Disassemble pushfp (#133188)
In the `qc.cm.pushfp` instruction, it is like `cm.pushfp` except in one
important way - `qc.cm.pushfp {ra}, -N*16` is not a valid encoding,
because this would update `s0`/`fp`/`x8` without saving it.
This change now correctly rejects this variant of the instruction, both
during parsing and during disassembly. I also implemented validation for
immediates that represent register lists (both kinds), which may help to
catch bugs in the future.
Commit: cd6e959102888279dc7e75a41ebd75a08ac3f7a5
https://github.com/llvm/llvm-project/commit/cd6e959102888279dc7e75a41ebd75a08ac3f7a5
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
Revert "[MC] Explicitly mark MCSymbol for MO_ExternalSymbol" (#133291)
Reverts llvm/llvm-project#108880 .
The patch has no regression test, no description of why the fix is
necessary, and the code is modifying MC datastructures in a way that's
forbidden in the AsmPrinter.
Fixes #132055.
Commit: 3a3732c2527056342051068c3dbaef4e822bd0a6
https://github.com/llvm/llvm-project/commit/3a3732c2527056342051068c3dbaef4e822bd0a6
Author: egebeysel <beysel at roofline.ai>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
Log Message:
-----------
[mlir][arith] wide integer emulation support for fpto*i ops (#132375)
Adding wide integer emulation support for `arith.fpto*i` operations. As
the other emulated operations, the upper and lower `N` bits of the `i2N`
integer result are emitted separately.
For the unsigned case we use the following emulation
```c
// example is 64 -> 32 bit emulation, but the implementation is generalized to any 2N -> N case
const double TWO_POW_N = (uint_64_t(1) << N); // 2^N, N is the bitwidth of the widest int supported
// f is a floating-point value representing the input of the fptoui op.
uint32_t hi = (uint32_t)(f / TWO_POW_N); // Truncates the division result
uint32_t lo = (uint32_t)(f - hi * TWO_POW_N); // Subtracts to get the lower bits.
```
For the signed case, we defer the emulation of the absolute value to
`fptoui` and handle the sign:
```
fptosi(fp) = sign(fp) * fptoui(abs(fp))
```
The edge cases of `NaNs, +-inf` and overflows/underflows are undefined
behaviour and the resulting numbers are the combination of the lower
bitwidth UB values. These operations also propagate poison values.
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: d443cd62d289d972c0245488920acba2b14f7cf9
https://github.com/llvm/llvm-project/commit/d443cd62d289d972c0245488920acba2b14f7cf9
Author: Hank Chang <hank.chang at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Move early exit checks outside "instrumentFunction()" to avoid… (#133285)
… unnecessary FunctionSanitizer construction (NFC)
This patch moves several early-exit checks (e.g., empty function, etc.)
out of `AddressSanitizer::instrumentFunction` and into the caller. This
change avoids unnecessary construction of FunctionSanitizer when
instrumentation is not needed.
Commit: 89cfeeb062577069d1da236d33810bb0416f1102
https://github.com/llvm/llvm-project/commit/89cfeeb062577069d1da236d33810bb0416f1102
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
Log Message:
-----------
[clang] fix structural comparison for dependent class member pointer (#133343)
Fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/130537 and reported here
https://github.com/llvm/llvm-project/issues/133144
This fixes a crash in ASTStructuralEquivalence where the non-null
precondition for IsStructurallyEquivalent would be violated, when
comparing member pointers with a dependent class.
This also drive-by fixes the ast node traverser for member pointers so
it doesn't traverse into the qualifier in case it's not a type, or the
class declaration in case it would be equivalent to what the qualifier
refers.
This avoids printing of `<<<NULL>>>` on the text node dumper, which is
redundant.
No release notes since the regression was never released.
Fixes https://github.com/llvm/llvm-project/issues/133144
Commit: ebe1ece4bbfdcd29dd2b578f466998970f28a333
https://github.com/llvm/llvm-project/commit/ebe1ece4bbfdcd29dd2b578f466998970f28a333
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Support sub-operands in CompressInstEmitter.cpp. (#133039)
I'm looking into using sub-operands for memory operands. This would use
MIOperandInfo to create a single operand that contains a register and
immediate as sub-operands. We can treat this as a single operand for
parsing and matching in the assembler. I believe this will provide some
simplifications like removing the InstAliases we need to support "(rs1)"
without an immediate.
Doing this requires making CompressInstEmitter aware of sub-operands.
I've chosen to use a flat list of operands in the CompressPats so each
sub-operand is represented individually.
Commit: a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
https://github.com/llvm/llvm-project/commit/a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Add nullptr checks in SparseElementsAttr parser (#133222)
This PR adds nullptr checks in the SparseElementsAttr parser to improve
robustness and prevent crashes. Fixes #132891.
Commit: d131b78e060c709d41ba55572a5639f8e9f7ecc0
https://github.com/llvm/llvm-project/commit/d131b78e060c709d41ba55572a5639f8e9f7ecc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr133217.ll
Log Message:
-----------
[RISCV] Disable i1 fixed vectors with more than 1024 elements. (#133267)
v2048i1 is an MVT, but v2048i8 is not so we don't support i8 vectors
with more than 1024 elements. Lowering a v2048i1 shufflevector would
requires promoting to v2048i8. Since v2048i8 isn't legal and isn't an
MVT this leads to a crash.
To fix the crash, this patch makes v2048i1 an illegal type.
Commit: 725a7b664b92cd2e884806de5a08900b43d43cce
https://github.com/llvm/llvm-project/commit/725a7b664b92cd2e884806de5a08900b43d43cce
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Pre-commit test for #133225
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133224
Commit: 14c36db16fc090ef494ff6d8207562c414b40e30
https://github.com/llvm/llvm-project/commit/14c36db16fc090ef494ff6d8207562c414b40e30
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
Log Message:
-----------
[ORC] Generalize GetDylibInterface to support MachO Universal Binaries.
Also adds a testcase for dylib handling in llvm-jitlink`s -weak-lx and
-weak_library options.
Commit: f359c0bde52a06d841910aff0a61041c9b573763
https://github.com/llvm/llvm-project/commit/f359c0bde52a06d841910aff0a61041c9b573763
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] Trim trailing spaces in wide int emulation tests. NFC. (#133349)
Followup cleanup after https://github.com/llvm/llvm-project/pull/132375
and https://github.com/llvm/llvm-project/pull/133248
Commit: 52d7f14a895eb8669d72cd02754e5586de3e61d8
https://github.com/llvm/llvm-project/commit/52d7f14a895eb8669d72cd02754e5586de3e61d8
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Revert "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358)
Reverts llvm/llvm-project#133339
Commit: c8b69c90760072b2813a3465d70817470f63cd4a
https://github.com/llvm/llvm-project/commit/c8b69c90760072b2813a3465d70817470f63cd4a
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[NFC][SampleFDO] Clean the unneeded field and the related loop (#132376)
Clean the unneeded field 'TotalCollectedSamples' and the unnecessary
loop.
The field seems introduced in:https://reviews.llvm.org/D31952, and its
uses were removed in: https://reviews.llvm.org/D19287, but this field
and unnecessary calculation were not cleaned up.
This patch will remove these unneeded codes.
Commit: a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
https://github.com/llvm/llvm-project/commit/a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir] Use a range constructor of DenseSet (NFC) (#133355)
Commit: cb80b26e3731e7b10ff516d66761a3cfbc55bd20
https://github.com/llvm/llvm-project/commit/cb80b26e3731e7b10ff516d66761a3cfbc55bd20
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Log Message:
-----------
[clang] Use *Set::insert_range (NFC) (#133357)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: d055e58334a91dcbaee22eb87bcdae85a1f33cd4
https://github.com/llvm/llvm-project/commit/d055e58334a91dcbaee22eb87bcdae85a1f33cd4
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/LoongArch/lasx/invalid-imm.s
M llvm/test/MC/LoongArch/lsx/invalid-imm.s
Log Message:
-----------
[LoongArch][MC] Add relocation support for fld fst [x]vld [x]vst
This also fixes errors when using Clang with step-by-step compilation.
Because the optimization will pass relocation information to memory
access instructions. For example:
t.c:
```
float f = 0.1;
float foo() { return f;}
```
```
clang --target=loongarch64 -O2 -c t.c --save-temps
```
Reviewed By: tangaac, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133225
Commit: c9197b27b484713c312c16cad12f9b518c1323c5
https://github.com/llvm/llvm-project/commit/c9197b27b484713c312c16cad12f9b518c1323c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
Log Message:
-----------
[AMDGPU] Use MapVector instead of DenseMap (NFC) (#133356)
This patch combines:
DenseMap<MachineBasicBlock *, bool> ReachableMap;
SmallVector<MachineBasicBlock *, 4> ReachableOrdered;
into:
MapVector<MachineBasicBlock *, bool> ReachableMap;
because we add elements to the two data structures in lockstep, and we
care about preserving the insertion order.
As a side benefit, we get to avoid hash lookups at:
ReachableMap[MBB] = true;
Commit: 673f4705a827aba52b991d446a90a1c0ca5641a5
https://github.com/llvm/llvm-project/commit/673f4705a827aba52b991d446a90a1c0ca5641a5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#133353)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E.first);
down to:
Set.insert_range(llvm::make_first_range(Range));
In some cases, we can further fold that into the set declaration.
Commit: 81c6ce3b33ff462a23744c82f493e1e1ea3844de
https://github.com/llvm/llvm-project/commit/81c6ce3b33ff462a23744c82f493e1e1ea3844de
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Simplify VOP3_CVT_PK_F8_F32_Profile. NFC. (#133328)
Commit: 0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
https://github.com/llvm/llvm-project/commit/0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/test/MC/PowerPC/ppc64-fixups.s
Log Message:
-----------
PPCAsmParser: Detect multiple specifiers
In addition, simplify extractSpecifier and switch to the `Specifier`
naming convention.
Commit: 96e5ee23a76136851a52f48c780249e2a86a5ce9
https://github.com/llvm/llvm-project/commit/96e5ee23a76136851a52f48c780249e2a86a5ce9
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/lite-mode.s
Log Message:
-----------
[BOLT][AArch64] Add partial support for lite mode (#133014)
In lite mode, we only emit code for a subset of functions while
preserving the original code in .bolt.org.text. This requires updating
code references in non-emitted functions to ensure that:
* Non-optimized versions of the optimized code never execute.
* Function pointer comparison semantics is preserved.
On x86-64, we can update code references in-place using "pending
relocations" added in scanExternalRefs(). However, on AArch64, this is
not always possible due to address range limitations and linker address
"relaxation".
There are two types of code-to-code references: control transfer (e.g.,
calls and branches) and function pointer materialization.
AArch64-specific control transfer instructions are covered by #116964.
For function pointer materialization, simply changing the immediate
field of an instruction is not always sufficient. In some cases, we need
to modify a pair of instructions, such as undoing linker relaxation and
converting NOP+ADR into ADRP+ADD sequence.
To achieve this, we use the instruction patch mechanism instead of
pending relocations. Instruction patches are emitted via the regular MC
layer, just like regular functions. However, they have a fixed address
and do not have an associated symbol table entry. This allows us to make
more complex changes to the code, ensuring that function pointers are
correctly updated. Such mechanism should also be portable to RISC-V and
other architectures.
To summarize, for AArch64, we extend the scanExternalRefs() process to
undo linker relaxation and use instruction patches to partially
overwrite unoptimized code.
Commit: 4485e25dd2a57be1ee504b4dd863a1e140f5084c
https://github.com/llvm/llvm-project/commit/4485e25dd2a57be1ee504b4dd863a1e140f5084c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
[compiler-rt][nfc] DenseMap needs placement new (#133329)
Commit: 68571f91515b8467723322ece8da3ea2d00c7596
https://github.com/llvm/llvm-project/commit/68571f91515b8467723322ece8da3ea2d00c7596
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
Revert "[compiler-rt][nfc] DenseMap needs placement new (#133329)"
This reverts commit 4485e25dd2a57be1ee504b4dd863a1e140f5084c.
Buildbot failures, e.g. https://lab.llvm.org/buildbot/#/builders/66/builds/11827
Commit: bed2bdf17b68b33dd1519a836ec2b77da8746053
https://github.com/llvm/llvm-project/commit/bed2bdf17b68b33dd1519a836ec2b77da8746053
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[NFCI] Change compiler_rt_Test_runtime to lowercase (#133362)
Commit: 0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
https://github.com/llvm/llvm-project/commit/0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
Log Message:
-----------
llvm-reduce: Avoid removing convergent with convergence tokens (#132946)
Check if the intrinsics are declared in the module as an overly
conservative fix.
Fixes #132695
Commit: 7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
https://github.com/llvm/llvm-project/commit/7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
Log Message:
-----------
MIPS: Implement isAsCheapAsAMove for addiu (#133273)
Set `addiu` as `isAsCheapAsAMove` only when the src register or imm is
zero only.
If other cases are set `isAsCheapAsAMove`, MachineLICM will reject to
hoist it.
Commit: a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
https://github.com/llvm/llvm-project/commit/a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove duplicate check in SelectAddrRegImmLsb00000. NFC (#133372)
Commit: 5b36835df010c5813808d34e45428c624fb52ff1
https://github.com/llvm/llvm-project/commit/5b36835df010c5813808d34e45428c624fb52ff1
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/m64-option.f90
Log Message:
-----------
[flang] Expose -m64 option (#132409)
Exposes `-m64` option for Flang.
These options can be used to build libraries or tools (e.g. OpenBlas).
Commit: e3f1c464f7283e79f566b33b87258ee55f77e139
https://github.com/llvm/llvm-project/commit/e3f1c464f7283e79f566b33b87258ee55f77e139
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/aarch64-feature-pac.s
Log Message:
-----------
[PAC][lld] Support `-z nopac-plt` flag (#132973)
Support `-z nopac-plt` so it's possible to cancel previous `-z pac-plt`.
Commit: 68f71aae3b4222afcd53cf0f84110032d1d34ec6
https://github.com/llvm/llvm-project/commit/68f71aae3b4222afcd53cf0f84110032d1d34ec6
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.sincos intrinsics (#133311)
https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 29cb00331f19dd2a93524fbd9f5367cb0d25fc72
https://github.com/llvm/llvm-project/commit/29cb00331f19dd2a93524fbd9f5367cb0d25fc72
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.experimental.constrained.uitofp intrinsics (#133300)
https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-uitofp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: f5f4da6db6904a88d23d4bacd01330a205683343
https://github.com/llvm/llvm-project/commit/f5f4da6db6904a88d23d4bacd01330a205683343
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[RISCV] Don't vectorize for loops with small trip count (#132176)
Inspired by https://reviews.llvm.org/D130755.
I don't know the logic behind the value 5, it is copied from AArch64.
For some tests, I have to change the trip count so that we don't
break what they are testing.
Commit: 0a74cbfac462dfbf446e1f560e987619f93194ac
https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Pass -fapprox-func when compiling 'native' builtins (#133119)
The libclc build system isn't well set up to pass arbitrary options to
arbitrary source files in a non-intrusive way. There isn't currently any
other motivating example to warrant rewriting the build system just to
satisfy this requirement. So this commit uses a filename-based approach
to inserting this option into the list of compile flags.
Commit: b52977b868b02625ade1f14bfbe835e299b26f0e
https://github.com/llvm/llvm-project/commit/b52977b868b02625ade1f14bfbe835e299b26f0e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move pow, powr & pown to the CLC library (#133294)
These functions were already nominally in the CLC library.
Similar to others, these builtins are now vectorized and are not broken
down into scalar types.
Commit: 883612859bd255fc964c121ea6d3b1a9fb37fc65
https://github.com/llvm/llvm-project/commit/883612859bd255fc964c121ea6d3b1a9fb37fc65
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/instances.td
Log Message:
-----------
[TableGen] Add `!instances` operator to get defined records (#129680)
The format is: `!instances<T>([regex])`.
This operator produces a list of records whose type is `T`. If
`regex` is provided, only records whose name matches the regular
expression `regex` will be included. The format of `regex` is ERE
(Extended POSIX Regular Expressions).
Commit: 7b75db5755e63ddefa35101cf6a1179de560d312
https://github.com/llvm/llvm-project/commit/7b75db5755e63ddefa35101cf6a1179de560d312
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Add new VPIRPhi overlay for VPIRInsts wrapping phi nodes (NFC). (#129387)
Add a new VPIRPhi subclass of VPIRInstruction, that purely serves as an
overlay, to provide more convenient checking (via directly doing
isa/dyn_cast/cast) and specialied execute/print implementations.
Both VPIRInstruction and VPIRPhi share the same VPDefID, and are
differentiated by the backing IR instruction.
This pattern could alos be used to provide more specialized interfaces
for some VPInstructions ocpodes, without introducing new, completely
spearate recipes. An example would be modeling VPWidenPHIRecipe &
VPScalarPHIRecip using VPInstructions opcodes and providing an interface
to retrieve incoming blocks and values through a VPInstruction subclass
similar to VPIRPhi.
PR: https://github.com/llvm/llvm-project/pull/129387
Commit: 1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
https://github.com/llvm/llvm-project/commit/1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Reland [MIPS] Define SubTargetFeature for i6500 cpu (#132907) (#133366)
Relands #132907 with a fix in the testcase:
clang/test/CodeGen/Mips/subtarget-feature-test.c
enable this test for only mips64 target
PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:
+i6500' is not a recognized feature for this target (ignoring feature)
This PR fixes above issue by defining separate SubTargetFeature for
i6500.
Commit: 71f43a7c42a37d18be98b0885d62ef76e658f242
https://github.com/llvm/llvm-project/commit/71f43a7c42a37d18be98b0885d62ef76e658f242
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133378)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
https://github.com/llvm/llvm-project/commit/50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/test/Analysis/taint-generic.cpp
Log Message:
-----------
[analyzer] Fix format attribute handling in GenericTaintChecker (#132765)
Previously `optin.taint.GenericTaint` misinterpreted the parameter
indices and produced false positives in situations when a [format
attribute](https://clang.llvm.org/docs/AttributeReference.html#format)
is applied on a non-static method. This commit fixes this bug
Commit: c13c04fdfe9b312160310eeeee785867627ffe2f
https://github.com/llvm/llvm-project/commit/c13c04fdfe9b312160310eeeee785867627ffe2f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
Log Message:
-----------
[libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079)
Commit: b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
https://github.com/llvm/llvm-project/commit/b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Adjust skips on reverse continue tests (#133240)
The x86-specific issue has been fixed with #132122. Watchpoint tests
fail on aarch64 with macos<15.0 due to a kernel bug.
Commit: 21a8c63cdc36abbf38b4402c9eb34a26598b8476
https://github.com/llvm/llvm-project/commit/21a8c63cdc36abbf38b4402c9eb34a26598b8476
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
A offload/test/offloading/fortran/target-teams-dist-nest-par.f90
Log Message:
-----------
[offload] Remove bad assert in StaticLoopChunker::Distribute (#132705)
When building with asserts enabled, this can actually cause strange
miscompilations because an incorrect llvm.assume is generated at the
point of the assertion.
Commit: 0d64f5adbaea173380668bc4280bb816bdb3a0de
https://github.com/llvm/llvm-project/commit/0d64f5adbaea173380668bc4280bb816bdb3a0de
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[NFC] Fix a typo in StdLibraryFunctionsChecker.cpp comments (#133375)
Commit: f7a034d400860501a26e3429e1c6a9f310f07f76
https://github.com/llvm/llvm-project/commit/f7a034d400860501a26e3429e1c6a9f310f07f76
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
Log Message:
-----------
[AMDGPU] (x or y) xor -1 -> x nor y (#130264)
Added pattern so s_nor is selected for ((i1 x or i1 y) xor -1) instead
of s_or and s_xor . This patch is for i1 divergent. The ballot in the
test is added for the retrieval of lanemask. The control flow is needed
because the combiner can't pass through phi instructions.
Commit: 319045d8c42dc855eacdb4bd1d71b6ac3fca3257
https://github.com/llvm/llvm-project/commit/319045d8c42dc855eacdb4bd1d71b6ac3fca3257
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
Log Message:
-----------
[analyzer] Add metrics tracking time spent in Z3 solver (#133236)
These metrics would turn out to be useful for verifying an upgrade of Z3.
Commit: 7d869045e068be152f4435d73733eb2276a6fc08
https://github.com/llvm/llvm-project/commit/7d869045e068be152f4435d73733eb2276a6fc08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Hoist some constant stuff out of the loop in AMDGPUAsmParser.cpp. NFC. (#133398)
Commit: 8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
https://github.com/llvm/llvm-project/commit/8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
Author: Paul Schwabauer <pschwabauer at intevation.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/ComplexExplicitSpecifier.cpp
Log Message:
-----------
[PATCH] [clang][frontend] Fix serialization for CXXConstructorDecl (refs llvm#132794) (#133077)
When retrieving the ExplicitSpecifier from a CXXConstructorDecl, one of
its canonical declarations is returned. To correctly write the
declaration record the ExplicitSpecifier of the current declaration must
be used.
Failing to do so results in a crash during deserialization.
Commit: af150272cff97c121ed4fdb76fce702fbe2f12a3
https://github.com/llvm/llvm-project/commit/af150272cff97c121ed4fdb76fce702fbe2f12a3
Author: Weaver <Tom.Weaver at sony.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
Revert "MIPS: Set EnableLoopTermFold (#133378)"
This reverts commit 71f43a7c42a37d18be98b0885d62ef76e658f242.
Caused build bot failures:
https://lab.llvm.org/buildbot/#/builders/190/builds/17267
https://lab.llvm.org/buildbot/#/builders/144/builds/21445
https://lab.llvm.org/buildbot/#/builders/46/builds/14343
please consider fixing the test failure in long-array-initialize.ll before
recommitting.
Commit: b009c5af71a8676f1e6b4332f867957454635b2f
https://github.com/llvm/llvm-project/commit/b009c5af71a8676f1e6b4332f867957454635b2f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
Log Message:
-----------
[SPIR-V] Mark XFAIL the test case that fails with LLVM_ENABLE_EXPENSIVE_CHECKS enabled (#133142)
After https://github.com/llvm/llvm-project/pull/130605
structurizer/cf.switch.ifstmt.simple2.ll test case starts failing with
the "PHI operand is not live-out from predecessor" diagnostic message.
This test case didn't include usual "-verify-machineinstrs" argument and
the fail was missed before
https://github.com/llvm/llvm-project/pull/130605 merging.
The problem looks not blocking, because the test case successfully
passes its CHECK's. This PR is to fix the build process by mark the test
case as XFAIL when LLVM_ENABLE_EXPENSIVE_CHECKS is enabled.
Investigation of the Machine Verifier complaint is to do. The issue is
created: https://github.com/llvm/llvm-project/issues/133141
Commit: 45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
https://github.com/llvm/llvm-project/commit/45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
Log Message:
-----------
[X86] Add test coverage for the concatable sources vpermv3 -> vpermv fold for non-constant shuffle masks (#133415)
Test both forward/reverse concat cases
Commit: 7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
https://github.com/llvm/llvm-project/commit/7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
Log Message:
-----------
[SPIR-V] Add llvm.loop.unroll metadata lowering (#132062)
.enable lowers to Unroll LoopControl
.disable lowers to DontUnroll LoopControl
.count lowers to PartialCount LoopControl
.full lowers to Unroll LoopControl
TODO in future patches: enable structurizer for non-vulkan targets.
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: f76254d9b2a68e0021d93e682744e4240a2368b9
https://github.com/llvm/llvm-project/commit/f76254d9b2a68e0021d93e682744e4240a2368b9
Author: Jesse D <jesse.a.deguire at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc] Fix implicit conversion error in DyadicFloat::as_mantissa_type(). (#133383)
This is the same fix that was recently applied to
as_mantissa_type_rounded(), but for as_mantissa_type().
Commit: 4cdcf3b19302d8f337b5607d6b9df170f577dc70
https://github.com/llvm/llvm-project/commit/4cdcf3b19302d8f337b5607d6b9df170f577dc70
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fold `(trunc nuw A to i1) == (trunc nuw B to i1)` to `A == B` (#133368)
Fixes #133344
Proof: https://alive2.llvm.org/ce/z/X3Uh23
InstCombine couldn't optimize `i1` because `canonicalizeICmpBool()` was
transforming the comparison into bitwise operations before
`foldICmpTruncWithTruncOrExt()` was called.
This PR solves the ordering issue by placing
`foldICmpTruncWithTruncOrExt()` before `canonicalizeICmpBool()`.
I believe this will not cause any regressions since all tests are
passing.
Commit: c4bc1b1d8177961c50c7a197bfb97b5226e749ff
https://github.com/llvm/llvm-project/commit/c4bc1b1d8177961c50c7a197bfb97b5226e749ff
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[clang] Update Mach-O ptrauth driver defaults (#132834)
Xcode clang default-enables a bunch of ptrauth flags when targeting
arm64e. Let's match that.
Commit: 772173f54868eef6e1a4d40ab93b0ee6c04b1aca
https://github.com/llvm/llvm-project/commit/772173f54868eef6e1a4d40ab93b0ee6c04b1aca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
R flang/test/Lower/AMD/code-object-version.f90
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Clang][AMDGPU] Remove special handling for COV4 libraries (#132870)
Summary:
When we were first porting to COV5, this lead to some ABI issues due to
a change in how we looked up the work group size. Bitcode libraries
relied on the builtins to emit code, but this was changed between
versions. This prevented the bitcode libraries, like OpenMP or libc,
from being used for both COV4 and COV5. The solution was to have this
'none' functionality which effectively emitted code that branched off of
a global to resolve to either version.
This isn't a great solution because it forced every TU to have this
variable in it. The patch in
https://github.com/llvm/llvm-project/pull/131033 removed support for
COV4 from OpenMP, which was the only consumer of this functionality.
Other users like HIP and OpenCL did not use this because they linked the
ROCm Device Library directly which has its own handling (The name was
borrowed from it after all).
So, now that we don't need to worry about backward compatibility with
COV4, we can remove this special handling. Users can still emit COV4
code, this simply removes the special handling used to make the OpenMP
device runtime bitcode version agnostic.
Commit: 212a48b4daf3101871ba6e7c47cf103df66a5e56
https://github.com/llvm/llvm-project/commit/212a48b4daf3101871ba6e7c47cf103df66a5e56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/combine-bitselect.ll
Log Message:
-----------
[X86] combine-bitselect.ll - regenerate VPTERNLOG comments
Commit: a481452cd88acc180f82dd5631257c8954ed7812
https://github.com/llvm/llvm-project/commit/a481452cd88acc180f82dd5631257c8954ed7812
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add OR/XOR/SUB to RISCVInstrInfo::isCopyInstrImpl (#132002)
This adds coverage for additional instructions in isCopyInstrImpl, for
now picking just those where I can observe that there is a codegen
difference for SPEC.
This allows MachineCopyPropagation to successfully eliminate no-op moves in this form.
Commit: 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
https://github.com/llvm/llvm-project/commit/33cd00f8c82d5df45b1dfd59310929a4d315fd8e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
Log Message:
-----------
[flang] Use more generic overload for Operation in Traverse (#133305)
Currently there are two specific overloads: for unary operations, i.e.
`Operation<D, R, O>`, and binary ones `Operation<D, R, LO, RO>`.
This makes it impossible for a derived class to use a single overload to
handle all types of operations: `Operation<D, R, O...>`. Since the base
overloads need to be included in the derived class's scope, via `using
Base::operator()` either one of the specific overloads will always be a
better candidate than the more generic derived one.
```
class MyVisitor : public Traverse<...> {
using Traverse<...>::operator();
template <typename D, typename R, typename... O>
Result operator()(const Operation<D, R, O...> &op) const {
// Will never be used.
}
};
```
This patch replaces the two specific overloads for Operation in Traverse
with a single generic overload, while preserving the existing
functionality, and allowing derived classes to use a single overload as
well.
Commit: 4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
https://github.com/llvm/llvm-project/commit/4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)
This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.
In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange); // OK
for (...) {
// push_back(Value) triggers an implicit conversion to ValueRange,
// which does not own the range.
repl.push_back(someValue); // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```
In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.
Commit: 316bb89c942c1a1cf61d3e673030f82d6f0b8acf
https://github.com/llvm/llvm-project/commit/316bb89c942c1a1cf61d3e673030f82d6f0b8acf
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
Log Message:
-----------
[Driver] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#132821)
In the wake of discussion in PR #131200 and internal discussion after,
we will add support for `LLVM_ENABLE_PER_TARGET_RUNTIME=ON` for AIX
instead of disable it. I already reverted the change in PR #131200.
The default value of the option is still OFF on AIX.
Commit: ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
https://github.com/llvm/llvm-project/commit/ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
Log Message:
-----------
[clang-tidy][NFC] improve documentation for `bugprone-argument-comment` check (#133436)
Improve docs for `bugprone-argument-comment` check by writing explicitly
default values for options.
Before this change, it was unclear what values are default.
Commit: d6dcd985c03bec4b77872be00a81d92454fedc32
https://github.com/llvm/llvm-project/commit/d6dcd985c03bec4b77872be00a81d92454fedc32
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
Log Message:
-----------
[clang-tidy] Fix `thread_local` false positives in `misc-use-internal-linkage` check (#132573)
Based on C++ standard (see issue
https://github.com/llvm/llvm-project/issues/131679) and
[StackOverflow](https://stackoverflow.com/questions/22794382/are-c11-thread-local-variables-automatically-static)
`thread_local` variables are implicitly `static` so we should not
suggest adding `static` on a `thread_local` variables. I'd appreciate if
someone else will confirm this too because reading standard is tricky.
However, many people still use `static` and `thread_local` together:
[github
code-search](https://github.com/search?type=code&q=%22static+thread_local%22+language%3AC%2B%2B).
Maybe disabling warnings on `thread_local` should be made as a flag?
WDYT?
Closes https://github.com/llvm/llvm-project/issues/131679.
Commit: 53b48301eb3bb4aba63678e9b5eb7cbea7745e34
https://github.com/llvm/llvm-project/commit/53b48301eb3bb4aba63678e9b5eb7cbea7745e34
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
[AMDGPU] Tweak address space definitions. NFC. (#133442)
Define address spaces in numerical order. Fix comments to refer to
"local" instead of "group" address space.
Commit: 579379cf7f650a3fd5a039ea5c2480d69acc3878
https://github.com/llvm/llvm-project/commit/579379cf7f650a3fd5a039ea5c2480d69acc3878
Author: Andras Gemes <gemesandras22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[Nomination] Add HighTec representatives to the Security Group (#124142)
I would like to nominate Mario Cupelli (@mariocup) and myself to join
the LLVM Security Group as representatives (vendor contacts) of [HighTec
EDV Systeme](https://github.com/hightec-rt).
Mario is the CTO of HighTec and has a strong background in compiler
safety qualification. I am a SW engineer with a focus on cybersecurity
and a goal to contribute to the LLVM Security Group.
HighTec collaborates with major silicon vendors and offers
safety-qualified C/C++ and Rust compilers based on LLVM. Our active
contributions to LLVM include work on the linker and various patches and
we are committed to further improving LLVM’s security.
Our motivation for joining the LLVM Security Group is to collaborate
with LLVM security experts, stay informed about the latest CVEs in LLVM
and meet the cybersecurity requirements of the automotive industry.
Commit: b6569cce4090ea12493ab2c948ea79c6a1a1983d
https://github.com/llvm/llvm-project/commit/b6569cce4090ea12493ab2c948ea79c6a1a1983d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Refine location size for segment spill and fill (#133268)
This is a follow up to #133171. I realized we could assume the structure
of the previous MMO, and thus the split is much simpler than I'd
initially pictured.
Commit: 427725508b084c7aa595312967d74d8888b168b6
https://github.com/llvm/llvm-project/commit/427725508b084c7aa595312967d74d8888b168b6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
Log Message:
-----------
[BOLT] Add getter for optional relocations (#133085)
Minor refactoring on comments.
Commit: 48b753027382a5815295d6680c7dd407be936c86
https://github.com/llvm/llvm-project/commit/48b753027382a5815295d6680c7dd407be936c86
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
Log Message:
-----------
[clang][flang][Triple][llvm] Add isOffload function to LangOpts and isGPU function to Triple (#126956)
I'm adding support for SPIR-V, so let's consolidate these checks.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 1f90a88b80998e595a3a11a7d13c333dbfa8777a
https://github.com/llvm/llvm-project/commit/1f90a88b80998e595a3a11a7d13c333dbfa8777a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libcxx] Remove clang-18 workaround in picolib build (#133254)
clang-19 changed how Arm triples were normalised and so while we
supported 18 and 19, we could not hard code the path here.
Now that Linaro's bots are running clang-19, and libcxx is going to drop
clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I
have simplified it by hard coding the path again.
I also looked into why this exists in the first place. It was added in
https://reviews.llvm.org/D154246 but not questioned at the time.
It is due to the way we build compiler-rt, which is due to the final
layout we need in the install:
1. The builtins library must be called libclang_rt.builtins.a for clang
to find it. There must not be an architecture name in the filename.
2. That builtins library must be directly in lib/, next to picolib's
installed files.
To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON.
However, that causes the file to be installed in a per-target dir which
breaks number 2. So to fix that, we move the builtins library up one
level into lib/.
The alternative is to turn off per-target dirs, which results in a
builtin file with an arch in the name, then rename and move that file
(since it gets installed into lib/generic/).
So in the end, it's the same amount of hacks. I think it's best to keep
the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the
recommended way to built these days.
Commit: db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
https://github.com/llvm/llvm-project/commit/db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[clang] Implement some missing interfaces for DelegatingDeserializationListener (#133424)
Split from the https://github.com/llvm/llvm-project/pull/133395 per the
review comment.
This patch also moves the `DelegatingDeserializationListener` close to
`ASTDeserializationListener`.
Commit: bf5627c85e6975a73bf582cf0d23a993673413d0
https://github.com/llvm/llvm-project/commit/bf5627c85e6975a73bf582cf0d23a993673413d0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
Log Message:
-----------
[LV] Optimize VPWidenIntOrFpInductionRecipe for known TC (#118828)
Optimize the IR generated for a VPWidenIntOrFpInductionRecipe to use the
narrowest type necessary, when the trip-count of a loop is known to be
constant and the only use of the recipe is the condition used by the
vector loop's backedge branch.
Commit: 9ce77255b9a48b024e434e5c4017da07fc44bbe1
https://github.com/llvm/llvm-project/commit/9ce77255b9a48b024e434e5c4017da07fc44bbe1
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
Log Message:
-----------
[HLSL] Add __spirv__ macro (#132848)
This macro can be used by HLSL code to detect that it is being compiled
for the SPIR-V target.
Commit: 43829039c9b00a56847027801ab420cff2031143
https://github.com/llvm/llvm-project/commit/43829039c9b00a56847027801ab420cff2031143
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
Log Message:
-----------
[Format] Use a range constructor of DenseSet (NFC) (#133382)
Commit: 0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
https://github.com/llvm/llvm-project/commit/0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[tools] Use *Set::insert_range (NFC) (#133384)
We can use *Set::insert_range to replace "for" loop-based insertions.
In some cases, we can further fold insert_range into the set
declaration.
Commit: 460d628d9006f63af3d296a90c32a60a347dbc2c
https://github.com/llvm/llvm-project/commit/460d628d9006f63af3d296a90c32a60a347dbc2c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] Clean up unused argument, unify style, modernize syntax (NFC)
Finalize code style overhaul in GVN, following up to
2a0946bc0dffca89d16cd9d5208ec9416ed8100e and 9deed7d2ef3a147c4e8410910967fde601359039.
Commit: 2218587b5b131bb8ed57c3e6c7a5c0c589493300
https://github.com/llvm/llvm-project/commit/2218587b5b131bb8ed57c3e6c7a5c0c589493300
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
Log Message:
-----------
MIPS: Support isLegalICmpImmediate and isLegalAddImmediate (#133400)
Set it to true only if isInt<16>.
By default implemention defines them to true always. For most cases,
MIPS uses 16bit IMM, and for microMIPS, ICMP and ADDiu have 16bit IMM
flavors.
Commit: fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
https://github.com/llvm/llvm-project/commit/fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
A flang/test/Parser/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Revert "Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses."" (#132343)
Reverts llvm/llvm-project#132005
Commit: 22138720020dd8dfd30dbd220c49d6585126d2f7
https://github.com/llvm/llvm-project/commit/22138720020dd8dfd30dbd220c49d6585126d2f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Log Message:
-----------
llvm-reduce: Use isCallee helper (#133419)
Commit: 8ea3f818dea7d1104429040486614c96e0698901
https://github.com/llvm/llvm-project/commit/8ea3f818dea7d1104429040486614c96e0698901
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
Log Message:
-----------
[lldb][test] TestCCallingConventions.py: skip on older AArch64 compilers
With our Clang-15 arm64 CI this test-case crashes when compiling the test program:
```
user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
Unexpected callee-save save/restore opcode!
UNREACHABLE executed at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1129!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang -g -O0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -Werror=ignored-attributes -MT ms_abi.o -MD -MP -MF ms_abi.d -c -o ms_abi.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c'.
4. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@func'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 clang-15 0x0000000105d512b0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 clang-15 0x0000000105d500e4 llvm::sys::RunSignalHandlers() + 112
2 clang-15 0x0000000105d507c4 llvm::sys::CleanupOnSignal(unsigned long) + 232
3 clang-15 0x0000000105c79d78 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4 clang-15 0x0000000105c79f94 CrashRecoverySignalHandler(int) + 124
5 libsystem_platform.dylib 0x0000000185ecba24 _sigtramp + 56
6 libsystem_pthread.dylib 0x0000000185e9ccc0 pthread_kill + 288
7 libsystem_c.dylib 0x0000000185daca40 abort + 180
8 clang-15 0x0000000105c88508 llvm::install_out_of_memory_new_handler() + 0
9 clang-15 0x0000000104af7404 fixupCalleeSaveRestoreStackOffset(llvm::MachineInstr&, unsigned long long, bool, bool*) + 0
10 clang-15 0x0000000104af53e0 llvm::AArch64FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const + 3564
```
Commit: 71a977d0d611f3e9f6137a6b8a26b730b2886ce9
https://github.com/llvm/llvm-project/commit/71a977d0d611f3e9f6137a6b8a26b730b2886ce9
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add shift-add (SH1ADD, ...) to isCopyInstrImpl (#133443)
As with #132002, these do show up in a compilation of llvm-test-suite
(including SPEC 2017). We remove 30-40 static instances so this isn't
anything earth shattering.
rs2 is always added to the other shifted (and potentially extended)
operand unmodified, so rs1==zero is equivalent to a copy.
Commit: a983c3b209bf6602c0687251647535c7fa43a17a
https://github.com/llvm/llvm-project/commit/a983c3b209bf6602c0687251647535c7fa43a17a
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Make more use of CodeGenRegisterClass::EnumValue. NFC. (#132749)
Commit: f7f479b2a3ac4c242339896fe1012342dc1e56fc
https://github.com/llvm/llvm-project/commit/f7f479b2a3ac4c242339896fe1012342dc1e56fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use templates to reduce duplicated code for assembler operand predicates. (#133351)
We already had a template isUImm function. This patch adds isSImm,
isShiftedUImm, and 2 helpers that take a predicate function to validate
the immediate with. I'm using a template for the predicate function.
Commit: a33d789bb70e8b19840cacfc1980da883ae01ebd
https://github.com/llvm/llvm-project/commit/a33d789bb70e8b19840cacfc1980da883ae01ebd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Avoid invalid reductions on x86_intrcc (#133396)
If there are arguments, the first one must be byval.
Commit: 6526cda5d865d55b1db5aa0faffb29448e5c6a23
https://github.com/llvm/llvm-project/commit/6526cda5d865d55b1db5aa0faffb29448e5c6a23
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Migrating DAP 'initialize' to new typed RequestHandler. (#133007)
This adds new types and helpers to support the 'initialize' request with
the new typed RequestHandler. While working on this I found there were a
few cases where we incorrectly treated initialize arguments as
capabilities. The new `lldb_dap::protocol::InitializeRequestArguments`
and `lldb_dap::protocol::Capabilities` uncovered the inconsistencies.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
https://github.com/llvm/llvm-project/commit/4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Enable 'mktime' for the GPU (#133437)
Summary:
This is a dependency on `strftime` which we provide, so we should have
this.
Commit: ea8573aca5bf5a629bfb01113d74b36efd5c2a51
https://github.com/llvm/llvm-project/commit/ea8573aca5bf5a629bfb01113d74b36efd5c2a51
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add statusline to the release notes (#133281)
Add a release note for the LLDB statusline: #121860
Commit: 1b86867ab3ccf731863043718d53700535e0fb21
https://github.com/llvm/llvm-project/commit/1b86867ab3ccf731863043718d53700535e0fb21
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes when removing arguments (#133407)
The attribute APIs make this cumbersome. There seem to be missing
overloads using AttrBuilder for the function attrs. Plus there doesn't
seem to be a direct way to set the function attrs on the call.
Commit: 688df34634a5e3d9423060442a47a01b185ef4e1
https://github.com/llvm/llvm-project/commit/688df34634a5e3d9423060442a47a01b185ef4e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags when removing arguments (#133408)
Commit: 115a77df9d8475bc62bc22fe52d0d1c62d8111e5
https://github.com/llvm/llvm-project/commit/115a77df9d8475bc62bc22fe52d0d1c62d8111e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing metadata when removing arguments (#133409)
Commit: 277ab85d1ccf80750f5193495c0665808c2863de
https://github.com/llvm/llvm-project/commit/277ab85d1ccf80750f5193495c0665808c2863de
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[clang] Make `PreprocessorOptions` reference const
Commit: 6b1acdb818dd158619c71546af1bf5e134cd7e03
https://github.com/llvm/llvm-project/commit/6b1acdb818dd158619c71546af1bf5e134cd7e03
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing operand bundles when removing arguments (#133410)
Commit: 827f2ad64394bdcafabc58133c4b8258f728763c
https://github.com/llvm/llvm-project/commit/827f2ad64394bdcafabc58133c4b8258f728763c
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
Log Message:
-----------
AMDGPU: Convert vector 64-bit shl to 32-bit if shift amt >= 32 (#132964)
Convert vector 64-bit shl to 32-bit if shift amt is known to be >= 32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 44e3735ac18407f23a4e1fea29192449dbe3d4de
https://github.com/llvm/llvm-project/commit/44e3735ac18407f23a4e1fea29192449dbe3d4de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-wrong-cc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Preserve original callsite calling conv when removing arguments (#133411)
In undefined mismatch cases, this was fixing the callsite to use the calling
convention of the new function. Preserve the original wrong callsite's calling
convention.
Commit: 133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
https://github.com/llvm/llvm-project/commit/133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-invoke.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-non-callee-use.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Filter function based on uses before removing arguments (#133412)
Invokes and others are not handled, so this was leaving broken callsites
behind for anything other than CallInst
Commit: 049f179606a4af3ea650d7049626d267e01b79e2
https://github.com/llvm/llvm-project/commit/049f179606a4af3ea650d7049626d267e01b79e2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[Analysis][NFC] Extract KnownFPClass (#133457)
- extract KnownFPClass for future use inside of GISelKnownBits
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 8c7550132f410766598ba88de6b7e7a2a4607f67
https://github.com/llvm/llvm-project/commit/8c7550132f410766598ba88de6b7e7a2a4607f67
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/lrint.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
Log Message:
-----------
[AMDGPU] Unused sdst writing to null (#133229)
Unused sdst writing to null to avoid a false VALU->SALU dependency
stall. This requires using the VOP3 encoding.
Commit: 4c4e4e4299b16d8dd85811e9dd8697b17c95577f
https://github.com/llvm/llvm-project/commit/4c4e4e4299b16d8dd85811e9dd8697b17c95577f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strengthen calls to collectInstsToScalarize (NFC) (#130642)
Avoid the pattern of always calling collectInstsToScalarize after
collectUniformsAndScalars, and call it in collectUniformsAndScalars
instead. Also strengthen checks for early exits in the function.
Commit: b8c86dc7699d3c561bcbee143d2022561d5cc8a3
https://github.com/llvm/llvm-project/commit/b8c86dc7699d3c561bcbee143d2022561d5cc8a3
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
Log Message:
-----------
[SystemZ] Remove custom implementation of optimizeLoadInst [NFC] (#133123)
In 236f938ef, I introduced a generic version of this routine. I believe
that the SystemZ specific version of this is less general than the
generic version, and is thus unrequired. I wasn't 100% given the
difference in sub-register, multiple use and defs, but from the SystemZ
code, it looks like those cases simply don't arise?
Commit: e70fe9b264b6f98fd3744b514d7166f75dd19872
https://github.com/llvm/llvm-project/commit/e70fe9b264b6f98fd3744b514d7166f75dd19872
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/AST/ast-dump-templates.cpp
Log Message:
-----------
NFC: fix typo in clang/test/AST/ast-dump-templates.cpp
Commit: b3f01a6aa45b00240cec1c64286b85d7ba87e2af
https://github.com/llvm/llvm-project/commit/b3f01a6aa45b00240cec1c64286b85d7ba87e2af
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/print-stats.c
Log Message:
-----------
[Clang] Check PP presence when printing stats (#131608)
Front-end option `-print-stats` can be used to print statistics around
the compilation process. But clang with this options will crash when
input is IR file. This patch fixes the crash by checking preprocessor
presence before invoking it.
Commit: d6d559cc090b775649f1de6f6bfcc029184d4fb5
https://github.com/llvm/llvm-project/commit/d6d559cc090b775649f1de6f6bfcc029184d4fb5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add zvfhmin to zipeven/zipodd shuffle tests per review suggestion
Commit: bc37fea107dd21ea92efee20032a844e09d4e504
https://github.com/llvm/llvm-project/commit/bc37fea107dd21ea92efee20032a844e09d4e504
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Fix the disassembler's handling of C.LUI when imm=0 (#133450)
Fix for #133446.
According to the RISC-V spec: "C.LUI is valid only when rd≠{x0,x2}, and
when the immediate is not equal to zero. The code points with imm=0 are
reserved".
This change makes the disassembler consider code points with imm=0 as
illegal. It introduces a test which exercises every C.LUI opcode
including the illegal ones but excluding those assigned to C.ADDI16SP).
Output for +c, +c +Zcmop, and +c +no-rvc-hints is checked.
Commit: b0bb86e239b2b09476ca58976094cc645ea9194f
https://github.com/llvm/llvm-project/commit/b0bb86e239b2b09476ca58976094cc645ea9194f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
Log Message:
-----------
[HLSL][NFC] Use method builder to create default resource constructor (#131384)
Updates `BuiltinTypeMethodBuilder` helper class to support creation of
constructors and updates the code that creates default constructor for
resource classes to use it.
This enables us to share code when creating builtin methods and
constructors and will come in handy when we add more constructors in the
future.
Depends on #131032.
Commit: da84a7d4038177152082265c0d425866a4f71659
https://github.com/llvm/llvm-project/commit/da84a7d4038177152082265c0d425866a4f71659
Author: John Holdsworth <github at johnholdsworth.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
A lld/test/MachO/interposable.s
Log Message:
-----------
[lld][MachO] Support for -interposable (#131813)
As discussed in https://github.com/llvm/llvm-project/issues/53680, add
support for ld64's -interposable flag on Apple platforms to lld.
Commit: 4e4cb4359ae915b5a14c94914e39a8cc94e98963
https://github.com/llvm/llvm-project/commit/4e4cb4359ae915b5a14c94914e39a8cc94e98963
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
Log Message:
-----------
[RISCV][MC] Enable printing of zext.b alias (#133502)
The comment shows that at the time we were worried about producing the
alias in assembly that might be ingested by a binutils version that
doesn't yet support it. binutils gained support over 4 years ago
<https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2137f55ad04e451d834048d4bfec1de2daea20e>.
With all the changes in areas such as ELF attributes, if you tried to
use LLVM's RISC-V assembler output with a binutils that old then zext.b
would be the least of your worries.
Commit: 70f083f068ef0c6c589897d44e809ca18d5d1148
https://github.com/llvm/llvm-project/commit/70f083f068ef0c6c589897d44e809ca18d5d1148
Author: David Green <david.green at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
Log Message:
-----------
[LV][AArch64] Test cleanup of low_trip_count_predicates.ll. NFC
Post commit cleanup from #132170
Commit: 864c76a181dd054a2c74ffa58b02bc554a8a1f83
https://github.com/llvm/llvm-project/commit/864c76a181dd054a2c74ffa58b02bc554a8a1f83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Rename operands used for branch and compressed jump targets. NFC (#133364)
The current names look just like predicates we use for regular
immediates, but branches and jumps also allow bare symbols.
While I was there I realized I could use PredicateMethod to have the
AsmMatcher directly call the template function we use in the asm parser.
Commit: 77ba6918a14ddef4ee639bf6221cc2eb95adf320
https://github.com/llvm/llvm-project/commit/77ba6918a14ddef4ee639bf6221cc2eb95adf320
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
Log Message:
-----------
[mlir][linalg] Fix FoldReshapeWithGenericOpByCollapsing insertion point (#133476)
Fixes dominance verifier error with
`FoldReshapeWithGenericOpByCollapsing` by setting the insertion point
after `producer`. The `tensor.collapse_shape` op only has a single
operand (`producer`) so it is safe to insert after the producer.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 1bfc61064ab46e44865453d2c2176f5e7f96987c
https://github.com/llvm/llvm-project/commit/1bfc61064ab46e44865453d2c2176f5e7f96987c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
Log Message:
-----------
[SLP]Fix spill cost analysis for split vectorized nodes
If the entry is SplitVectorize, it can be skipped in favor of its
operands, operands allow correctly detect spill costs.
Fixes #133288
Commit: d4dc5712c47dab5f5dcfc329db8121059b591fb1
https://github.com/llvm/llvm-project/commit/d4dc5712c47dab5f5dcfc329db8121059b591fb1
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Allow setting a base directory for hosted pages (#132482)
Currently, when we set URLs from JS, we set them only using the protocol
and host locations. This works fine when docs are served from the base
directory of the site, but if you want to nest it under another
directory, our JS fails to set the correct path, leading to broken
links.
This patch adds a --base option to specify the path prefix to use, which
is set in the generated index_json.js file. index.json can then fill in
the prefix appropriately when generating links in a browser. This flag
has no effect for non HTML output.
Given an index hosted at: www.docs.com/base_directory/index.html
we used to generate the following link:
www.docs.com/file.html
Using --base base_directory we now generate:
www.docs.com/base_directory/file.html
This allows such links to work when hosting pages without using a custom
index.js.
Commit: c8246f69f4e17b877bf42643f3d4360a89232f68
https://github.com/llvm/llvm-project/commit/c8246f69f4e17b877bf42643f3d4360a89232f68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove friend declarations from __tree (#133237)
Instead, make the few functions `map` relies on public. This makes it
more clear what is private to `__tree` and what is part of the
library-internal interface.
Commit: 45b9e24b1ea8f34230cb2a746d624bd7e64e484b
https://github.com/llvm/llvm-project/commit/45b9e24b1ea8f34230cb2a746d624bd7e64e484b
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/metadata/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Fix some small typos in compiler-rt. NFC (#133388)
Commit: 91d2ecf0d563b03d75380375e8ac26a291bed9d7
https://github.com/llvm/llvm-project/commit/91d2ecf0d563b03d75380375e8ac26a291bed9d7
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
M mlir/include/mlir/Analysis/Presburger/Simplex.h
M mlir/include/mlir/AsmParser/AsmParser.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[NFC] Fix some typos in libc and mlir comments (#133374)
Commit: 812efdb0940f82fbfd2a139573764364cb55cdc2
https://github.com/llvm/llvm-project/commit/812efdb0940f82fbfd2a139573764364cb55cdc2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.11
Commit: c0952a931c7d556ca9f0073d86d591a37eb60477
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
Log Message:
-----------
[clang] [sanitizer] add pseudofunction to indicate array-bounds check (#128977)
With this, we can:
* use profilers to estimate how many cycles we spend on these checks
(subject to caveats),
* more easily see why we crashed.
Commit: 812e02a74c0afb8bce8bf7ac7cc606ace188e30d
https://github.com/llvm/llvm-project/commit/812e02a74c0afb8bce8bf7ac7cc606ace188e30d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
Log Message:
-----------
[NVPTX] Use fast-math flags when lowering sin, cos, frem (#133121)
Update the lowering rules for sin, cos, and frem to respect the
instruction-level flags in addition to the global and function-level
options. For sin and cos, the TableGen lowering has been updated to
check the `afn` flag on the node. The lowering for frem has been pulled
to custom instruction legalization in order to allow for DAG Combiner
optimizations to operate over the expanded instructions.
Commit: 83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
https://github.com/llvm/llvm-project/commit/83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Make Root Signature lexer keywords case-insensitive (#132967)
>From the corrections to the Root Signature specification here:
https://github.com/llvm/wg-hlsl/issues/192. It was denoted that keywords
are also case-insensitive in DXC.
This pr adjusts the lexer to adhere to the updated spec.
We also have a NFC to add a missing license to a file while in the area.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 0c811053734e49151fb436f8afbb87b396bcb15e
https://github.com/llvm/llvm-project/commit/0c811053734e49151fb436f8afbb87b396bcb15e
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Disable PGO on NVPTX (#133522)
Commit: 3026fa0eb61904d6dde1dba8c93a3c757c2d4056
https://github.com/llvm/llvm-project/commit/3026fa0eb61904d6dde1dba8c93a3c757c2d4056
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
Log Message:
-----------
[HLSL] add CustomTypeChecking to float builtins (#133441)
- Add CustomTypeChecking to HLSL builtins that take float arguments
- Add new builtin tests to confirm CustomTypeChecking doesn't promote
scalar float arguments aren't promoted to double
- fixes #133440
Commit: 783a846507683c7b515473b833c9cf02cd2b1993
https://github.com/llvm/llvm-project/commit/783a846507683c7b515473b833c9cf02cd2b1993
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VF as operand to VPScalarIVStepsRecipe.
Similarly to other recipes, update VPScalarIVStepsRecipe to also take
the runtime VF as argument. This removes some unnecessary runtime VF
computations for scalable vectors. It will also allow dropping the
UF == 1 restriction for narrowing interleave groups required in
577631f0a528.
Commit: bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
https://github.com/llvm/llvm-project/commit/bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/AddressRanges.h
Log Message:
-----------
[llvm][ADT] Some AddressRanges.h improvements (#132847)
- Rename parameter to adhere to the project's parameter naming
convention.
- Remove redundant template argument.
- Remove redundant name-qualification.
- Change non-explicit conversion operator to an explicit one to avoid
surprising implicit conversions.
Commit: 457970d25d7216d793734915ab675701e50c292c
https://github.com/llvm/llvm-project/commit/457970d25d7216d793734915ab675701e50c292c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
Log Message:
-----------
[libc++][NFC] Format std::num_put tests
Commit: 77913b5d1dc970e3e053ab1ab160da897560b1b4
https://github.com/llvm/llvm-project/commit/77913b5d1dc970e3e053ab1ab160da897560b1b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add instantiation of VPUnrollPartAccessor<3> to fix link error.
Fix link errors with GCC by providing an explicit instantiation.
Commit: 5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
https://github.com/llvm/llvm-project/commit/5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[doc][IR] Add documentation for `llvm.vector.(de)interleave3/5/7` (#133519)
I put the documentation of all factors into the same (de)interleave
entries because I really don't see a reason to separate them in an
already long LangRef page.
Commit: 021a1f69742aab7d650887a0978db5cf007967d3
https://github.com/llvm/llvm-project/commit/021a1f69742aab7d650887a0978db5cf007967d3
Author: Alex <alejandro.duran at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/include/OffloadPolicy.h
M offload/libomptarget/PluginManager.cpp
Log Message:
-----------
[OFFLOAD] Stricter enforcement of user offload disable (#133470)
If user specifies offload is disabled (e.g.,
OMP_TARGET_OFFLOAD=disable), disable library almost completely. This
reduces resources spent to a minimum and ensures all APIs behave as if
the only available device is the host device.
Currently some of the APIs behave as if there were devices avaible for
offload even when under OMP_TARGET_OFFLOAD=disable.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 973bf4d53b9cfac4400a9954d9c527092b238a86
https://github.com/llvm/llvm-project/commit/973bf4d53b9cfac4400a9954d9c527092b238a86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unnecessary if guard before calling SignExtend64<6> in decodeCLUIImmOperand. NFC (#133514)
Commit: 5bdce305793f161cfa1bf69a65954089c99ccf0b
https://github.com/llvm/llvm-project/commit/5bdce305793f161cfa1bf69a65954089c99ccf0b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] remove v2i16 from srl pattern (#133458)
remove v2i16 from srl true16 pattern since 16bit right shift on v2i16
should not be applied with this pattern
Commit: 48408954670e1f564bd92eed6b54bf155238201c
https://github.com/llvm/llvm-project/commit/48408954670e1f564bd92eed6b54bf155238201c
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
Log Message:
-----------
[libc] implement `memalignment` (#132493)
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).
- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)
Closes #132300
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5252bb1d74cc7bcbba4d0f6826486f43a124d01c
https://github.com/llvm/llvm-project/commit/5252bb1d74cc7bcbba4d0f6826486f43a124d01c
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir] IntegerRangeAnalysis: return initialized state for noninteger values (#133541)
Otherwise, the state for noninteger values remains uninitialized,
causing the analysis to return bogus results.
Commit: 934f2557bacbbe914878c1ba56a17a8c6eae83c9
https://github.com/llvm/llvm-project/commit/934f2557bacbbe914878c1ba56a17a8c6eae83c9
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][analysis] Commit missing check lines
Commit: b394babddcec466a4cb8f31ea94b99c1b934ea71
https://github.com/llvm/llvm-project/commit/b394babddcec466a4cb8f31ea94b99c1b934ea71
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/musttail.ll
Log Message:
-----------
[HotColdSplit] Don't outline musttail calls. (#133177)
musttail calls have several restrictions, generally enforcing matching
calling conventions between the caller parent and musttail callee. We
can't usually honor them, because the extracted function has a different
signature altogether, taking inputs/outputs and returning a control-flow
identifier rather than the actual return value.
Don't consider musttail calls as valid for extraction.
Commit: e29f228a0732b126cca3ee2ff2536f08c1e49434
https://github.com/llvm/llvm-project/commit/e29f228a0732b126cca3ee2ff2536f08c1e49434
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
actually fix the test
Commit: 1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
https://github.com/llvm/llvm-project/commit/1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
Log Message:
-----------
[HLSL] Add WaveReadLaneAt unsigned integer overloads (#133520)
Add WaveReadLaneAt unsigned integer overloads
2nd argument of WaveReadLaneAt should be a uint32_t and not an int32_t
add tests
Closes #133473
Commit: 1e00bb16f488492198df692ae2e2abc405a138f3
https://github.com/llvm/llvm-project/commit/1e00bb16f488492198df692ae2e2abc405a138f3
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
[sanitizer] actually run preadv2 test (#133529)
it seems the %run was accidentally omitted, otherwise the `assert` calls
would not make sense
Commit: c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
https://github.com/llvm/llvm-project/commit/c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/test/CodeGen/X86/global-variable-partition.ll
Log Message:
-----------
[CodeGen][StaticDataPartitioning]Place local-linkage global variables in hot or unlikely prefixed sections based on profile information (#125756)
In this PR, static-data-splitter pass finds out the local-linkage global
variables in {`.rodata`, `.data.rel.ro`, `bss`, `.data`} sections by
analyzing machine instruction operands, and aggregates their accesses
from code across functions.
A follow-up item is to analyze global variable initializers and count
for access from data.
* This limitation is demonstrated by `bss2` and `data3` in
`llvm/test/CodeGen/X86/global-variable-partition.ll`.
Some stats of static-data-splitter with this patch:
**section**|**bss**|**rodata**|**data**
:-----:|:-----:|:-----:|:-----:
hot-prefixed section coverage|99.75%|97.71%|91.30%
unlikely-prefixed section size percentage|67.94%|39.37%|63.10%
1. The coverage is defined as `#perf-sample-in-hot-prefixed <data>
section / #perf-sample in <data.*> section` for each <data> section.
* The perf command samples
`MEM_INST_RETIRED.ALL_LOADS:u:pinned:precise=2` events at a high
frequency (`perf -c 2251`) for 30 seconds. The profiled binary is built
as non-PIE so `data.rel.ro` coverage data is not available.
2. The unlikely-prefixed `<data>` section size percentage is defined as
`unlikely <data> section size / the sum size of <data>.* sections` for
each `<data>` section
Commit: 515d1ae679ea25687423be37abec74565d755921
https://github.com/llvm/llvm-project/commit/515d1ae679ea25687423be37abec74565d755921
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add --repository-line-prefix argument (#131280)
This PR adds a new command-line option that allows users to specify the
prefix used for line-based anchors in repository URLs. Different
repository interfaces use different formats for line anchors (GitHub
uses `#L123`, googlesource uses `#123`, etc.). This option enables users
to customize the line prefix to match their repository platform without
requiring hard-coded values for each service.
Fixes #59814
Commit: 6cc208cd3c80a57c535ad2ea7e8a189d02966682
https://github.com/llvm/llvm-project/commit/6cc208cd3c80a57c535ad2ea7e8a189d02966682
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libc/Maintainers.rst
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/index.rst
M llvm/Maintainers.md
Log Message:
-----------
[libc] Add maintainers file (#133471)
Based on #133297 by jhuber.
LLVM-libc needs a maintainers file, this patch adds an initial set.
The file is based on `clang/maintainers.rst` and
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
Commit: 8dc64e93cb203904c778ba7c390f8b7adc85bb02
https://github.com/llvm/llvm-project/commit/8dc64e93cb203904c778ba7c390f8b7adc85bb02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
llvm-reduce: Avoid double map lookup (#133447)
Commit: 27b53e90a50428456e48a04b606fc366d48520a9
https://github.com/llvm/llvm-project/commit/27b53e90a50428456e48a04b606fc366d48520a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName instead of setName when cloning functions (#133393)
Commit: 4324f236ac8e8487f82c2f5e9fff1560600019c8
https://github.com/llvm/llvm-project/commit/4324f236ac8e8487f82c2f5e9fff1560600019c8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port c8a70f4c6e24
Commit: bb047b9ea37f8183941bdbffde00886fa4ab2407
https://github.com/llvm/llvm-project/commit/bb047b9ea37f8183941bdbffde00886fa4ab2407
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Constant.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement missing ConstantVector member functions (#131390)
This patch implements get(), getSplat(), getSplatValue() and getType(),
mirroring LLVM IR.
Commit: fb0cd9899d79211a497f0b560f73d2bca67d7d9d
https://github.com/llvm/llvm-project/commit/fb0cd9899d79211a497f0b560f73d2bca67d7d9d
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
NFC: Remove unused includes (#133474)
Commit: 304b3c500021a9281a1d03cf3a63380ca31f7451
https://github.com/llvm/llvm-project/commit/304b3c500021a9281a1d03cf3a63380ca31f7451
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.RawPtrRefMemberChecker] The checker doesn't warn Objective-C types in ivars. (#132833)
This PR fixes the bug that we weren't generating warnings when a raw
poiner is used to point to a NS type in Objective-C ivars. Also fix the
bug that we weren't suppressing this warning in system headers.
Commit: 84c1afe69e51018fd48462d95190797f880d5195
https://github.com/llvm/llvm-project/commit/84c1afe69e51018fd48462d95190797f880d5195
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Simplify instruction reduction to avoid worklist (#133391)
Commit: b2e2950358ff6fc201e408145b30db63b33d486b
https://github.com/llvm/llvm-project/commit/b2e2950358ff6fc201e408145b30db63b33d486b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
Log Message:
-----------
llvm-reduce: Remove xfailed test for ifunc with constant expression (#133389)
The verifier does reject this now
Commit: 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
https://github.com/llvm/llvm-project/commit/8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Do not assert if the input is no longer interesting (#133386)
If the interestingness script is flaky, we should not assert. Print
a warning, and continue. This could still happen as a result of an
llvm-reduce bug, so make a note of that.
Add a --skip-verify-interesting-after-counting-chunks option to
avoid the extra run of the reduction script, and to silence the
warning.
Commit: 842f25a5fb781491c14102d0db1886a78a190ed5
https://github.com/llvm/llvm-project/commit/842f25a5fb781491c14102d0db1886a78a190ed5
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[NFC] [dataflow] generalize smart pointer caching (#133350)
This allows us to use it for classes that use other names than get /
value.
Commit: 8726e973459d93d34653946ba1e01ad198cdf11f
https://github.com/llvm/llvm-project/commit/8726e973459d93d34653946ba1e01ad198cdf11f
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
Log Message:
-----------
[msan] Handle SSE2 cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps using handleSSEVectorConvertIntrinsicByProp (#132815)
cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps are currently handled strictly.
This patch handles them using handleSSEVectorConvertIntrinsicByProp
(from https://github.com/llvm/llvm-project/pull/130705), generalized to
handle SSE intrinsics that do not have a rounding mode parameter.
Commit: 724f2096cedd6e179c79eaddf41accaad1218c96
https://github.com/llvm/llvm-project/commit/724f2096cedd6e179c79eaddf41accaad1218c96
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
M llvm/test/tools/llvm-reduce/remove-instructions.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-reduce/remove-module-data.ll
M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll
Log Message:
-----------
llvm-reduce: Add -abort-on-invalid-reduction to more tests (#133390)
If I flip the default, the only failures are in MIR tests.
Commit: 22a11be8ab6f31cd3621f37d675e44988218f314
https://github.com/llvm/llvm-project/commit/22a11be8ab6f31cd3621f37d675e44988218f314
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Fix parser of `vector.contract` (#133434)
This PR adds a check in the parser to prevent a crash when
`vector.contract` lacks the `iterator_types` attribute.
Fixes #132886.
Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
Log Message:
-----------
[NVPTX] Customize getScalarizationOverhead (#128077)
We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.
To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.
Commit: 539ef5eee2c26b93923ed7872c6f847ff54c71ae
https://github.com/llvm/llvm-project/commit/539ef5eee2c26b93923ed7872c6f847ff54c71ae
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Addressing ubsan enum usage. (#133542)
Running tests with ubsan enabled showed that the current
`protocol::AdapterFeature` and `protocol::ClientFeature` enums are
incorrectly defined if we want to use them in a `llvm::DenseSet`. The
enums are currently untyped and this results in the undefined behavior.
Adding `FLAGS_ENUM()` wrappers to all the enums in the
`lldb-dap::protocol` namespace to ensure they're typed so they can be
used with types like `llvm::DenseSet`.
Commit: f8ffbaebed1a7ac82a445a22630fefb769f0d08b
https://github.com/llvm/llvm-project/commit/f8ffbaebed1a7ac82a445a22630fefb769f0d08b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[test] Test absolute/relative relocations referencing undefined non-weak symbol
Commit: edef028029c4785dfe23c06731de4fc9f34d5cd5
https://github.com/llvm/llvm-project/commit/edef028029c4785dfe23c06731de4fc9f34d5cd5
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciio (External Input Output) extension (#132721)
This extension adds two external input output instructions for
non-memory-mapped device.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: b33cc642ed398b13875dbb9099916affce355b49
https://github.com/llvm/llvm-project/commit/b33cc642ed398b13875dbb9099916affce355b49
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
Log Message:
-----------
[lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)
This patch uses *Set::insert_range and a range constructor of DenseSet
to clean up the code to populate sets.
Commit: d4427f308eb6e42790a36b56d61b482cbc9f67ba
https://github.com/llvm/llvm-project/commit/d4427f308eb6e42790a36b56d61b482cbc9f67ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/unittests/ADT/DirectedGraphTest.cpp
Log Message:
-----------
[llvm] Use range constructors of *Set (NFC) (#133549)
Commit: d3c10a3897ccd060090ca273de4cedb91cd2d605
https://github.com/llvm/llvm-project/commit/d3c10a3897ccd060090ca273de4cedb91cd2d605
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[CodeGen] Use llvm::reverse (NFC) (#133550)
Commit: f915015a3e22d569f23dee0e042bfd6f4ee74509
https://github.com/llvm/llvm-project/commit/f915015a3e22d569f23dee0e042bfd6f4ee74509
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm] Remove extraneous calls to make_range (NFC) (#133551)
Commit: 854d795985d404236346340cb015409c30078e46
https://github.com/llvm/llvm-project/commit/854d795985d404236346340cb015409c30078e46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[mlir] Use llvm::reverse (NFC) (#133552)
Commit: 63bb0078f824143f580225ad92464b21186f646e
https://github.com/llvm/llvm-project/commit/63bb0078f824143f580225ad92464b21186f646e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
Log Message:
-----------
[ctxprof] Auto root detection: trie for stack samples (#133106)
An initial patch for supporting automated root detection. The auto-detector is introduced subsequently, but this patch introduces a datastructure for capturing sampled stacks, per thread, in a trie, and inferring from such samples which functions are reasonable roots.
Commit: 1d4801f22ab1fd6205b1cf625b690aefc554cd4c
https://github.com/llvm/llvm-project/commit/1d4801f22ab1fd6205b1cf625b690aefc554cd4c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] fix `maybeReplaceWithConstant` in IntRangeOptimizations (#133556)
If a dialect is caching/reusing constants when materializing then such
constants might already have `IntegerValueRangeLattice`s associated with
them and the range endpoint bit widths might not match the new
replacement (amongst other possible wackiness).
I observed this with `%true = arith.constant true` which was
materialized but had an existing `IntegerValueRangeLattice` (i.e.,
`solver.getOrCreateState<dataflow::IntegerValueRangeLattice>` was not
uninitalized) with range endpoint bit widths:
```
umin bit width: 32
umax bit width: 32
smin bit width: 32
smax bit width: 32
```
while the widths of the range end points for something like `%20 =
arith.cmpi slt, %19, %c1_i32` (a replacement candidate) would be
```
umin bit width: 1
umax bit width: 1
smin bit width: 1
smax bit width: 1
```
Thus, we should be clearing the analysis state each time a constant is
reused.
Commit: ba2de8f22d0cac86d89c1806fb54ed3463349342
https://github.com/llvm/llvm-project/commit/ba2de8f22d0cac86d89c1806fb54ed3463349342
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Allow absolute relocation referencing symbol index 0 in PIC mode
The value of an absolute relocation, like R_RISCV_HI20 or R_PPC64_LO16,
with a symbol index of 0, the resulting value should be treated as
absolute and permitted in both -pie and -shared links.
This change also resolves an absolute relocation referencing an
undefined symbol in statically-linked executables.
PPC64 has unfortunate exceptions:
* R_PPC64_TOCBASE uses symbol index 0 but it should be treated as
referencing the linker-defined .TOC.
* R_PPC64_PCREL_OPT (https://reviews.llvm.org/D84360) could no longer
rely on `isAbsoluteValue` return false.
Commit: 8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
https://github.com/llvm/llvm-project/commit/8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Move 2 implementation functions up in `CtxInstrProfiling.cpp` (#133146)
Commit: 31fe0d20fc49b0e0f653c95496b7955328f2983b
https://github.com/llvm/llvm-project/commit/31fe0d20fc49b0e0f653c95496b7955328f2983b
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[SandboxVec][Doc] Add documentation for the Sandbox Vectorizer (#133504)
Commit: 2898c3e0bbf904c68efb194525bcdfeedb3014c2
https://github.com/llvm/llvm-project/commit/2898c3e0bbf904c68efb194525bcdfeedb3014c2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Simplify Getting Changed Files in Code Formatting Workflow (#133023)
This patch changes getting changed files in the pr code format job to
just checking out the previous two commits (the merge commit and its
porent, the current commit latest in main), which allows us to just diff
the merge commit. This means we do not have to checkout the ref through
the merge base, which should save approximately a minute per job (or
much more in some cases where the PR is particularly out of date).
Commit: 1e03408d4b17a792da5fd01b30f05ff055cfbd79
https://github.com/llvm/llvm-project/commit/1e03408d4b17a792da5fd01b30f05ff055cfbd79
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
Log Message:
-----------
[DirectX] Remove intrinsic definitions with no use (#133459)
Do cleanup in DXILFinalizeLinkage.cpp where intrinsic declares are getting orphaned.
This change reduces "Unsupported intrinsic for DXIL lowering" errors
when compiling DML shaders from 12218 to 415. and improves our
compilation success rate from less than 1% to 44%.
Commit: 40c1d50024f8f0306b8601559d69663ae3d2d9bb
https://github.com/llvm/llvm-project/commit/40c1d50024f8f0306b8601559d69663ae3d2d9bb
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
Log Message:
-----------
[HLSL] Implement the `smoothstep` intrinsic (#132288)
Closes #99156.
Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`
Commit: 34d858635f0887cc083ccbe3ac69fd34f107b4f6
https://github.com/llvm/llvm-project/commit/34d858635f0887cc083ccbe3ac69fd34f107b4f6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Move CI over to new project computation script
This patch migrates the CI over to the new compute_projects.py script
for calculating what projects need to be tested based on a change to
LLVM.
Reviewers: lnihlen, ldionne, tstellar, Endilll, joker-eph, Keenuts
Reviewed By: Keenuts, tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132642
Commit: 21eeca3db0341fef4ab4a6464ffe38b2eba5810c
https://github.com/llvm/llvm-project/commit/21eeca3db0341fef4ab4a6464ffe38b2eba5810c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude docs directories from triggering rebuilds
Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.
Reviewers: Keenuts, tstellar, lnihlen
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/133185
Commit: 41c906fe2b62a8266874a1146b9c85d96f1fa8fa
https://github.com/llvm/llvm-project/commit/41c906fe2b62a8266874a1146b9c85d96f1fa8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add rich build information for github workflows
This patch adds rich test failure information to the Github output,
using the same library that is used for the buildkite pipeline.
Eventually I think we want to add more information like reproduction
information using the containers, but that is very divergent between
Github and Buildkite, so we probably want to wait until we've switched
over before doing that.
Reviewers: Keenuts, tstellar, lnihlen, DavidSpickett
Reviewed By: DavidSpickett, Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/133197
Commit: 1e62a3505fa0d0ef1f706549ce62f645f3091cfa
https://github.com/llvm/llvm-project/commit/1e62a3505fa0d0ef1f706549ce62f645f3091cfa
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/linker-relaxation.s
Log Message:
-----------
[RISCV] Test %hi(absolute_symbol)
Commit: e87bec622c0d10ae736e160a9335055d466d76ab
https://github.com/llvm/llvm-project/commit/e87bec622c0d10ae736e160a9335055d466d76ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/fail-execute-test.test
A llvm/test/tools/llvm-reduce/fail-output-file.test
M llvm/tools/llvm-reduce/TestRunner.cpp
Log Message:
-----------
llvm-reduce: Make some error messages more consistent (#133563)
The coding standards states that error messages should start with
a lowercase. Also use WithColor, and add missing test coverage for
the failed to write to output file case.
Commit: 5b3e152e16950e551530b640335bb17dcc70a2fa
https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
Log Message:
-----------
llvm-reduce: Make run-ir-passes error more consistent (#133564)
Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.
Commit: 1878259c3960daeee91e2c95d487514d9e2984a4
https://github.com/llvm/llvm-project/commit/1878259c3960daeee91e2c95d487514d9e2984a4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Update verifier for `spirv.mlir.merge` (#133427)
- Moves the verification logic to the `verifyRegions` method of the
parent operation.
- Fixes a crash during verification when the last block lacks a
terminator.
Fixes #132850.
Commit: fa5025b76034bcdd65d3a96eb29ae1edc18b876e
https://github.com/llvm/llvm-project/commit/fa5025b76034bcdd65d3a96eb29ae1edc18b876e
Author: Marco Elver <elver at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Add entry for pcsections Metadata (#133423)
Add an entry for pcsections Metadata that references the PC Sections
Metadata document.
Fixes: https://github.com/llvm/llvm-project/issues/130552
Commit: 646ad89108da1e1f9aac9c20f348b2053da6fc4d
https://github.com/llvm/llvm-project/commit/646ad89108da1e1f9aac9c20f348b2053da6fc4d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__type_traits/is_referenceable.h
Log Message:
-----------
[libc++] Unify __can_reference and __is_referenceable_v (#133278)
Both traits do the same thing. This patch renames __can_reference to
__referenceable and moves it to the is_referenceable header.
Commit: 5b5f40283da2244f777eb606c722e4483fee4fab
https://github.com/llvm/llvm-project/commit/5b5f40283da2244f777eb606c722e4483fee4fab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes in operand-to-args (#133420)
Commit: d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
https://github.com/llvm/llvm-project/commit/d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags in operands-to-args (#133421)
Commit: d852cc5311e22d845b3d626c80a310570628fa2c
https://github.com/llvm/llvm-project/commit/d852cc5311e22d845b3d626c80a310570628fa2c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing call metadata in operands-to-args (#133422)
Commit: 1d0005a69ac812ea0ff069052daf4c2ea0242a48
https://github.com/llvm/llvm-project/commit/1d0005a69ac812ea0ff069052daf4c2ea0242a48
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future
Commit: d22e35be1768ed619269e6d0843260b25b52cb34
https://github.com/llvm/llvm-project/commit/d22e35be1768ed619269e6d0843260b25b52cb34
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add asinhf16 function (#131351)
Implement asinh for Float16 along with tests. Closes #131001
Commit: 9451617d563d3b0f43d86b25fd1b6a6528d0afc2
https://github.com/llvm/llvm-project/commit/9451617d563d3b0f43d86b25fd1b6a6528d0afc2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC] LLVM reduce: fix unused variable (#133584)
Commit: 1c7ab39f3d6959c64d01c8f275d672bd56315155
https://github.com/llvm/llvm-project/commit/1c7ab39f3d6959c64d01c8f275d672bd56315155
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133454)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
https://github.com/llvm/llvm-project/commit/0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
Revert "[NFC] LLVM reduce: remove unused variable" (#133586)
Reverts llvm/llvm-project#133584
Commit: 3e742b517a0606bfed329dfcb8c34c614ed73ea7
https://github.com/llvm/llvm-project/commit/3e742b517a0606bfed329dfcb8c34c614ed73ea7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU] clang-format `AMDGPUBaseInfo.[h,cpp]` (#133559)
Commit: 374a5bea522f97f0879f30dacd5079297bdcfb39
https://github.com/llvm/llvm-project/commit/374a5bea522f97f0879f30dacd5079297bdcfb39
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
Log Message:
-----------
[Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA (#133232)
Issue: Cray Pointer is not associated to Cray Pointee, leading to
Segmentation fault
Fix: GetUltimate, retrieves the base symbol in the current scope, which
gets passed all the references and returns the original symbol
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: 847cdd46e5433434661f4d7aa950dd5c5b28c063
https://github.com/llvm/llvm-project/commit/847cdd46e5433434661f4d7aa950dd5c5b28c063
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC][llvm-reduce] Fix an used variable warning in `ReduceOperandsToArgs.cpp`
Commit: e16541e1a6c02b32124e8893b29882bff072fd46
https://github.com/llvm/llvm-project/commit/e16541e1a6c02b32124e8893b29882bff072fd46
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
Log Message:
-----------
[libc++] fix `flat_set`'s transparent `insert` (#133402)
Unlike `flat_map` and `flat_multimap`, The two function template
overloads `flat_set::insert`'s wording strongly suggest we should use
the transparent comparator
https://eel.is/c++draft/flat.set#modifiers-1
Both the code and the tests were not using the transparent comparator,
which needs to be fixed
Commit: 1ff74917b56e9e57dd13286123144b5f13e9a517
https://github.com/llvm/llvm-project/commit/1ff74917b56e9e57dd13286123144b5f13e9a517
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/MachO/Driver.cpp
Log Message:
-----------
[lld] Use *Set::insert_range (NFC) (#133565)
Commit: 3db5be79d24bb48a38e844fafc3db054f8d8cc58
https://github.com/llvm/llvm-project/commit/3db5be79d24bb48a38e844fafc3db054f8d8cc58
Author: vporpo <vporpodas at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll
Log Message:
-----------
[SandboxVec] Add print-region pass (#131019)
This patch implements a simple printing pass for regions. This is meant
to be used in tests and for debugging.
Commit: 666faa7fd98b7a58e089a38083f33c067ed5b955
https://github.com/llvm/llvm-project/commit/666faa7fd98b7a58e089a38083f33c067ed5b955
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (REAPPLIED) (#133401)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use.
Second try after #133130 was reverted by #133331 due to it affecting reverted test files
Commit: fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
https://github.com/llvm/llvm-project/commit/fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
Log Message:
-----------
[RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo at plt` is different from
the legacy `call func at plt` (where `@plt` is simply ignored).
The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c
RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.
This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.
* MCValue::SymA can no longer have a SymbolVariant. Add an assert
similar to that of AArch64ELFObjectWriter.cpp before
https://reviews.llvm.org/D81446 (see my analysis at
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
if intrigued)
* `jump foo at plt, x31` now has a different diagnostic.
Pull Request: https://github.com/llvm/llvm-project/pull/132569
Commit: b9b39db5d7677710f1d00dc8ff5844ad2abb269f
https://github.com/llvm/llvm-project/commit/b9b39db5d7677710f1d00dc8ff5844ad2abb269f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
Log Message:
-----------
RISCVAsmParser: Don't treat operands with relocation specifier as parse-time constants
An immediate operand is encoded as an `MCExpr`, with `RISCVMCExpr`
specifying an operand that includes a relocation specifier. When
https://reviews.llvm.org/D23568 added initial fixup and relocation
support in 2017, it adapted code from `PPCMCExpr` (for `@l` `@ha`) to
evaluate the `RISCVMCExpr` operand. (PPCAsmParser had considerable
technical debt, though I’ve recently streamlined it somewhat, e.g.
8560da28c69de481f3ad147722577e87b902facb)
Evaluating RISCVMCExpr during parsing is unnecessary. For example,
there's no need to treat `lui a0, %hi(2)` differently from `lui a0,
%hi(foo)` when foo has not been defined yet.
This evaluation introduces unnecessary complexity. For instance, parser
functions require an extra check like `VK == RISCVMCExpr::VK_None`, as
seen in these examples:
```
if (!evaluateConstantImm(getImm(), Imm, VK) || VK != RISCVMCExpr::VK_None)
return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_None;
```
This PR eliminates the parse-time evaluation of `RISCVMCExpr`, aligning
it more closely with other targets.
---
`abs = 0x12345; lui t3, %hi(abs)` now generates
R_RISCV_HI20/R_RISCV_RELAX with linker relaxation.
(Tested by test/MC/RISCV/linker-relaxation.s)
(Notably, since commit ba2de8f22d0cac86d89c1806fb54ed3463349342 in
lld/ELF, the linker can handle R_RISCV_HI relocations with a symbol
index of 0 in -pie mode.)
Pull Request: https://github.com/llvm/llvm-project/pull/133377
Commit: 2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
https://github.com/llvm/llvm-project/commit/2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Use MCRegister. NFC
Commit: 3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
https://github.com/llvm/llvm-project/commit/3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll
Log Message:
-----------
[UnrollAndJam] Do not preserve loop nests if a loop was fully unrolled. (#133510)
If UnJ completely unrolls a loop and removes it entirely, the loop
remains in the current loop nest. If the loop nest gets reused the loops
will no longer be valid. As there is no way to remove a loop from a
LoopNest, this patch removes the preserve of the LoopNestAnalysis so
that it will be regenerated.
Fixes #124518
Commit: 884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
https://github.com/llvm/llvm-project/commit/884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
Log Message:
-----------
[clang-tools-extra] Use *Set::insert_range (NFC) (#133589)
Commit: 9c6eca28cbd4689173bc8b0733ffe39363481103
https://github.com/llvm/llvm-project/commit/9c6eca28cbd4689173bc8b0733ffe39363481103
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
Log Message:
-----------
[AArch64] Return an invalid cost for vscale x 2 x i128 srem.
This protects against invalid size requests on scalable vectors by checking the
original VT, not the legalized type when checking for scalars. The cost
returned is now invalid, which lines up with the codegen not being able to
produce a result.
Commit: 0cd82327ff71282b2bfc51090074a3fd63e4842d
https://github.com/llvm/llvm-project/commit/0cd82327ff71282b2bfc51090074a3fd63e4842d
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/BoundsSafety.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/SanitizerCoverage.rst
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
Log Message:
-----------
Fix some typos (NFC) (#133558)
Commit: 6b9813446625408393c5a2b4d0d54470f7932944
https://github.com/llvm/llvm-project/commit/6b9813446625408393c5a2b4d0d54470f7932944
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[VPlan] Re-enable narrowing interleave groups with interleaving.
Remove the UF = 1 restriction introduced by 577631f0a5 building on top
of 783a846507683, which allows updating all relevant users of the VF,
VPScalarIVSteps in particular.
This restores the full functionality of
https://github.com/llvm/llvm-project/pull/106441.
Commit: be7f185ca16e990614113519d003bfe3685f489b
https://github.com/llvm/llvm-project/commit/be7f185ca16e990614113519d003bfe3685f489b
Author: Alcaro <floating at muncher.se>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Fix typo in VirtualCall checker docs (#133593)
Commit: 3d43739753f3b50824a09343efe40a2a476488df
https://github.com/llvm/llvm-project/commit/3d43739753f3b50824a09343efe40a2a476488df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
Log Message:
-----------
[Basic] Use SmallSet::insert_range (NFC) (#133594)
Commit: d66af9c69b6960ad5f903cc6c0db99395dace6af
https://github.com/llvm/llvm-project/commit/d66af9c69b6960ad5f903cc6c0db99395dace6af
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
Log Message:
-----------
[mlir] Use SetVector::insert_range (NFC) (#133595)
Commit: abf9c1a18d2875b6a8f98eba3761b8389818e1bf
https://github.com/llvm/llvm-project/commit/abf9c1a18d2875b6a8f98eba3761b8389818e1bf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Switch a few attribute to use the C++11 syntax (#133293)
Using the C++11 attribute syntax makes it more strict where attributes
can be applied, reducing the number of possible positions an attribute
can appear in.
Commit: 31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
https://github.com/llvm/llvm-project/commit/31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][TTI] Adjust VLS shuffle costing to account for sub-mask reuse (#129793)
If we have a shuffle which can be split via VLA where two or more of the
destinations have exactly the same elements, then we only need to
account for them once in costing. The duplicate copies are are (at
worst) whole register moves.
Note that this change only handles the single source case. Doing the
multiple source case seemed a bit more complicated, and I didn't have a
motivating test case.
Commit: 2f5c836e08164ce8835d520001042efe93caf950
https://github.com/llvm/llvm-project/commit/2f5c836e08164ce8835d520001042efe93caf950
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
Log Message:
-----------
[SBProgress] Add swig support for `with` statement in Python (#133527)
We recently added an explicit finalize to SBProgress, #128966. I
realized while adding some additional implementations of SBProgress that
we should to add `with` support for ease of use. This patch addresses
adding and `__enter()__` method (which a no-op) and an `__exit()__` to
swig. I also refactor the emitter for the test to leverage `with`
instead of explicitly calling finalize, and I've updated the docstrings.
Commit: f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
https://github.com/llvm/llvm-project/commit/f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Initial codegen support for the XRivosVizip extension (#131933)
This implements initial code generation support for a subset of the
xrivosvizip extension. Specifically, this adds support for vzipeven,
vzipodd, and vzip2a, but not vzip2b, vunzip2a, or vunzip2b. The others
will follow in separate patches.
One review note: The zipeven/zipodd matchers were recently rewritten to
better match upstream style, so careful review there would be
appreciated. The matchers don't yet support type coercion to wider
types. This will be done in a future patch.
Commit: e8059467ef0041f6735b23ef680eb9070e308e33
https://github.com/llvm/llvm-project/commit/e8059467ef0041f6735b23ef680eb9070e308e33
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix -Wsign-compare warning from f8ee58a
lib/Target/RISCV/RISCVISelLowering.cpp:4629:26: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
4629 | for (unsigned i = 0; i != NumElts; ++i) {
| ~ ^ ~~~~~~~
1 error generated.
Commit: 0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
https://github.com/llvm/llvm-project/commit/0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Use *Set::insert_range (NFC) (#133601)
Commit: 8f5c3deadd79a19c8585e014581288e92462a97c
https://github.com/llvm/llvm-project/commit/8f5c3deadd79a19c8585e014581288e92462a97c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use llvm::append_range (NFC) (#133602)
Commit: e3a3f78f35e091f005197bdd8f0464684546b5a0
https://github.com/llvm/llvm-project/commit/e3a3f78f35e091f005197bdd8f0464684546b5a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/WindowScheduler.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#133603)
Commit: f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
https://github.com/llvm/llvm-project/commit/f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 02af13aacb477d1f0a89375646f09b638055e3b9
https://github.com/llvm/llvm-project/commit/02af13aacb477d1f0a89375646f09b638055e3b9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV] Simplify evaluateAsRelocatableImpl. NFC
RISCVMCExpr is not created with VK_None.
Commit: ad1ba15ea894ac47b0f2447db191a14ebe1b301d
https://github.com/llvm/llvm-project/commit/ad1ba15ea894ac47b0f2447db191a14ebe1b301d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#133606)
Commit: d8b078d5509d84da987c18cb357aac867051881c
https://github.com/llvm/llvm-project/commit/d8b078d5509d84da987c18cb357aac867051881c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133607)
Commit: db603a09dabefc6847423c8968578ce6d54a7a2d
https://github.com/llvm/llvm-project/commit/db603a09dabefc6847423c8968578ce6d54a7a2d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[MC] Move ELF-specific handleAddSubRelocations to ELFObjectWriter::recordRelocation
Commit: d9b3209e8640e69d328b7ead169c5304a80dd1be
https://github.com/llvm/llvm-project/commit/d9b3209e8640e69d328b7ead169c5304a80dd1be
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[X86] applyFixup: Remove unneeded Target.isAbsolute() and isResolved
Target and isResolved are only used by ARM.
Commit: c6d0e0435dba0a02ad1970e89083ad61922f7245
https://github.com/llvm/llvm-project/commit/c6d0e0435dba0a02ad1970e89083ad61922f7245
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
Log Message:
-----------
[M68k] applyFixup: don't reference Target and IsResolved
They are workarounds only needed by ARM and might be removed.
Commit: eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
https://github.com/llvm/llvm-project/commit/eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/MaximalStaticExpansion.cpp
Log Message:
-----------
[polly] Use *Set::insert_range (NFC) (#133609)
Commit: 976a384ba67adf059ab9fe5550e7e67b6fc53396
https://github.com/llvm/llvm-project/commit/976a384ba67adf059ab9fe5550e7e67b6fc53396
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
Log Message:
-----------
[clang] implement common-sugar for adjusted member-pointers (#133613)
Commit: 9747bb182f430bb1bd3525b7f42e88df626e28e5
https://github.com/llvm/llvm-project/commit/9747bb182f430bb1bd3525b7f42e88df626e28e5
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
Log Message:
-----------
[CodeGen][StaticDataSplitter]Support constant pool partitioning (#129781)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125756
In this PR, static-data-splitter pass produces the aggregated profile
counts of constants for constant pools in a global state
(`StateDataProfileInfo`), and asm printer consumes the profile counts to
produce `.hot` or `.unlikely` prefixes.
This implementation covers both x86 and aarch64 asm printer.
Commit: fea6b388055284f37852e615fbf5b40a3ba34249
https://github.com/llvm/llvm-project/commit/fea6b388055284f37852e615fbf5b40a3ba34249
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/DeltaPass.h
A llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h
Log Message:
-----------
[llvm-reduce]: print short form, actionable names in the log (#133561)
Closes #132696
before the patch like this:
```
----------------------------
*** Reducing GlobalObjects...
----------------------------
*** Reducing GV Initializers...
----------------------------
*** Reducing GlobalVariables...
----------------------------
```
after the patch like this:
```
----------------------------
*** Reducing GlobalObjects (global-objects)...
----------------------------
*** Reducing GV Initializers (global-initializers)...
----------------------------
*** Reducing GlobalVariables (global-variables)...
----------------------------
```
Commit: 825ecfed9e08f27ecb65b960bb754f6d300ff625
https://github.com/llvm/llvm-project/commit/825ecfed9e08f27ecb65b960bb754f6d300ff625
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#133615)
Commit: 8db434a4815737e4d665aeedd1495369e80ea208
https://github.com/llvm/llvm-project/commit/8db434a4815737e4d665aeedd1495369e80ea208
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/tools/bugpoint/ToolRunner.cpp
M llvm/tools/dsymutil/Reproducer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/tools/obj2yaml/macho2yaml.cpp
Log Message:
-----------
[bugpoint] Avoid repeated hash lookups (NFC) (#133616)
Commit: a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
https://github.com/llvm/llvm-project/commit/a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaPasses.def
Log Message:
-----------
llvm-reduce: Remove trailing whitespace
Commit: 057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
https://github.com/llvm/llvm-project/commit/057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Trim unnecessary includes
Commit: 1cb6ba5c60c3ce19785948eb327036a455dd1457
https://github.com/llvm/llvm-project/commit/1cb6ba5c60c3ce19785948eb327036a455dd1457
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Improve const correctness of constraint normalization (#133633)
Follow up to #132849
Commit: faefb70c7a771ae646df3d5defe122cfff2aac7c
https://github.com/llvm/llvm-project/commit/faefb70c7a771ae646df3d5defe122cfff2aac7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DLL_VIS
This macro is only ever used inside the definiton for the various
visibility macros on windows. There, it's defined in multiple places
with different expansions, which makes it more confusing than helpful
when trying to figure out what macro expands to what.
Commit: 10dd404d9fbe505fb189972565c577318a6b577b
https://github.com/llvm/llvm-project/commit/10dd404d9fbe505fb189972565c577318a6b577b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249
Commit: 4dbcefe3806f9970c0e4f4b08d98df5253517f14
https://github.com/llvm/llvm-project/commit/4dbcefe3806f9970c0e4f4b08d98df5253517f14
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp
This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:
libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
724 | llvm::append_range(Worklist, successors(BB));
| ^
Commit: 9a913a39442d986cf8315f88666f8f5ebd6a4a94
https://github.com/llvm/llvm-project/commit/9a913a39442d986cf8315f88666f8f5ebd6a4a94
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)
Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.
Commit: 424c8f9217b7f746eb10c97be7314556c24065cd
https://github.com/llvm/llvm-project/commit/424c8f9217b7f746eb10c97be7314556c24065cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead UF argument from VPTransformState ctor (NFC).
Commit: 5b65b4d46412f0d5838b0d67b81b6dc03c93908f
https://github.com/llvm/llvm-project/commit/5b65b4d46412f0d5838b0d67b81b6dc03c93908f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Remove dead code from evaluateTargetFixup
AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.
Commit: 5715510d00d44d97a0024caf864e649225372281
https://github.com/llvm/llvm-project/commit/5715510d00d44d97a0024caf864e649225372281
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[RISCV] Remove unused declarations and getSpecifier. NFC
Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.
Commit: 1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
https://github.com/llvm/llvm-project/commit/1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
Author: Liqiang TAO <taolq at outlook.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
StackProtector: use isInTailCallPosition to verify tail call position (#68997)
The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.
Commit: 52639d69acbed0e49fd855c8c04cd9307405e2e6
https://github.com/llvm/llvm-project/commit/52639d69acbed0e49fd855c8c04cd9307405e2e6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)
Improved "options" sections of `bugprone-` and `modernize-` checks:
1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.
Commit: 8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
https://github.com/llvm/llvm-project/commit/8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add `DenseMap::insert_range` (#133600)
This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.
Commit: 5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
https://github.com/llvm/llvm-project/commit/5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
Log Message:
-----------
Move relocation specifiers to AMDGPUMCExpr::Specifier
Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.
Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.
(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022
It's up to AMDGPU maintainers to integrate these constants into Specifier.
)
Pull Request: https://github.com/llvm/llvm-project/pull/133608
Commit: 8a8c89a4c6f92412643f2bbe46a20800197321b0
https://github.com/llvm/llvm-project/commit/8a8c89a4c6f92412643f2bbe46a20800197321b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use llvm::erase_if (NFC) (#133647)
Commit: 1c8647a25a5a7527ea546212ddff56ef88ab27b9
https://github.com/llvm/llvm-project/commit/1c8647a25a5a7527ea546212ddff56ef88ab27b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133648)
Commit: 2c73711995e4fe0f706de351eef4122b8cd8a4d7
https://github.com/llvm/llvm-project/commit/2c73711995e4fe0f706de351eef4122b8cd8a4d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use llvm::append_range (NFC) (#133649)
Commit: 06cb7b1e14a117e8fe19b72689c8616c772c0807
https://github.com/llvm/llvm-project/commit/06cb7b1e14a117e8fe19b72689c8616c772c0807
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133650)
Commit: fd8fb7148674456ce3fb338864c9aa9f576feb22
https://github.com/llvm/llvm-project/commit/fd8fb7148674456ce3fb338864c9aa9f576feb22
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Handle scalar casts and blend in isUniformAfterVectorization.
Currently should be NFC, but will be used by
https://github.com/llvm/llvm-project/pull/117506.
Commit: 5f56eaff8b033e5d87818bdc9543c1463cc0a755
https://github.com/llvm/llvm-project/commit/5f56eaff8b033e5d87818bdc9543c1463cc0a755
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Remove duplicated VPDerivedIVRecipe handling (NFC).
Also handled by an earlier, more general if above.
Commit: 848faf49f793968ae6dee1577f507d4cc68b157e
https://github.com/llvm/llvm-project/commit/848faf49f793968ae6dee1577f507d4cc68b157e
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
Log Message:
-----------
[lldb] Combine disassembler gtest binaries for efficiency (#133539)
Each of these executables is 642MB for me locally with split DWARF, and
we don't need 3 statically linked gtest binaries when one will do.
Commit: 92e591684576e7244d53722b04e840f28c3f03c3
https://github.com/llvm/llvm-project/commit/92e591684576e7244d53722b04e840f28c3f03c3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/unittests/Disassembler/CMakeLists.txt
Log Message:
-----------
[lldb] Fix cmake logic when no targets are configured
Should fix reported lldb-remote-linux-ubuntu bot post-submit failure
Commit: 3b3d1a5c261419da864d0883eccd040c2b72e237
https://github.com/llvm/llvm-project/commit/3b3d1a5c261419da864d0883eccd040c2b72e237
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[NFC][clang-tidy] Add type annotations to check_clang_tidy (#133140)
```
> python3 -m mypy --strict clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Success: no issues found in 1 source file
```
Commit: 2796e41ade306c3bf0f2e21311dff406bcf65652
https://github.com/llvm/llvm-project/commit/2796e41ade306c3bf0f2e21311dff406bcf65652
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
[lldb] Remove unused Version.h include in Telemetry.cpp (NFC)
Commit: e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
https://github.com/llvm/llvm-project/commit/e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add an option for editing enum trailing commas (#133576)
Also refactor the code that removes/replaces a token.
Commit: 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
https://github.com/llvm/llvm-project/commit/3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/dollar-name.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
[MC] Don't print () around $ names
This MIPS behavior from edb9d84dcc4824865e86f963e52d67eb50dde7f5 (2010)
is obsoleted and misleading. This caused confusion in
https://reviews.llvm.org/D123702 ([NVPTX] Disable parens for identifiers
starting with '$')
Note: $tmp was rejected by AsmParser before
https://reviews.llvm.org/D75111 (2020)
Commit: 5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
https://github.com/llvm/llvm-project/commit/5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
Author: John Harrison <harjohn at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Swapping to not use FLAG_ENUM and just defining typed enums. (#133622)
Small tweak to the previous patch to make the enums in
`lldb_dap::protocol` typed to work with types like `llvm::DenseSet`
found by ubsan.
Commit: c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
https://github.com/llvm/llvm-project/commit/c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
Author: Roman Belenov <103195329+r-belenov at users.noreply.github.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
Log Message:
-----------
[Exegesis][AArch64] Use more generic cycles counter (#133376)
CPU_CYCLES counter does not work on some Aarch64 CPUs; CYCLES is more
generic and is equivalent to CPU_CYCLES in case the latter is supported.
Longer story - CPU_CYCLES work only on CPU models explicitly recognized
by libpfm4 ( via pfm_arm_detect_*() functions in
https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/pfmlib_arm_armv8.c
) and its name is consistent with ARM documentation. However, the
counter is architectural and is supported on all ARMv8 CPUs; libpfm4
recognizes generic PMU on unknown ARMv8 CPUs, but does not provide
CPU_CYCLES event. Instead, CYCLES is provided (an alias to
PERF_COUNT_HW_CPU_CYCLES). Physically, it is the same event with code
0x11. On supported architectures CYCLES also work, so the change should
not introduce regression.
Commit: 94122d58fc77079a291a3d008914006cb509d9db
https://github.com/llvm/llvm-project/commit/94122d58fc77079a291a3d008914006cb509d9db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/Lint.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
Log Message:
-----------
Lint: Replace -lint-abort-on-error cl::opt with pass parameter (#132933)
Commit: 6257621f41d1deb31cfbfcee993a75991a0bca13
https://github.com/llvm/llvm-project/commit/6257621f41d1deb31cfbfcee993a75991a0bca13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/utils/not/not.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#133658)
Commit: 65734de9b93bef5b3211298b4fcc5dc79d18d31e
https://github.com/llvm/llvm-project/commit/65734de9b93bef5b3211298b4fcc5dc79d18d31e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Remove the redundant MainOp and AltOp find process. (#133642)
Commit: dad86f5931453ff3d14ba5adb93855ee780298b2
https://github.com/llvm/llvm-project/commit/dad86f5931453ff3d14ba5adb93855ee780298b2
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
Log Message:
-----------
[ORC] MapperJITLinkMemoryManager should deinitialize on abandon, not deallocate.
The JITLinkMemoryManager::InFlightAlloc::abandon method should only abandon
memory for the current allocation, not any other allocations. In
MapperJITLinkMemoryManager this corresponds to the deinitialize operation, not
the deallocate operation (which releases whole slabs of memory that may be
shared by many allocations).
No testcase: This was spotted by inspection. The failing program was linking
concurrently when one linker instance raised an error. Through the call to
abandon an entire underlying slab was deallocated, resulting in segfaults in
other concurrent links that were sharing that slab.
Commit: c9095aa3103460c967fd5ee5dcc695284793ef3c
https://github.com/llvm/llvm-project/commit/c9095aa3103460c967fd5ee5dcc695284793ef3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Cleanup assembler predicates after #133377. (#133652)
Make isSImm12 look more like isUImm20LUI.
Move variables closer to their use.
Fold some function calls into if statements.
Commit: 04a67528d303ac4be7943b2ae57222f9c9fd509a
https://github.com/llvm/llvm-project/commit/04a67528d303ac4be7943b2ae57222f9c9fd509a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/Thumb2/tpsoft.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test
Log Message:
-----------
[MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)
The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.
Examples:
- (SymA - SymB) + C now prints as SymA - SymB + C.
This updates the output of -fexperimental-relative-c++-abi-vtables for
AArch64 and x86 to `.long _ZN1B3fooEv at PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
change primarily affecting AMDGPUMCExpr.
Commit: c6b3fd799962577488a0ecbdac806f4753e14d3c
https://github.com/llvm/llvm-project/commit/c6b3fd799962577488a0ecbdac806f4753e14d3c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/test/MC/ELF/gnu-type-diagnostics.s
Log Message:
-----------
[MC] maybeParseSectionType: test CommentString instead of AllowAtInIdentifier
Rework https://reviews.llvm.org/D31026
AllowAtInIdentifier is a misnomer: it should be false for ELF targets,
but is currently true as a hack to parse expr at specifier.
Commit: 6fb674174ecc1d27b0d303c89c666d949f7afee5
https://github.com/llvm/llvm-project/commit/6fb674174ecc1d27b0d303c89c666d949f7afee5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
Log Message:
-----------
[RISCV] Fix the operand types for shift instructions in RISCVInstrInfoSFB.td. NFC
Due to a copy paste mistake we used simm12 instead of the correct
type. This doesn't matter in practice because we only generate these
instructions with C++ code and we expand them before the AsmPrinter.
Commit: 60199ee5396c2242c7d3cfa882e28312e6895c2a
https://github.com/llvm/llvm-project/commit/60199ee5396c2242c7d3cfa882e28312e6895c2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Use DenseMap::insert_range (NFC) (#133655)
Commit: 2fc08d4c31285ecec64fda7e0833d583503f10d0
https://github.com/llvm/llvm-project/commit/2fc08d4c31285ecec64fda7e0833d583503f10d0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Use DenseMap::insert_range (NFC) (#133656)
Commit: fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
https://github.com/llvm/llvm-project/commit/fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M polly/include/polly/CodeGen/IRBuilder.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Use DenseMap::insert_range (NFC) (#133657)
Commit: d63cc4c87689a79d25521c9aa2ce4a335e5984e3
https://github.com/llvm/llvm-project/commit/d63cc4c87689a79d25521c9aa2ce4a335e5984e3
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/lvalue_elements.c
Log Message:
-----------
[analyzer] Unknown array lvalue element in Store (#133381)
Remove the early return for BaseRegions of type ElementRegion. Return
meaningful MemRegionVal for these cases as well.
Previous discussion:
https://discourse.llvm.org/t/lvalueelement-returns-unknownval-for-multi-dimensional-arrays/85476
Commit: 809f857d2c8edffe1dac317982b68a467710f877
https://github.com/llvm/llvm-project/commit/809f857d2c8edffe1dac317982b68a467710f877
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Support early-exit loops in optimizeForVFAndUF. (#131539)
Update optimizeForVFAndUF to support early-exit loops by handling
BranchOnCond(Or(..., CanonicalIV == TripCount)) via SCEV
PR: https://github.com/llvm/llvm-project/pull/131539
Commit: 842b57b77520abf202999946d3bb01b5dcabb179
https://github.com/llvm/llvm-project/commit/842b57b77520abf202999946d3bb01b5dcabb179
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
Log Message:
-----------
Reland [MS][clang] Add support for vector deleting destructors (#133451)
Whereas it is UB in terms of the standard to delete an array of objects
via pointer whose static type doesn't match its dynamic type, MSVC
supports an extension allowing to do it.
Aside from array deletion not working correctly in the mentioned case,
currently not having this extension implemented causes clang to generate
code that is not compatible with the code generated by MSVC, because
clang always puts scalar deleting destructor to the vftable. This PR
aims to resolve these problems.
It was reverted due to link time errors in chromium with sanitizer
coverage enabled,
which is fixed by https://github.com/llvm/llvm-project/pull/131929 .
The second commit of this PR also contains a fix for a runtime failure
in chromium reported
in
https://github.com/llvm/llvm-project/pull/126240#issuecomment-2730216384
.
Fixes https://github.com/llvm/llvm-project/issues/19772
Commit: 5c65a321778b99f745d193629975fb6ced34fe07
https://github.com/llvm/llvm-project/commit/5c65a321778b99f745d193629975fb6ced34fe07
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
Log Message:
-----------
[RISCV] Vectorize phi for loop carried @llvm.vp.reduce.* (#131974)
LLVM vector predication reduction intrinsics return a scalar result, but
on RISC-V vector reduction instructions write the result in the first
element of a vector register. So when a reduction in a loop uses a
scalar phi, we end up with unnecessary scalar moves:
```asm
loop:
vmv.s.x v8, zero
vredsum.vs v8, v10, v8
vmv.x.s a0, v8
````
This mainly affects vector predication reduction. This tries to
vectorize any scalar phis that feed into a vector predication reduction
in RISCVCodeGenPrepare, converting:
```llvm
vector.body:
%red.phi = phi i32 [ ..., %entry ], [ %red, %vector.body ]
%red = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %red.phi, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
```
to
```llvm
vector.body:
%red.phi = phi <vscale x 2 x i32> [ ..., %entry ], [ %acc.vec, %vector.body]
%phi.scalar = extractelement <vscale x 2 x i32> %red.phi, i64 0
%acc = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %phi.scalar, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
%acc.vec = insertelement <vscale x 2 x i32> poison, float %acc, i64 0
```
Which eliminates the scalar -> vector -> scalar crossing during
instruction selection.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
https://github.com/llvm/llvm-project/commit/9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Make GetRowForFunctionOffset compatible with discontinuous functions (#133250)
The function had special handling for -1, but that is incompatible with
functions whose entry point is not the first address. Use std::nullopt
instead.
Commit: 0ec94983c4cf9183f0768d6e76b363e5ebc6b255
https://github.com/llvm/llvm-project/commit/0ec94983c4cf9183f0768d6e76b363e5ebc6b255
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-tlsdesc.s
Log Message:
-----------
[lld][LoongArch] Relax TLSDESC code sequence (#123677)
Relax TLSDESC code sequence.
Original code sequence:
* pcalau12i $a0, %desc_pc_hi20(sym_desc)
* addi.d $a0, $a0, %desc_pc_lo12(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
Cannot convert to LE/IE, but relax:
* pcaddi $a0, %desc_pcrel_20(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
TODO: The transition from TLSDESC GD/LD to IE/LE will implement in a
future patch.
Commit: 1dee12531d6070170ed1e90a654b744d365cc56e
https://github.com/llvm/llvm-project/commit/1dee12531d6070170ed1e90a654b744d365cc56e
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
A mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
R mlir/test/Conversion/MPIToLLVM/ops.mlir
A mlir/test/Dialect/MPI/mpiops.mlir
R mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[mlir][mpi] Lowering MPI_Allreduce (#133133)
Lowering of mpi.all_reduce to LLVM function call
Commit: 606e0b4806b92481e8be35f4e0cfccd0074c6ee7
https://github.com/llvm/llvm-project/commit/606e0b4806b92481e8be35f4e0cfccd0074c6ee7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/dllexport.ll
Log Message:
-----------
[ARM64EC] Add support for function aliases on ARM64EC (#132295)
Required for mingw-w64, which uses the alias attribute in its CRT.
Follows ARM64EC mangling rules by mangling the alias symbol and emitting
an unmangled anti-dependency alias. Since metadata is not allowed on
GlobalAlias objects, extend arm64ec_unmangled_name to support multiple
unmangled names and attach the alias anti-dependency name to the target
function's metadata.
Commit: f82283a84ed897f06a1aaac028accbad0d5057c7
https://github.com/llvm/llvm-project/commit/f82283a84ed897f06a1aaac028accbad0d5057c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Use 80 dashes for section separator in status printing (#133686)
Commit: 78777a204ad9a3f17f04f90040f88855f47aa50f
https://github.com/llvm/llvm-project/commit/78777a204ad9a3f17f04f90040f88855f47aa50f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
Log Message:
-----------
[LV]Split store-load forward distance analysis from other checks, NFC (#121156)
The patch splits the store-load forwarding distance analysis from other
dependency analysis in LAA. Currently it supports only power-of-2
distances, required to support non-power-of-2 distances in future.
Part of #100755
Commit: f4d25c498a20d73b9d3e4828023486a7b2591f38
https://github.com/llvm/llvm-project/commit/f4d25c498a20d73b9d3e4828023486a7b2591f38
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[LV][NFC] Regenerate some SVE tests using --filter-out-after option (#132174)
I recently added a new option to update_test_checks.py that can
filter out all CHECK lines after a certain point. We usually don't
care about checking for the original scalar loop after the vector
loop because it doesn't change. Cutting out unnecessary CHECK
lines makes the files smaller and hopefully the tests run quicker.
Commit: aad9630e42d70b4cbfd6bc544576bd96844e737d
https://github.com/llvm/llvm-project/commit/aad9630e42d70b4cbfd6bc544576bd96844e737d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - pull out common variables. NFC. (#133705)
Reduces diff for an updated version of #133083
Commit: 2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
https://github.com/llvm/llvm-project/commit/2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Silence signed comparison warning. NFC
After f4ec179bf5295f92aa0346392a58fad54f9b458e, AbsImm is no longer signed and cannot be < 0.
Commit: b9b9addae6c79c72394c8260106f8ba5281e9747
https://github.com/llvm/llvm-project/commit/b9b9addae6c79c72394c8260106f8ba5281e9747
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
Log Message:
-----------
[AArch64] Add bitcast + extend tests. NFC
Commit: 9b32f3d0966723f443328d8b49c149bde6725899
https://github.com/llvm/llvm-project/commit/9b32f3d0966723f443328d8b49c149bde6725899
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - don't return early on failure of EXTRACT_SUBVECTOR(INSERT_SUBVECTOR()) -> BITCAST fold (#133695)
Always allow later folds to try to match as well.
Commit: cb54026d92191e347629265d4082f5cc2cc28020
https://github.com/llvm/llvm-project/commit/cb54026d92191e347629265d4082f5cc2cc28020
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Recognize wait fork in Verilog (#132042)
before
```Verilog
wait fork
;
wait fork
;
wait fork
;
```
after
```Verilog
wait fork;
wait fork;
wait fork;
```
The `wait fork` statement should not start a block. Previously the
formatter treated the `fork` part as the start of a new block. Now the
problem is fixed.
Commit: ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
https://github.com/llvm/llvm-project/commit/ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
Commit: 0794d5cfba4b78b1bf7980a5f9434382a697df23
https://github.com/llvm/llvm-project/commit/0794d5cfba4b78b1bf7980a5f9434382a697df23
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
Log Message:
-----------
[clang][Sema] Fix typo in 'offsetof' diagnostics (#133448)
Before:
```
offset of on non-POD type
```
After:
```
offsetof on non-POD type
```
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 96efb21e8865e8f43192979991fdccf08f1a6da4
https://github.com/llvm/llvm-project/commit/96efb21e8865e8f43192979991fdccf08f1a6da4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
Log Message:
-----------
[X86] Add regression test for insert_subvector(x,extract_subvector(broadcast)) pattern identified in #133083
Infinite loop check
Commit: 8d69e953b5a894c215b0cff7c6b0687b2b492318
https://github.com/llvm/llvm-project/commit/8d69e953b5a894c215b0cff7c6b0687b2b492318
Author: Stefan Pintilie <pintilie at synopsys.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Add combine for shadd family of instructions. (#130829)
For example for the following situation:
%6:gpr = SLLI %2:gpr, 2
%7:gpr = ADDI killed %6:gpr, 24
%8:gpr = ADD %0:gpr, %7:gpr
If we swap the two add instrucions we can merge the shift and add. The
final code will look something like this:
%7 = SH2ADD %0, %2
%8 = ADDI %7, 24
Commit: c7572ae213d215d54a10c8a03db75cc01f6291bd
https://github.com/llvm/llvm-project/commit/c7572ae213d215d54a10c8a03db75cc01f6291bd
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
Log Message:
-----------
[X86][AVX10] Re-target mavx10.1 and emit warning for mavx10.x-256/512 and m[no-]evex512 (#132542)
The 256-bit maximum vector register size control was removed from AVX10
whitepaper, ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
- Re-target m[no-]avx10.1 to enable AVX10.1 with 512-bit maximum vector
register size;
- Emit warning for mavx10.x-256, noting AVX10/256 is not supported;
- Emit warning for mavx10.x-512, noting to use m[no-]avx10.x instead;
- Emit warning for m[no-]evex512, noting AVX10/256 is not supported;
This patch only changes Clang driver behavior. The features
avx10.x-256/512 keep unchanged and will be removed in the next release.
Commit: 8078665bca1e16e33a09aea0310102077d429ada
https://github.com/llvm/llvm-project/commit/8078665bca1e16e33a09aea0310102077d429ada
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/hypotf16.cpp
A libc/src/math/hypotf16.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/hypotf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add hypotf16 function (#131991)
Implement hypot for Float16 along with tests.
Commit: a61cc1b99a50d832c650132cc9956320bfe594f5
https://github.com/llvm/llvm-project/commit/a61cc1b99a50d832c650132cc9956320bfe594f5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] Skip combineDpp with t16 instructions (#128918)
We only emits v_mov_b32/64_dpp. Don't combine t16 instructions with mov
dpp. Update the test inputs to be legal.
It is future work to emit v_mov_b16_dpp, and then update GCNDPPCombine
to combine it with the 16-bit instructions.
Commit: 4007de00a0574141695ace7a8d34aaf740a2c2e4
https://github.com/llvm/llvm-project/commit/4007de00a0574141695ace7a8d34aaf740a2c2e4
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Enable unnecessary-virtual-specifier by default (#133265)
This turns on the unnecessary-virtual-specifier warning in general, but
disables it when building LLVM. It also tweaks the warning description
to be slightly more accurate.
Background: I've been working on cleaning up this warning in two
codebases: LLVM and chromium (plus its dependencies). The chromium
cleanup has been straightforward. Git archaeology shows that there are
two reasons for the warnings: classes to which `final` was added after
they were initially committed, and classes with virtual destructors that
nobody remarks on. Presumably the latter case is because people are just
very used to destructors being virtual.
The LLVM cleanup was more surprising: I discovered that we have an [old
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers)
about including out-of-line virtual functions in every class with a
vtable, even `final` ones. This means our codebase has many virtual
"anchor" functions which do nothing except control where the vtable is
emitted, and which trigger the warning. I looked into alternatives to
satisfy the policy, such as using destructors instead of introducing a
new function, but it wasn't clear if they had larger implications.
Overall, it seems like the warning is genuinely useful in most codebases
(evidenced by chromium and its dependencies), and LLVM is an unusual
case. Therefore we should enable the warning by default, and turn it off
only for LLVM builds.
Commit: 68947342b75cc71f3ac9041d11db086d8d074336
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Metadata.def
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
Add support for fixed-point types (#129596)
This adds DWARF generation for fixed-point types. This feature is needed
by Ada.
Note that a pre-existing GNU extension is used in one case. This has
been emitted by GCC for years, and is needed because standard DWARF is
otherwise incapable of representing these types.
Commit: 74b7abf15452574808834c0a08dd2af6bada2648
https://github.com/llvm/llvm-project/commit/74b7abf15452574808834c0a08dd2af6bada2648
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IRBuilder] Add new overload for CreateIntrinsic (#131942)
Add a new `CreateIntrinsic` overload with no `Types`, useful for
creating calls to non-overloaded intrinsics that don't need additional
mangling.
Commit: 50949ebf523cc09cc911a12691fb79b6ac97102a
https://github.com/llvm/llvm-project/commit/50949ebf523cc09cc911a12691fb79b6ac97102a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Expose the Target API mutex through the SB API (#133295)
Expose u target API mutex through the SB API. This is motivated by
lldb-dap, which is built on top of the SB API and needs a way to execute
a series of SB API calls in an atomic manner (see #131242).
We can solve this problem by either introducing an additional layer of
locking at the DAP level or by exposing the existing locking at the SB
API level. This patch implements the second approach.
This was discussed in an RFC on Discourse [0]. The original
implementation exposed a move-only lock rather than a mutex [1] which
doesn't work well with SWIG 4.0 [2]. This implement the alternative
solution of exposing the mutex rather than the lock. The SBMutex
conforms to the BasicLockable requirement [3] (which is why the methods
are called `lock` and `unlock` rather than Lock and Unlock) so it can be
used as `std::lock_guard<lldb::SBMutex>` and
`std::unique_lock<lldb::SBMutex>`.
[0]: https://discourse.llvm.org/t/rfc-exposing-the-target-api-lock-through-the-sb-api/85215/6
[1]: https://github.com/llvm/llvm-project/pull/131404
[2]: https://discourse.llvm.org/t/rfc-bumping-the-minimum-swig-version-to-4-1-0/85377/9
[3]: https://en.cppreference.com/w/cpp/named_req/BasicLockable
Commit: 945c494e2c3c078e26ff521ef3e9455e0ff764ac
https://github.com/llvm/llvm-project/commit/945c494e2c3c078e26ff521ef3e9455e0ff764ac
Author: Yuval Deutscher <yuvald at sweet.security>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Use correct path for lldb-server executable (#131519)
Hey,
This solves an issue where running lldb-server-20 with a non-absolute
path (for example, when it's installed into `/usr/bin` and the user runs
it as `lldb-server-20 ...` and not `/usr/bin/lldb-server-20 ...`) fails
with `error: spawn_process failed: execve failed: No such file or
directory`. The underlying issue is that when run that way, it attempts
to execute a binary named `lldb-server-20` from its current directory.
This is also a mild security hazard because lldb-server is often being
run as root in the directory /tmp, meaning that an unprivileged user can
create the file /tmp/lldb-server-20 and lldb-server will execute it as
root. (although, well, it's a debugging server we're talking about, so
that may not be a real concern)
I haven't previously contributed to this project; if you want me to
change anything in the code please don't hesitate to let me know.
Commit: b91f978647c1468ae3dd469971a8185c0b788830
https://github.com/llvm/llvm-project/commit/b91f978647c1468ae3dd469971a8185c0b788830
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Log Message:
-----------
[gn build] Port 50949ebf523c
Commit: c20bea09c25214e15cf704ea3749894b6d531ce1
https://github.com/llvm/llvm-project/commit/c20bea09c25214e15cf704ea3749894b6d531ce1
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Regen a test with UTC (#133432)
Commit: bd862a459d75ef137235853c994dea97a0bc7794
https://github.com/llvm/llvm-project/commit/bd862a459d75ef137235853c994dea97a0bc7794
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Add subtarget feature for v_lshl_add_u64. NFC. (#133723)
Commit: 799e9053641a6478d3144866a97737b37b87c260
https://github.com/llvm/llvm-project/commit/799e9053641a6478d3144866a97737b37b87c260
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Log Message:
-----------
[lldb] Create a default rate limit constant in Progress (NFC) (#133506)
In #133211, Greg suggested making the rate limit configurable through a
setting. Although adding the setting is easy, the two places where we
currently use rate limiting aren't tied to a particular debugger.
Although it'd be possible to hook up, given how few progress events
currently implement rate limiting, I don't think it's worth threading
this through, if that's even possible.
I still think it's a good idea to be consistent and make it easy to pick
the same rate limiting value, so I've moved it into a constant in the
Progress class.
Commit: ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
https://github.com/llvm/llvm-project/commit/ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] For RV32C, disassembly of c.slli should fail when immediate > 31 (#133713)
Fixes #133712.
The change causes `c.slli` instructions whose immediate has bit 5 set to
be rejected when disassembling RV32C. Added a test to exhaustively cover
c.slli for 32 bit targets. A minor tweak to make the debug output a
little more readable.
The spec. (20240411) says:
> For RV32C, shamt[5] must be zero; the code points with shamt[5]=1 are
designated for custom extensions. For RV32C and RV64C, the shift amount
must be non-zero; the code points with shamt=0 are HINTs. For all base
ISAs, the code points with rd=x0 are HINTs, except those with shamt[5]=1
in RV32C.
Commit: 3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
https://github.com/llvm/llvm-project/commit/3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/amdgpu/lib/SOURCES
A libclc/amdgpu/lib/math/native_exp2.cl
Log Message:
-----------
[libclc][amdgpu] Implement native_exp2 via AMD builtin (#133696)
This came up during a discussion on #129679, which has been split out as
a preparatory commit.
An example of the AMDGPU codegen is:
define <2 x float> @_Z10native_expDv2_f(<2 x float> %val) {
%mul = fmul afn <2 x float> %val, splat (float 0x3FF7154760000000)
%0 = extractelement <2 x float> %mul, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit.i = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %mul, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2.i = insertelement <2 x float> %vecinit.i, float %3, i64 1
ret <2 x float> %vecinit2.i
}
define <2 x float> @_Z11native_exp2Dv2_f(<2 x float> %x) {
%0 = extractelement <2 x float> %x, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %x, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2 = insertelement <2 x float> %vecinit, float %3, i64 1
ret <2 x float> %vecinit2
}
Commit: 87602f6d03ada10d0de7f1440320ffec4eb86790
https://github.com/llvm/llvm-project/commit/87602f6d03ada10d0de7f1440320ffec4eb86790
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/math/clc_log_base.h
Log Message:
-----------
[libclc] Fix unresolved reference to missing table (#133691)
Splitting the 'ln_tbl' into two in db98e292 wasn't done thoroughly
enough as some references to the old table still remained. This commit
fixes the unresolved references by updating to the new split table.
Commit: c180e249d0013474d502cd779ec65b33cf7e9468
https://github.com/llvm/llvm-project/commit/c180e249d0013474d502cd779ec65b33cf7e9468
Author: 3405691582 <dsk at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
Fix crash lowering stack guard on OpenBSD/aarch64. (#125416)
TargetLoweringBase::getIRStackGuard refers to a platform-specific guard
variable. Before this change, TargetLoweringBase::getSDagStackGuard only
referred to a different variable.
This means that SelectionDAGBuilder's getLoadStackGuard does not get
memory operands. However, AArch64InstrInfo::expandPostRAPseudo assumes
that the passed MachineInstr has nonzero memoperands, causing a
segfault.
We have two possible options here: either disabling the LOAD_STACK_GUARD
node entirely in AArch64TargetLowering::useLoadStackGuardNode or just
making the platform-specific values match across TargetLoweringBase.
Here, we try the latter.
Commit: 66b0b0466bbd995146aadaf2cd18de5476c19941
https://github.com/llvm/llvm-project/commit/66b0b0466bbd995146aadaf2cd18de5476c19941
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/AsmState.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/include/mlir/Interfaces/SideEffectInterfaces.td
M mlir/include/mlir/Pass/PassOptions.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/AsmParser/AsmParserState.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/ValueRange.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR][NFC] Fix incomplete boundary comments. (#133516)
I observed that we have the boundary comments in the codebase like:
```
//===----------------------------------------------------------------------===//
// ...
//===----------------------------------------------------------------------===//
```
I also observed that there are incomplete boundary comments. The
revision is generated by a script that completes the boundary comments.
```
//===----------------------------------------------------------------------===//
// ...
...
```
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 94b04b411903e97bd228c6bdbdb845c29f6de6a1
https://github.com/llvm/llvm-project/commit/94b04b411903e97bd228c6bdbdb845c29f6de6a1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Include the version in the lldbassert error message (#133740)
Include the LLDB version in the lldbassert error message, and prompt
users to include it in the bug report. The majority of users that bother
filing a bug report just copy past the stack trace and often forget to
include this important detail. By putting it after the backtrace and
before the prompt, I'm hoping it'll get copy-pasted in.
rdar://146793016
Commit: c5b3fe209408c89c1ca21f103a8fd45fb48c3138
https://github.com/llvm/llvm-project/commit/c5b3fe209408c89c1ca21f103a8fd45fb48c3138
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/setjmp.c
Log Message:
-----------
[clang] Automatically add the `returns_twice` attribute to certain functions even if `-fno-builtin` is set (#133511)
Certain functions require the `returns_twice` attribute in order to
produce correct codegen. However, `-fno-builtin` removes all knowledge
of functions that require this attribute, so this PR modifies Clang to
add the `returns_twice` attribute even if `-fno-builtin` is set. This
behavior is also consistent with what GCC does.
It's not (easily) possible to get the builtin information from
`Builtins.td` because `-fno-builtin` causes Clang to never initialize
any builtins, so functions never get tokenized as functions/builtins
that require `returns_twice`. Therefore, the most straightforward
solution is to explicitly hard code the function names that require
`returns_twice`.
Fixes #122840
Commit: 9cdab16da99ad9fdb823853fbc634008229e284f
https://github.com/llvm/llvm-project/commit/9cdab16da99ad9fdb823853fbc634008229e284f
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
Log Message:
-----------
[AArch64] Remove CODE llc run lines from costmodel tests. NFC
The code is already tested in CodeGen/AArch64 tests such as neon-perm.ll and
the select- tests.
Commit: 11dd7d98a6ecd2374289b6a217e358e503d4778a
https://github.com/llvm/llvm-project/commit/11dd7d98a6ecd2374289b6a217e358e503d4778a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown values from comparisons (#133701)
Commit: a0e1e680d28c4ef5f87be948d1d223fbfda2950c
https://github.com/llvm/llvm-project/commit/a0e1e680d28c4ef5f87be948d1d223fbfda2950c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Return Invalid() on non-constexpr builtins (#133700)
So the diagnostic output matches with the current interpreter
Commit: f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
https://github.com/llvm/llvm-project/commit/f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
Author: David Peixotto <peix at meta.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Remove raw access to PluginInstances vector (#132884)
Remove raw access to PluginInstances vector
This commit modifies the PluginInstances class to remove direct access
to the m_instances vector. Instead, we expose a new `GetSnapshot` method
that returns a copy of the current state of the instances vector. All
external iteration over the instances is updated to use the new method.
The motivation for the change is to allow modifying the way we store
instances without having to change all the clients. This is a
preliminary change to allow enabling/disabling of plugins in which case
we want to iterate over only enabled plugins.
We also considered using a custom iterator that wraps the vector
iterator and can skip over disabled instances. That works, but the
iterator code is a bit messy with all template and typedefs to make a
compliant iterator.
Commit: 514f984a8d28abf095df0a293294a40a2e811b8f
https://github.com/llvm/llvm-project/commit/514f984a8d28abf095df0a293294a40a2e811b8f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
Log Message:
-----------
[CIR][NFC] Fix warnings in ClangIR code (#133134)
This fixes unused variable warnings that have crept into the ClangIR
code. In some cases the variable will be needed later, but all unused
variables are being removed here. They can be reintroduced when they are
needed.
Commit: dcc2faecd8aebc64eb541aebe0005ecceffef558
https://github.com/llvm/llvm-project/commit/dcc2faecd8aebc64eb541aebe0005ecceffef558
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Fix codegen to support classes in `cbuffer` (#132828)
Fixes #132309
Commit: 42d1a1cb849195304dc93004f5808ef82904cd89
https://github.com/llvm/llvm-project/commit/42d1a1cb849195304dc93004f5808ef82904cd89
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
Log Message:
-----------
[WebAssembly] Fix signatures of frexpf family of libcalls (#133289)
Fixes: https://github.com/emscripten-core/emscripten/issues/23997
Commit: 8b06da16827829c9b142f591303d3c66aab926b9
https://github.com/llvm/llvm-project/commit/8b06da16827829c9b142f591303d3c66aab926b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Improve runtime verification for `memref.subview` (#132545)
This commit addresses a TODO in the runtime verification of
`memref.subview`. Each dimension is now verified: the offset must be
in-bounds and the slice must not run out-of-bounds.
This commit aligns runtime verification with static op verification
(which was improved in #133086).
Commit: e4b9486056fab7a262fdafbe70acf393c9767d12
https://github.com/llvm/llvm-project/commit/e4b9486056fab7a262fdafbe70acf393c9767d12
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses (#133302)
- defines the Parser class and an initial set of helper methods to
support consuming tokens. functionality is demonstrated through a simple
empty descriptor table test case
- defines an initial in-memory representation of a DescriptorTable
- implements a test harness that will be used to validate the correct
diagnostics are generated. it will construct a dummy pre-processor with
diagnostics consumer to do so
Implements the first part of
https://github.com/llvm/llvm-project/issues/126569
Commit: 5edf12738441d54239a5043e727b4dac709728c7
https://github.com/llvm/llvm-project/commit/5edf12738441d54239a5043e727b4dac709728c7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir][memref] Verify out-of-bounds access for memref.subview (#133086)
* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.
Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293
This is a re-upload of #131876, which was reverted due to failing GPU
tests. These tests were faulty and fixed in #133051.
Commit: e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
https://github.com/llvm/llvm-project/commit/e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir
Log Message:
-----------
[SystemZ, DebugInfo] Instrument SystemZ backend passes for Instr-Ref DebugInfo (#133061)
This PR instruments the optimization passes in the SystemZ backend with
calls to `MachineFunction::substituteDebugValuesForInst` where
instruction substitutions are made to instructions that may compute
tracked values.
Tests are also added for each of the substitutions that were inserted.
Details on the individual passes follow.
### systemz-copy-physregs
When a copy targets an access register, we redirect the copy via an
auxiliary register. This leads to the final result being written by a
newly inserted SAR instruction, rather than the original MI, so we need
to update the debug value tracking to account for this.
### systemz-long-branch
This pass relaxes relative branch instructions based on the actual
locations of blocks. Only one of the branch instructions qualifies for
debug value tracking: BRCT, i.e. branch-relative-on-count, which
subtracts 1 from a register and branches if the result is not zero. This
is relaxed into an add-immediate and a conditional branch, so any
`debug-instr-number` present must move to the add-immediate instruction.
### systemz-post-rewrite
This pass replaces `LOCRMux` and `SELRMux` pseudoinstructions with
either the real versions of those instructions, or with branching
programs that implement the intent of the Pseudo. In all these cases,
any `debug-instr-number` attached to the pseudo needs to be reallocated
to the appropriate instruction in the result, either LOCR, SELR, or a
COPY.
### systemz-elim-compare
Similar to systemz-long-branch, for this pass, only few substitutions
are necessary, since it mainly deals with conditional branch
instructions. The only exceptiona are again branch-relative-on-count, as
it modifies a counter as part of the instruction, as well as any of the
load instructions that are affected.
Commit: bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
https://github.com/llvm/llvm-project/commit/bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
Log Message:
-----------
[mlir][memref] Fix build after #132545 (#133760)
There was a typo in the error message.
Commit: 7eb99b85995a49972f7a3d5c68cf3543014a787b
https://github.com/llvm/llvm-project/commit/7eb99b85995a49972f7a3d5c68cf3543014a787b
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
Log Message:
-----------
[AIX][PGO] Add testcase for D136192
Reviewed By: mandlebug
Differential Revision: https://reviews.llvm.org/D136192
Commit: 143c37123b93a3dbd0fafd0296516ac1ab2afc36
https://github.com/llvm/llvm-project/commit/143c37123b93a3dbd0fafd0296516ac1ab2afc36
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream zero init for global variables (#133100)
This change adds zero initialization for global variables
Commit: 2d7add6e2e56baf46504a8a22dec42b61f63360f
https://github.com/llvm/llvm-project/commit/2d7add6e2e56baf46504a8a22dec42b61f63360f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Allow memory region in OVERLAY (#133540)
This allows the contents of OVERLAYs to be attributed to memory regions.
This is the only clean way to overlap VMAs in linker scripts that choose
to primarily use memory regions to lay out addresses.
This also simplifies OVERLAY expansion to better match GNU LD.
Expressions for the first section's LMA and VMA are not generated if the
user did not provide them. This allows the LMA/VMA offset to be
preserved across multiple overlays in the same region, as with regular
sections.
Closes #129816
Commit: bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
https://github.com/llvm/llvm-project/commit/bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/cmp-values-non-full-registers.ll
Log Message:
-----------
[SLP]Fix a check for the whole register use
Need to check the value type, not the return type, of the instructions,
when doing the analysis for the whole register use to prevent a compiler
crash.
Fixes #133751
Commit: 980d66caae62de9b56422a2fdce3f535c2ab325f
https://github.com/llvm/llvm-project/commit/980d66caae62de9b56422a2fdce3f535c2ab325f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Error.cpp
M llvm/tools/llvm-exegesis/lib/Error.h
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
Log Message:
-----------
[llvm-exegesis] Error Out If Perf Counter is Not Fully Enabled (#132892)
Perf counters can be multiplexed if there are too many that need to be
scheduled on a core at the same time (and they exceed the available
PMUs). Other processes (especially system ones in certain environments,
not commonly on Desktop Linux from what I've seen) can also interfere.
This will impact the measurement fidelity as the counter is not actually
counting cycles/uops the entire time. This patch makes it so that we
error out in these cases so the user gets a visible indication things
have gone wrong rather than things failing silently.
Commit: 668edb43a0e7d8fb13564d6966c250b93b2130db
https://github.com/llvm/llvm-project/commit/668edb43a0e7d8fb13564d6966c250b93b2130db
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
Log Message:
-----------
[AArch64] Update more costmodel tests with -cost-kind=all. NFC
Commit: 5877bef3854d5dc5eaeb308636bcc31b12240563
https://github.com/llvm/llvm-project/commit/5877bef3854d5dc5eaeb308636bcc31b12240563
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded findValue calls (NFC).
Use findLeader directly instead if going through findValue,
getLeaderValue. This is simpler and more efficient.
Commit: cc2b4326142e6df6755472edaf264a0af4fe599a
https://github.com/llvm/llvm-project/commit/cc2b4326142e6df6755472edaf264a0af4fe599a
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
A clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
[Clang][Cmake] fix libtool duplicate member name warnings (#133619)
fixes #133199
PR #132252 Created a second file that shared `<TargetName>.cpp` in
`clang/lib/CodeGen/CMakeLists.txt`
For example There were two `AMDGPU.cpp`'s one in `TargetBuiltins` and
the other in `Targets`. Even though these were in different directories
`libtool` warns that it might not distinguish them because they share
the same base name.
There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third `<TargetName>.cpp` and it seems teams
want to just use the target name
https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.
The alternative fix is to seperate the cmake files into their own sub
directories. I chose to create static libraries. It might of been
possible to build an OBJECT, but I only saw examples of this in
compiler-rt and test directories so assumed there was a reason it wasn't
used.
Commit: 514536731f7adb05ab6ffaaf9f2912b8df418b75
https://github.com/llvm/llvm-project/commit/514536731f7adb05ab6ffaaf9f2912b8df418b75
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after e4b9486056fab7a262fdafbe70acf393c9767d12
Commit: a415b7f86e8c50e4e789d4651f3231d5078c5859
https://github.com/llvm/llvm-project/commit/a415b7f86e8c50e4e789d4651f3231d5078c5859
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
Log Message:
-----------
[WebAssembly] Add more lowerings for wide-arithmetic (#132430)
This commit is the result of investigation and discussion on
WebAssembly/wide-arithmetic#6 where alternatives to the `i64.add128`
instruction were discussed but ultimately deferred to a future proposal.
In spite of this though I wanted to apply a few changes to the LLVM
backend here with `wide-arithmetic` enabled for a few minor changes:
* A lowering for the `ISD::UADDO` node is added which uses `add128`
where the upper bits of the two operands are constant zeros and the
result of the 128-bit addition is the result of the overflowing
addition.
* The high bits of a `I64_ADD128` node are now flagged as "known zero"
if the upper bits of the inputs are also zero, assisting this `UADDO`
lowering to ensure the backend knows that the carry result is a 1-bit
result.
A few tests were then added to showcase various lowerings for various
operations that can be done with wide-arithmetic. They don't all
optimize super well at this time but I wanted to add them as a reference
here regardless to have them on-hand for future evaluations if
necessary.
Commit: c1bf5e62877cf3a769886505a687def47cd65e05
https://github.com/llvm/llvm-project/commit/c1bf5e62877cf3a769886505a687def47cd65e05
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[DirectX] Fix build break caused by bitcode writer changes (#133770)
commit:
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
added a new `writeDIFixedPointType` function.
However, `DIFixedPointType` is not supported in DXIL so we need to add a
fail fast case for this to fix the build.
this change fixes a build break introduced by
https://github.com/llvm/llvm-project/pull/129596
Commit: 0ac8cb1b3df724f549a62f6b277745af3d50b23a
https://github.com/llvm/llvm-project/commit/0ac8cb1b3df724f549a62f6b277745af3d50b23a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
Log Message:
-----------
[flang] Recognize fir.pack_array in LoopVersioning. (#133191)
This change enables LoopVersioning when `fir.pack_array` is met
in the def-use chain. It fixes a couple of huge performance regressions
caused by enabling `-frepack-arrays`.
Commit: 5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
https://github.com/llvm/llvm-project/commit/5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Code generation for fir.pack/unpack_array. (#132080)
The code generation relies on `ShallowCopyDirect` runtime
to copy data between the original and the temporary arrays
(both directions). The allocations are done by the compiler
generated code. The heap allocations could have been passed
to `ShallowCopy` runtime, but I decided to expose the allocations
so that the temporary descriptor passed to `ShallowCopyDirect`
has `nocapture` - maybe this will be better for LLVM optimizations.
Commit: 76e7bddf9d36074e0d67c21c5d67c2171abd70c4
https://github.com/llvm/llvm-project/commit/76e7bddf9d36074e0d67c21c5d67c2171abd70c4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libcxx/include/__system_error/error_category.h
Log Message:
-----------
[libc++][NFC] Replace __attribute__((__const__)) with [[__gnu__::__const__]]
Commit: 0bdc9e6d080009dc87b9458181c5a41cc13f26ae
https://github.com/llvm/llvm-project/commit/0bdc9e6d080009dc87b9458181c5a41cc13f26ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Replace GetBreakpointLabel with kDAPBreakpointLabel constant (NFC) (#133746)
Replace GetBreakpointLabel with kDAPBreakpointLabel constant to avoid an
unnecessary function call.
Commit: 2653eb52d1c700740a96ae61484bb1899e783c82
https://github.com/llvm/llvm-project/commit/2653eb52d1c700740a96ae61484bb1899e783c82
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
Log Message:
-----------
[AArch64] Add -cost-kind=all coverage for sve cost tests. NFC
Commit: b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
https://github.com/llvm/llvm-project/commit/b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
Log Message:
-----------
Remove unused function from StripFuncQuantTypes (#121594)
`StripFuncQuantTypes::isLegalType` is unused and can be safely removed.
Commit: 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
https://github.com/llvm/llvm-project/commit/8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[EquivalenceClasses] Replace findValue with contains (NFC).
Replace remaining use of findValue with more compact and limited
contains().
Commit: 5a3079421ba7645b8c604709de397c6091611f2a
https://github.com/llvm/llvm-project/commit/5a3079421ba7645b8c604709de397c6091611f2a
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/tools/llvm-exegesis/README.md
Log Message:
-----------
Add RISC-V support information to readme (#132699)
Commit: 89c25c54f96623e0e973b678a24f572fd204e132
https://github.com/llvm/llvm-project/commit/89c25c54f96623e0e973b678a24f572fd204e132
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
A llvm/test/CodeGen/Xtensa/callw.ll
M llvm/test/CodeGen/Xtensa/saverestore.ll
Log Message:
-----------
[Xtensa] Implement windowed register call ABI. (#130001)
Implement base windowed register call ABI. By defaullt use
rotation window by 8 registers.
Commit: b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
https://github.com/llvm/llvm-project/commit/b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Refactor `__llvm_ctx_profile_start_context` (#133744)
Most of the functionality will be reused with the auto-root detection mechanism (which is introduced subsequently in PR #133147).
Commit: 616f447fc84bdc7655117f1b303d895dc3b93e4d
https://github.com/llvm/llvm-project/commit/616f447fc84bdc7655117f1b303d895dc3b93e4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
Revert "[EquivalenceClasses] Replace findValue with contains (NFC)."
Breaks clang builds.
This reverts commit 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787.
Commit: 225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
https://github.com/llvm/llvm-project/commit/225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` (#133784)
With the refactoring in PR #133744, `__llvm_ctx_profile_start_context` doesn't need to be marked `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` because `tryStartContextGivenRoot` (where the bulk of the logic went) is.
Commit: c63246645eeb3fddcf86b36e815c30e8b2af6d44
https://github.com/llvm/llvm-project/commit/c63246645eeb3fddcf86b36e815c30e8b2af6d44
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[WebAssembly] Add a missing `break` statement (#133783)
This fixes an issue introduced in #132430 where a `break;` statement was
accidentally missing causing unintended fall-through.
Commit: b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
https://github.com/llvm/llvm-project/commit/b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add m_Deferred. NFC (#133736)
This copies over the implementation of m_Deferred which allows matching
values that were bound in the pattern, and uses it for the (X && Y) ||
(X && !Y) -> X simplifcation.
Commit: 0b31f08537746beff4d5e0df44221cbe5a9237c5
https://github.com/llvm/llvm-project/commit/0b31f08537746beff4d5e0df44221cbe5a9237c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/environment.cpp
Log Message:
-----------
[flang][cuda] Add support for NV_CUDAFOR_DEVICE_IS_MANAGED (#133778)
Add support for the environment variable `NV_CUDAFOR_DEVICE_IS_MANAGED`
as described in the documentation:
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#controlling-device-data-is-managed.
This mainly switch device allocation to managed allocation.
Commit: 4e8fbc60710ebec25d9d456eccf28678e04415c9
https://github.com/llvm/llvm-project/commit/4e8fbc60710ebec25d9d456eccf28678e04415c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add epilogue vectorization tests for FindLastIV reductions.
Add missing test coverage for #126836.
Commit: 6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
https://github.com/llvm/llvm-project/commit/6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
Log Message:
-----------
[LV][EVL] Peek through combination tail-folded + predicated masks (#133430)
If a recipe was predicated and tail folded at the same time, it will
have a mask like
EMIT vp<%header-mask> = icmp ule canonical-iv, backedge-tc
EMIT vp<%mask> = logical-and vp<%header-mask>, vp<%pred-mask>
When converting to an EVL recipe, if the mask isn't exactly just the
header-mask we copy the whole logical-and.
We can remove this redundant logical-and (because it's now covered by
EVL) and just use vp<%pred-mask> instead.
This lets us remove the widened canonical IV in more places.
Commit: a8d2d169c7add4b0106ae76e186cf815c0b84825
https://github.com/llvm/llvm-project/commit/a8d2d169c7add4b0106ae76e186cf815c0b84825
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
Parallelize module loading in POSIX dyld code (#130912)
This patch improves LLDB launch time on Linux machines for **preload
scenarios**, particularly for executables with a lot of shared library
dependencies (or modules). Specifically:
* Launching a binary with `target.preload-symbols = true`
* Attaching to a process with `target.preload-symbols = true`.
It's completely controlled by a new flag added in the first commit
`plugin.dynamic-loader.posix-dyld.parallel-module-load`, which *defaults
to false*. This was inspired by similar work on Darwin #110646.
Some rough numbers to showcase perf improvement, run on a very beefy
machine:
* Executable with ~5600 modules: baseline 45s, improvement 15s
* Executable with ~3800 modules: baseline 25s, improvement 10s
* Executable with ~6650 modules: baseline 67s, improvement 20s
* Executable with ~12500 modules: baseline 185s, improvement 85s
* Executable with ~14700 modules: baseline 235s, improvement 120s
A lot of targets we deal with have a *ton* of modules, and unfortunately
we're unable to convince other folks to reduce the number of modules, so
performance improvements like this can be very impactful for user
experience.
This patch achieves the performance improvement by parallelizing
`DynamicLoaderPOSIXDYLD::RefreshModules` for the launch scenario, and
`DynamicLoaderPOSIXDYLD::LoadAllCurrentModules` for the attach scenario.
The commits have some context on their specific changes as well --
hopefully this helps the review.
# More context on implementation
We discovered the bottlenecks by via `perf record -g -p <lldb's pid>` on
a Linux machine. With an executable known to have 1000s of shared
library dependencies, I ran
```
(lldb) b main
(lldb) r
# taking a while
```
and showed the resulting perf trace (snippet shown)
```
Samples: 85K of event 'cycles:P', Event count (approx.): 54615855812
Children Self Command Shared Object Symbol
- 93.54% 0.00% intern-state libc.so.6 [.] clone3
clone3
start_thread
lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) r
std::_Function_handler<void* (), lldb_private::Process::StartPrivateStateThread(bool)::$_0>::_M_invoke(std::_Any_data const&)
lldb_private::Process::RunPrivateStateThread(bool) n
- lldb_private::Process::HandlePrivateEvent(std::shared_ptr<lldb_private::Event>&)
- 93.54% lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*)
- 93.54% lldb_private::ThreadList::ShouldStop(lldb_private::Event*)
- lldb_private::Thread::ShouldStop(lldb_private::Event*) *
- 93.53% lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*) t
- 93.52% lldb_private::BreakpointSite::ShouldStop(lldb_private::StoppointCallbackContext*) i
lldb_private::BreakpointLocationCollection::ShouldStop(lldb_private::StoppointCallbackContext*) k
lldb_private::BreakpointLocation::ShouldStop(lldb_private::StoppointCallbackContext*) b
lldb_private::BreakpointOptions::InvokeCallback(lldb_private::StoppointCallbackContext*, unsigned long, unsigned long) i
DynamicLoaderPOSIXDYLD::RendezvousBreakpointHit(void*, lldb_private::StoppointCallbackContext*, unsigned long, unsigned lo
- DynamicLoaderPOSIXDYLD::RefreshModules() O
- 93.42% DynamicLoaderPOSIXDYLD::RefreshModules()::$_0::operator()(DYLDRendezvous::SOEntry const&) const u
- 93.40% DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, bools
- lldb_private::DynamicLoader::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, boos
- 83.90% lldb_private::DynamicLoader::FindModuleViaTarget(lldb_private::FileSpec const&) o
- 83.01% lldb_private::Target::GetOrCreateModule(lldb_private::ModuleSpec const&, bool, lldb_private::Status*
- 77.89% lldb_private::Module::PreloadSymbols()
- 44.06% lldb_private::Symtab::PreloadSymbols()
- 43.66% lldb_private::Symtab::InitNameIndexes()
...
```
We saw that majority of time was spent in `RefreshModules`, with the
main culprit within it `LoadModuleAtAddress` which eventually calls
`PreloadSymbols`.
At first, `DynamicLoaderPOSIXDYLD::LoadModuleAtAddress` appears fairly
independent -- most of it deals with different files and then getting or
creating Modules from these files. The portions that aren't independent
seem to deal with ModuleLists, which appear concurrency safe. There were
members of `DynamicLoaderPOSIXDYLD` I had to synchronize though: namely
`m_loaded_modules` which `DynamicLoaderPOSIXDYLD` maintains to map its
loaded modules to their link addresses. Without synchronizing this, I
ran into SEGFAULTS and other issues when running `check-lldb`. I also
locked the assignment and comparison of `m_interpreter_module`, which
may be unnecessary.
# Alternate implementations
When creating this patch, another implementation I considered was
directly background-ing the call to `Module::PreloadSymbol` in
`Target::GetOrCreateModule`. It would have the added benefit of working
across platforms generically, and appeared to be concurrency safe. It
was done via `Debugger::GetThreadPool().async` directly. However, there
were a ton of concurrency issues, so I abandoned that approach for now.
# Testing
With the feature active, I tested via `ninja check-lldb` on both Debug
and Release builds several times (~5 or 6 altogether?), and didn't spot
additional failing or flaky tests.
I also tested manually on several different binaries, some with around
14000 modules, but just basic operations: launching, reaching main,
setting breakpoint, stepping, showing some backtraces.
I've also tested with the flag off just to make sure things behave
properly synchronously.
Commit: 5e2860a8d375ded2d2912894e380fefc8cb1f23a
https://github.com/llvm/llvm-project/commit/5e2860a8d375ded2d2912894e380fefc8cb1f23a
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
R clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
R clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
R clang/unittests/Parse/CMakeLists.txt
R clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
R llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Revert "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133790)
Reverts llvm/llvm-project#133302
Reverting to inspect build failures that were introduced from use of the
`clang::Preprocessor` in unit testing, as well as, the warning about an
unused declaration. See linked issue for failures.
Commit: baacd1287bfb17608068485c2554dd4455ac29a0
https://github.com/llvm/llvm-project/commit/baacd1287bfb17608068485c2554dd4455ac29a0
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/test/CAPI/quant.c
Log Message:
-----------
Fix printing of `mlirUniformQuantizedSubChannelTypeGetNumBlockSizes` in 32-bit machine. (#133763)
Fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2763212827
cc @mgorny
Commit: eefefb5da798a5e51b864235007e89043fcea16a
https://github.com/llvm/llvm-project/commit/eefefb5da798a5e51b864235007e89043fcea16a
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
Log Message:
-----------
Fix sub-channel quantized type documentation (#133765)
fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2748367578
Commit: cb7c223625f950c5ad14fed39aad8b358874fcf0
https://github.com/llvm/llvm-project/commit/cb7c223625f950c5ad14fed39aad8b358874fcf0
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[clang][driver] Fix -fveclib=ArmPL issue: with -nostdlib do not link against libm (#133578)
Although combining -fveclib=ArmPL with -nostdlib is a rare situation, it
should still be supported correctly and should effect in avoidance of
linking against libm.
Commit: bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
https://github.com/llvm/llvm-project/commit/bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
R clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
Revert "[Clang][Cmake] fix libtool duplicate member name warnings" (#133795)
Reverts llvm/llvm-project#133619
Commit: 32f24029c72dae175c9e2cc81f931f065a2ba347
https://github.com/llvm/llvm-project/commit/32f24029c72dae175c9e2cc81f931f065a2ba347
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M polly/lib/Analysis/ScopBuilder.cpp
Log Message:
-----------
Reapply "[EquivalenceClasses] Replace findValue with contains (NFC)."
This reverts the revert commit 616f447fc84bdc7655117f1b303d895dc3b93e4d.
It includes updates to remaining users in Polly and Clang, to avoid
failures when building those projects.
Commit: f30c6a047d73322ce7f4fba4367eadc49565827d
https://github.com/llvm/llvm-project/commit/f30c6a047d73322ce7f4fba4367eadc49565827d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Format BUILD files with buildifier (#133802)
Commit: 6ff33edcdc29be049829934399b2fb2585252439
https://github.com/llvm/llvm-project/commit/6ff33edcdc29be049829934399b2fb2585252439
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Ignore system-header-defined ivar / property of a forward declared type (#133755)
Prior to this PR, we were emitting warnings for Objective-C ivars and
properties if the forward declaration of the type appeared first in a
non-system header. This PR fixes the checker so tha we'd ignore ivars
and properties defined for a forward declared type.
Commit: 7793bae97d2bad36d870c6df438a6fc034f15112
https://github.com/llvm/llvm-project/commit/7793bae97d2bad36d870c6df438a6fc034f15112
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
[workflows] Add missing -y option to apt-get for abi tests (#133337)
Commit: 4492632432190ed8ab3bc39ff8ee5ba9a89256cf
https://github.com/llvm/llvm-project/commit/4492632432190ed8ab3bc39ff8ee5ba9a89256cf
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Do not take ownership of stdin. (#133811)
There isn't any benefit to taking ownership of stdin and it may cause
issues if `Transport` is dealloced.
Commit: 40c859a704399c04c74311bdd25144a78e2eb093
https://github.com/llvm/llvm-project/commit/40c859a704399c04c74311bdd25144a78e2eb093
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use size returned by encodeULEB128 to simplify some code. NFC (#133750)
We can use the length to insert all the bytes at once instead of
partially decoding them to insert one byte at a time.
Commit: 46457ed1dfbfaf4ccc9245813450ba3fd561f067
https://github.com/llvm/llvm-project/commit/46457ed1dfbfaf4ccc9245813450ba3fd561f067
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
Log Message:
-----------
[lldb] Convert Breakpoint & Watchpoints structs to classes (NFC) (#133780)
Convert Breakpoint & Watchpoints structs to classes to provide proper
access control. This is in preparation for adopting SBMutex to protect
the underlying SBBreakpoint and SBWatchpoint.
Commit: 5d1f27f349f5b63646c714e8c26cc5716a4b5abc
https://github.com/llvm/llvm-project/commit/5d1f27f349f5b63646c714e8c26cc5716a4b5abc
Author: Matthias Braun <matze at braunis.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
Log Message:
-----------
GlobalISel: neg (and x, 1) --> SIGN_EXTEND_INREG x, 1 (#131367)
The pattern
```LLVM
%shl = shl i32 %x, 31
%ashr = ashr i32 %shl, 31
```
would be combined to `G_EXT_INREG %x, 1` by GlobalISel. However
InstCombine normalizes this pattern to:
```LLVM
%and = and i32 %x, 1
%neg = sub i32 0, %and
```
This adds a combiner for this variant as well.
Commit: 348374028970c956f2e49ab7553b495d7408ccd9
https://github.com/llvm/llvm-project/commit/348374028970c956f2e49ab7553b495d7408ccd9
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)
This land commits 23aca2f88dd5d2447e69496c89c3ed42a56f9c31 and
1b15a89a23c631a8e2d096dad4afe456970572c0.
https://github.com/llvm/llvm-project/pull/128619 makes symbolizer to
always use debug info when available so we can reland this chagnge.
Commit: 5b8d8bb90a2c9674364e35803e45370c35c35c4a
https://github.com/llvm/llvm-project/commit/5b8d8bb90a2c9674364e35803e45370c35c35c4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
Log Message:
-----------
Inliner: Fix missing test coverage for incompatible gc rejection (#133708)
Commit: cf6a452cc734e00a1207514bb1fc2b123e31bb5f
https://github.com/llvm/llvm-project/commit/cf6a452cc734e00a1207514bb1fc2b123e31bb5f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
Log Message:
-----------
[SLP]Fix same/alternate analysis in split node analysis for compares
getSameOpcode in some cases may consider 2 compares as having same
opcode, even though previously they were considered as alternate. It may
happen, because getSameOpcode looses info about previous instructions
and their states. Need to use isAlternateInstruction function instead
for the correct analysis.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/133769
Commit: 66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
https://github.com/llvm/llvm-project/commit/66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
Log Message:
-----------
[mlir] Update vector return types for `.getMixed`* methods (NFC) (#133821)
Drop small size to make vector types match the generic helper
`getMixedValues` in `StaticValueUtils.h`.
This saves some needles vector copies. I didn't find any local variables
that need updating.
Commit: de053bb4b0db64aebdff7719ff6ce75487f6ba5d
https://github.com/llvm/llvm-project/commit/de053bb4b0db64aebdff7719ff6ce75487f6ba5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: 02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
https://github.com/llvm/llvm-project/commit/02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
Log Message:
-----------
[Sanitizers][Darwin][Test] Remove community incompliant internal link from sources (#133187)
The malloc_zone.cpp test currently fails on Darwin hosts, in
SanitizerCommon
tests with lsan enabled.
Need to XFAIL this test to buy time to investigate this failure. Also
we're trying to bring the number of test failing on Darwin bots to 0, to
get clearer signal of any new failures.
rdar://145873843
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
https://github.com/llvm/llvm-project/commit/091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer of the riscv port (#133757)
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 0248d277cabab370b48114cc62aff393b273971b
https://github.com/llvm/llvm-project/commit/0248d277cabab370b48114cc62aff393b273971b
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
Log Message:
-----------
Reland [HIP] fix host min/max in header (#133590)
CUDA defines min/max functions for host in global namespace. HIP header
needs to define them too to be compatible. Currently only min/max(int,
int) is defined. This causes wrong result for arguments that are out of
range for int. This patch defines host min/max functions to be
compatible with CUDA.
Since some HIP apps defined min/max functions by themselves, newly added
min/max function are under the control of macro
`__HIP_DEFINE_EXTENDED_HOST_MIN_MAX__`, which is 0 by default. In the
future, this will change to 1 by
default after most existing HIP apps adopt this change.
Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable host max/min in
global namespace.
min/max functions with mixed signed/unsigned integer parameters are not
defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.
Fixes: SWDEV-446564
Commit: f77f2b9c566858b3c6605ab02f4bbd56000f732f
https://github.com/llvm/llvm-project/commit/f77f2b9c566858b3c6605ab02f4bbd56000f732f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/Attributes.cpp
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-metadata-to-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Try to preserve instruction metadata as argument attributes (#133557)
Fixes #131825
Commit: f9282475b305c0d2428640fa6586fe70f9b9f8d6
https://github.com/llvm/llvm-project/commit/f9282475b305c0d2428640fa6586fe70f9b9f8d6
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
Revert "LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)"
This reverts commit de053bb4b0db64aebdff7719ff6ce75487f6ba5d.
Commit: 508a6b2e01069f12150321ec779b3d30d4e76a6e
https://github.com/llvm/llvm-project/commit/508a6b2e01069f12150321ec779b3d30d4e76a6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Use decodeUImmLog2XLenNonZeroOperand in decodeRVCInstrRdRs1UImm. NFC (#133759)
decodeUImmLog2XLenNonZeroOperand already contains the uimm5 check for
RV32 so we can reuse it. This makes C_SLLI_HINT code more similar to the
tblgen code for C_SLLI.
Commit: b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
https://github.com/llvm/llvm-project/commit/b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/lite-mode-target-expr.s
Log Message:
-----------
[BOLT][X86] Fix getTargetSymbol() (#133834)
In 96e5ee2, I inadvertently broke the way non-trivial symbol references
got updated from non-optimized code. The breakage was a consequence of
`getTargetSymbol(MCExpr *)` not returning a symbol when the parameter
was a binary expression. Fix `getTargetSymbol()` to cover such cases.
Commit: 0b8c8ed04211dae629811f24e6033e5c2185508f
https://github.com/llvm/llvm-project/commit/0b8c8ed04211dae629811f24e6033e5c2185508f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Fix use-after-free in SBMutexTest (#133840)
The `locked` variable can be accessed from the asynchronous thread until
the call to f.wait() completes. However, the variable is scoped in a
lexical block that ends before that, leading to a use-after-free.
Commit: a417a868cd2dad41765e43715379a54289f7da67
https://github.com/llvm/llvm-project/commit/a417a868cd2dad41765e43715379a54289f7da67
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap] Enable runInTerminal tests on macOS. (#133824)
These tests are currently filtered on macOS if your on an M1 (or newer)
device. These tests do work on macOS, for me at least on M1 Max with
macOS 15.3.2 and Xcode 16.2.
Enabling them again, but if we have CI problems with them we can keep
them disabled.
Commit: 145b4a39504b88a695f1f85f4d9da991bb9a2656
https://github.com/llvm/llvm-project/commit/145b4a39504b88a695f1f85f4d9da991bb9a2656
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable (#130577)
For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type
Commit: 71cf59219162be67392b435dfcb9b280e1ff8681
https://github.com/llvm/llvm-project/commit/71cf59219162be67392b435dfcb9b280e1ff8681
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[IR] Fix -Wunused-but-set-variable
Commit: dd862356e20d2d7e0d0356dff5bd80623c14febc
https://github.com/llvm/llvm-project/commit/dd862356e20d2d7e0d0356dff5bd80623c14febc
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
A llvm/test/CodeGen/ARM/relative-reloc.ll
R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
A llvm/test/CodeGen/RISCV/relative-reloc.ll
A llvm/test/CodeGen/X86/relative-reloc-32.ll
A llvm/test/CodeGen/X86/relative-reloc-64.ll
R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function
https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).
This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).
Pull Request: https://github.com/llvm/llvm-project/pull/132684
Commit: 27b49288f7678d19cbda31904b6b5dbaa86124e7
https://github.com/llvm/llvm-project/commit/27b49288f7678d19cbda31904b6b5dbaa86124e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Add exhaustive diassember tests for c.slli64. NFC (#133820)
The c.slli encoding with a shift of 0 is c.slli64 for RV128 and a hint
for RV32 and RV64. Add a test for this encoding to the exhaustive c.slli
test.
Commit: ea68b228816dfbe27f3e1ba1149116587758d56c
https://github.com/llvm/llvm-project/commit/ea68b228816dfbe27f3e1ba1149116587758d56c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/test/MC/RISCV/rve-invalid.s
Log Message:
-----------
[RISCV] Prevent disassembling RVC hint instructions with x16-x31 for RVE. (#133805)
We can't ignore the return value form the GPR decode function, as it
contains the RVE check.
Commit: 386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
https://github.com/llvm/llvm-project/commit/386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct disassembly of cm.push/pop for RVE. (#133816)
We shouldn't disassemble any encoding that refers to registers x16-x31
with RV32E.
Commit: b3c7d5951673cf45150f80744a89866c6646eb71
https://github.com/llvm/llvm-project/commit/b3c7d5951673cf45150f80744a89866c6646eb71
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/COFF/DebugTypes.cpp
Log Message:
-----------
[lld] Use DenseMap::insert_range (NFC) (#133845)
Commit: e3adf6bbfc72de043cffb3144079a9eb85e9ca40
https://github.com/llvm/llvm-project/commit/e3adf6bbfc72de043cffb3144079a9eb85e9ca40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Use decodeCLUIImmOperand when disassembling C_LUI_HINT. (#133789)
This correctly rejects imm==0 and prints 1048575 instead of -1.
I've modified the test to only have each hex pattern once with different
check lines before it. This ensures we don't have more invalid messages
printed than we're checking for.
Commit: eb2aba4a648c055533db10f5348e483ead4561ec
https://github.com/llvm/llvm-project/commit/eb2aba4a648c055533db10f5348e483ead4561ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Remove extra call to MatchRegisterName in parseRegListCommon. NFC
Update RegEnd after each call to MatchRegisterName end of calling it
again.
Commit: ee3c892b3570281698170130a435f9c6b32c3ef5
https://github.com/llvm/llvm-project/commit/ee3c892b3570281698170130a435f9c6b32c3ef5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
Log Message:
-----------
[clang-tidy] Use DenseMap::insert_range (NFC) (#133844)
We can safely switch to insert_range here because
SyntheticStmtSourceMap starts out empty in the constructor. Also
TheCFG->synthetic_stmts() comes from DenseMap, so we know that the
keys are unique. That is, operator[] and insert are equivalent in
this particular case.
Commit: 4d68cf384df6be405598ec23be0e23e0837db3a3
https://github.com/llvm/llvm-project/commit/4d68cf384df6be405598ec23be0e23e0837db3a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
Log Message:
-----------
[lldb] Use DenseMap::insert_range (NFC) (#133846)
Commit: 2de7b6ca4e978e5acb9530ed5495d490fb3c9501
https://github.com/llvm/llvm-project/commit/2de7b6ca4e978e5acb9530ed5495d490fb3c9501
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
Log Message:
-----------
[ExecutionEngine] Use DenseMap::insert_range (NFC) (#133847)
We can safely switch to insert_range here because LR starts out empty.
Also, *Result is a DenseMap, so we know that the keys are unique.
Commit: 091dcb8fc2b6ccb88c2975076e94f3cb6530db46
https://github.com/llvm/llvm-project/commit/091dcb8fc2b6ccb88c2975076e94f3cb6530db46
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenMP/copyin.f90
Log Message:
-----------
[Flang] Make a private copy for the common block variables in copyin clause (#111359)
Fixes: https://github.com/llvm/llvm-project/issues/82949
Commit: bae3577002b6bda92837723a06a4ca5c498d300f
https://github.com/llvm/llvm-project/commit/bae3577002b6bda92837723a06a4ca5c498d300f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
Log Message:
-----------
[flang] Define ERF, ERFC and ERFC_SCALED intrinsics with Q and D prefix (#125217)
`ERF`, `ERFC` and `ERFC_SCALED` intrinsics prefixed by `Q` and `D` are
missing. Codes such as `CP2K`(https://github.com/cp2k/cp2k) and
`TurboRVB`(https://github.com/sissaschool/turborvb) use these intrinsics
just like defined in the GNU standard and here:
https://www.ibm.com/docs/fr/xl-fortran-aix/16.1.0?topic=reference-intrinsic-procedures
These intrinsics are based on the existing intrinsics but apply a
restriction on the type kind.
- `DERF`, `DERFC` and `DERFC_SCALED` are for double précision only.
- `QERF`, `QERFC` and `QERFC_SCALED` are for quad précision only.
Commit: d3be29642fa65e5ade434d860cfcc193f8278d4e
https://github.com/llvm/llvm-project/commit/d3be29642fa65e5ade434d860cfcc193f8278d4e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate pointer/reference in _Generic (#133673)
Fix #133663
Commit: fe3e9c2b46504e7b197245b3946abfec563e77d4
https://github.com/llvm/llvm-project/commit/fe3e9c2b46504e7b197245b3946abfec563e77d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#133045)
Commit: aa889ed129ff26d9341c50a9eaba4db728ca6212
https://github.com/llvm/llvm-project/commit/aa889ed129ff26d9341c50a9eaba4db728ca6212
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Statusline.h
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Fix statusline terminal resizing
Simplify and fix the logic to clear the old statusline when the terminal
window dimensions have changed. I accidentally broke the terminal
resizing behavior when addressing code review feedback.
I'd really like to figure out a way to test this. PExpect isn't a good
fit for this, because I really need to check the result, rather than the
control characters, as the latter doesn't tell me whether any part of
the old statusline is still visible.
Commit: 49f080afc4466ddf415d7fc7e98989c0bd07d8ea
https://github.com/llvm/llvm-project/commit/49f080afc4466ddf415d7fc7e98989c0bd07d8ea
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/MPI/mpiops.mlir
Log Message:
-----------
[mlir][mpi] Mandatory Communicator (#133280)
This is replacing #125361
- communicator is mandatory
- new mpi.comm_world
- new mp.comm_split
- lowering and test
---------
Co-authored-by: Sergio Sánchez Ramírez <sergio.sanchez.ramirez+git at bsc.es>
Commit: 7267dbfe1032f5ebd698403848fab4bbfcbe0b19
https://github.com/llvm/llvm-project/commit/7267dbfe1032f5ebd698403848fab4bbfcbe0b19
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix comparing the addresses of union members (#133852)
Union members get the same address, so we can't just use
`Pointer::getByteOffset()`.
Commit: 36978fadb8e14c944b71fa63b876012cb2c444c2
https://github.com/llvm/llvm-project/commit/36978fadb8e14c944b71fa63b876012cb2c444c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
Log Message:
-----------
[MC] Add UseAtForSpecifier
Some ELF targets don't use @ for relocation specifiers.
We should not report `error: invalid variant` when @ is used.
Attempt to make expr at specifier parsing less hacky.
Commit: 6b647de031a7d590663a791a503525f21cb98d03
https://github.com/llvm/llvm-project/commit/6b647de031a7d590663a791a503525f21cb98d03
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC] Remove the unused hasMinSize() (#133838)
The 'hasOptSize()' is 'hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()', so we don't need another 'hasMinSize()'.
Commit: 5ff8c036063d83c6eff495de7709b12875113d62
https://github.com/llvm/llvm-project/commit/5ff8c036063d83c6eff495de7709b12875113d62
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/MC/AArch64/execute-only-memtag.ll
Log Message:
-----------
[AArch64] Bugfix when using execute-only and memtag sanitizer together (#133084)
Support for execute-only code generation (#125687) introduced a bug in
the case where the memtag sanitizer is used in a module containing a mix
of execute-only and non-execute-only functions.
The bug is caused by using `return` instead of `break` to short-circuit
a loop, which meant that the rest of the function dealing with memtag
sanitizer logic wasn't run.
Commit: c5afcfe0bb44067b2cd050ed9cff311eada9cc37
https://github.com/llvm/llvm-project/commit/c5afcfe0bb44067b2cd050ed9cff311eada9cc37
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (REAPPLIED) (#133724)
If the broadcast is already the full vector width, try to prefer a blend/vshuff64x2 over a vector insertion which is usually lower latency (and sometimes a lower uop count), and reduces changes in vector sizes that can interfere with further combines.
Updated version of #133083 - which lead to infinite loops due to shuffle lowering recreating the INSERT_SUBVECTOR pattern, this variant creates the BLENDI/SHUF128 nodes directly.
Commit: 64d493f987dc24b3d7e45daade9b0e8bfa1cc471
https://github.com/llvm/llvm-project/commit/64d493f987dc24b3d7e45daade9b0e8bfa1cc471
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
Log Message:
-----------
[EquivalenceClasses] Return ECValue directly from insert (NFC).
Removes a redundant lookup in the mapping.:
Commit: 14c50986405731030b001d85cc8cd4a2c9f86388
https://github.com/llvm/llvm-project/commit/14c50986405731030b001d85cc8cd4a2c9f86388
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName when moving arguments in operands-to-args (#133851)
Commit: fd0785e67ca66fb7f59ae504b637285d27d4e5c9
https://github.com/llvm/llvm-project/commit/fd0785e67ca66fb7f59ae504b637285d27d4e5c9
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Reorder ERF op to align with TOSA spec (#133814)
Minor non-functional change of the dialect to better align with the
operator order from the TOSA specification:
https://www.mlplatform.org/tosa/tosa_spec.html
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7a2b160e76e23d8fa62750af20e1e25f08803784
https://github.com/llvm/llvm-project/commit/7a2b160e76e23d8fa62750af20e1e25f08803784
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move rootn to the CLC library; optimize (#133735)
The function was already nominally in the CLC namespace; this commit
just moves it over.
This commit also vectorizes the builtin to avoid scalarization.
Commit: ad48fffb53003333456b327a2a3f22bd81a77a00
https://github.com/llvm/llvm-project/commit/ad48fffb53003333456b327a2a3f22bd81a77a00
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_exp2.cl
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
Log Message:
-----------
[libclc] Move several 'native' builtins to CLC library (#129679)
This commit moves the 'native' builtins that use asm statements to
generate LLVM intrinsics to the CLC library. In doing so it converts
them to use the appropriate elementwise builtin to generate the same
intrinsic; there are no codegen changes to any target except to AMDGPU
targets where `native_log` is no longer custom implemented and instead
used the clang elementwise builtin.
This work forms part of #127196 and indeed with this commit there are no
'generic' builtins using/abusing asm statements - the remaining builtins
are specific to the amdgpu and r600 targets.
Commit: 1cf6786e322ddc787d793dbb48d59b4f9827fef3
https://github.com/llvm/llvm-project/commit/1cf6786e322ddc787d793dbb48d59b4f9827fef3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Improve error handling for dense attribute parsing in complex types (#133220)
- For splat dense attributes, the number of parsed elements must be 2.
- For non-splat dense attributes, the number of parsed elements must be
twice the number of elements in the type.
Fixes #132859.
Commit: af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
https://github.com/llvm/llvm-project/commit/af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
Log Message:
-----------
[AMDGPU] Fix SIFoldOperandsImpl::tryFoldZeroHighBits when met non-reg src1 operand. (#133761)
This happens when a constant is propagated to a V_AND 0xFFFF, reg
instruction.
Fixes failures like:
```
llc: /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:366: llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
Stack dump:
0. Program arguments: /github/llvm-project/build/Debug/bin/llc -mtriple=amdgcn -mcpu=gfx1101 -verify-machineinstrs -run-pass si-fold-operands /github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir -o -
1. Running pass 'Function Pass Manager' on module '/github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir'.
2. Running pass 'SI Fold Operands' on function '@test_tryFoldZeroHighBits_skips_nonreg'
...
#12 0x00007f5a55005cfc llvm::MachineOperand::getReg() const /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:0:5
#13 0x00007f5a555c6bf5 (anonymous namespace)::SIFoldOperandsImpl::tryFoldZeroHighBits(llvm::MachineInstr&) const /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:1459:36
#14 0x00007f5a555c63ad (anonymous namespace)::SIFoldOperandsImpl::run(llvm::MachineFunction&) /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:2455:11
#15 0x00007f5a555c6780 (anonymous namespace)::SIFoldOperandsLegacy::runOnMachineFunction
```
Commit: 9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
https://github.com/llvm/llvm-project/commit/9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Update member_begin to take ECValue (NFC).
Remove a level of indirection and update code to use range-based for
loops.
Commit: 6c3adaafe3f2139fba5ef3865cbcbba93dbab645
https://github.com/llvm/llvm-project/commit/6c3adaafe3f2139fba5ef3865cbcbba93dbab645
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/utils/TableGen/NeonEmitter.cpp
A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll
Log Message:
-----------
[AARCH64][Neon] switch to using bitcasts in arm_neon.h where appropriate (#127043)
Currently arm_neon.h emits C-style casts to do vector type casts. This
relies on implicit conversion between vector types to be enabled, which
is currently deprecated behaviour and soon will disappear. To ensure
NEON code will keep working afterwards, this patch changes all this
vector type casts into bitcasts.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: e47d3a30881794c99a6de3aa9adc806bf3dc79f6
https://github.com/llvm/llvm-project/commit/e47d3a30881794c99a6de3aa9adc806bf3dc79f6
Author: Peter Smith <peter.smith at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
Log Message:
-----------
[LLD][AArch64] Increase alignment of AArch64AbsLongThunk to 8 (#133738)
This permits an AArch64AbsLongThunk to be used in an environment where
unaligned accesses are disabled.
The AArch64AbsLongThunk does a load of an 8-byte address. When unaligned
accesses are disabled this address must be 8-byte aligned.
The vast majority of AArch64 systems will have unaligned accesses
enabled in userspace. However, after a reset, before the MMU has been
enabled, all memory accesses are to "device" memory, which requires
aligned accesses. In systems with multi-stage boot loaders a thunk may
be required to a later stage before the MMU has been enabled.
As we only want to increase the alignment when the ldr is used we delay
the increase in thunk alignment until we know we are going to write an
ldr. We also need to account for the ThunkSection alignment increase
when this happens.
In some of the test updates, particularly those with shared CHECK lines
with position independent thunks it was easier to ensure that the thunks
started at an 8-byte aligned address in all cases.
Commit: 197ead75fb7a3c57f7a41cdbcff48ef3841e3832
https://github.com/llvm/llvm-project/commit/197ead75fb7a3c57f7a41cdbcff48ef3841e3832
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] splitVector - split concat_vectors(a,b,c,d) -> concat_vectors(a,b) + concat_vectors(c,d) (#133753)
Similar to what we already for build_vectors during subvector extraction, when splitting concat_vectors nodes, attempt to create a pair of half size concat_vectors nodes to see if these can fold.
Commit: da5fb4213ff210f0d49c4ec837b72997cb9e69f5
https://github.com/llvm/llvm-project/commit/da5fb4213ff210f0d49c4ec837b72997cb9e69f5
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
Log Message:
-----------
[Clang][SPIR-V] Fix convergence tokens for dtor (#133469)
Destructor calls were emitted without convergence intrinsics when building for SPIR-V, which means invalid IR since we
mixed controlled and non-controlled convergence.
Commit: 7581cb68f9fbff7a4628da594580d81a803129ee
https://github.com/llvm/llvm-project/commit/7581cb68f9fbff7a4628da594580d81a803129ee
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Remove lldb-server min and max gdbserver port options (#133275)
Since lldb 20, these have had no effect:
https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html#changes-to-lldb
> lldb-server now listens to a single port for gdbserver connections and
> provides that port to the connection handler processes. This means
that
> only 2 ports need to be opened in the firewall (one for the
lldb-server
> platform, one for gdbserver connections). In addition, due to this
work,
lldb-server now works on Windows in the server mode.
Remove them.
Commit: dca7e0370e9684c00d95fb810c4efd31af0a3a9f
https://github.com/llvm/llvm-project/commit/dca7e0370e9684c00d95fb810c4efd31af0a3a9f
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] add --platform-available-ports option to the dotest.py (#112555)
This patch adds --platform-available-ports option to the dotest.py
script to avoid hardcoded gdb ports in lldb testsuite.
Currently, this option could be helpful in GdbRemoteTestCases (e.g.
TestLldbGdbServer, TestNonStop, TestGdbRemoteThreadsInStopReply,
TestGdbRemotePlatformFile, TestGdbRemote_vCont)
Commit: e17d864f55133d46e12614280951ddb2dc43cc74
https://github.com/llvm/llvm-project/commit/e17d864f55133d46e12614280951ddb2dc43cc74
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
Log Message:
-----------
[flang][OpenMP][Lower] lower array subscripts for task depend (#132994)
The OpenMP standard says that all dependencies in the same set of
inter-dependent tasks must be non-overlapping. This simplification means
that the OpenMP only needs to keep track of the base addresses of
dependency variables. This can be seen in kmp_taskdeps.cpp, which stores
task dependency information in a hash table, using the base address as a
key.
This patch generates a rebox operation to slice boxed arrays, but only
the box data address is used for the task dependency. The extra box is
optimized away by LLVM at O3.
Vector subscripts are TODO (I will address in my next patch).
This also fixes a bug for ordinary subscripts when the symbol was mapped
to a box:
Fixes #132647
Commit: 66fca0674d83254c70af4a6289496b8acc4377df
https://github.com/llvm/llvm-project/commit/66fca0674d83254c70af4a6289496b8acc4377df
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
Log Message:
-----------
[OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL functions (#133435)
This patch removes the addition of 1 to the number of iterations when
calling the following DeviceRTL functions:
- `__kmpc_distribute_for_static_loop*`
- `__kmpc_distribute_static_loop*`
- `__kmpc_for_static_loop*`
Calls to these functions are currently only produced by the OMPIRBuilder
from flang, which already passes the correct number of iterations to
these functions. By adding 1 to the received `num_iters` variable,
worksharing can produce incorrect results. This impacts flang OpenMP
offloading of `do`, `distribute` and `distribute parallel do`
constructs.
Expecting the application to pass `tripcount - 1` as the argument seems
unexpected as well, so rather than updating flang I think it makes more
sense to update the runtime.
Commit: 7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
https://github.com/llvm/llvm-project/commit/7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
R llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
Revert "[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable" (#133880)
Reverts llvm/llvm-project#130577
Commit: 337bad3921356fba89409e03793f7d2df846c0e9
https://github.com/llvm/llvm-project/commit/337bad3921356fba89409e03793f7d2df846c0e9
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir
Log Message:
-----------
[EarlyIfConverter] Fix reg killed twice after early-if-predicator and ifcvt (#133554)
Bug relates to `early-if-predicator` and `early-ifcvt` passes. If
virtual register has "killed" flag in both basic blocks to be merged
into head, both instructions in head basic block will have "killed" flag
for this register. It makes MIR incorrect.
Example:
```
bb.0: ; if
...
%0:intregs = COPY $r0
J2_jumpf %2, %bb.2, implicit-def dead $pc
J2_jump %bb.1, implicit-def dead $pc
bb.1: ; if.then
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
bb.2: ; if.else
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
```
After early-if-predicator will become:
```
bb.0:
%0:intregs = COPY $r0
S4_storeirif_io %1, killed %0, 0, 1
S4_storeirit_io %1, killed %0, 0, 1
```
Having `killed` flag set twice in bb.0 for `%0` is an incorrect MIR.
Commit: 4a687024559d5ef10abe6ed10555c5f5c2cfcb40
https://github.com/llvm/llvm-project/commit/4a687024559d5ef10abe6ed10555c5f5c2cfcb40
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
Log Message:
-----------
[CodeGen][NPM] Port XRayInstrumentation to NPM (#129865)
Commit: 518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
https://github.com/llvm/llvm-project/commit/518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
Log Message:
-----------
Fix test failures caused by #127043 (#133895)
Commit: b0a79065178db615b9aaff50337185ad8ee78054
https://github.com/llvm/llvm-project/commit/b0a79065178db615b9aaff50337185ad8ee78054
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
Log Message:
-----------
[clang] Fix crash on invalid `std::initializer_list<T>` template-id (#132284)
In `Sema::BuildStdInitializerList`, check that the synthesized
template-id `std::initializer_list<T>` is valid (which might not be the
case if the template has associated constraints or subsequent parameters
with default arguments) before forming the type.
Fixes #132256
Commit: 19a319667b567a26a20f9829a0ae7e6a5c259cba
https://github.com/llvm/llvm-project/commit/19a319667b567a26a20f9829a0ae7e6a5c259cba
Author: Alexey Moksyakov <alexey.moksyakov at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
Log Message:
-----------
[bolt][aarch64] Adding test with unsupported indirect branches (#127655)
This test contains the set of common indirect branch patterns.
Adding the support will be step by step
Commit: 1d9ad99305753a11a28e61edb130d9c63859f42e
https://github.com/llvm/llvm-project/commit/1d9ad99305753a11a28e61edb130d9c63859f42e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/IR/Block.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133881)
Commit: 13a313fe582a3c41fb5c50ca2325c0987c0af6d7
https://github.com/llvm/llvm-project/commit/13a313fe582a3c41fb5c50ca2325c0987c0af6d7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move sinpi/cospi/tanpi to the CLC library (#133889)
Additionally, these builtins are now vectorized.
This also moves the native_recip and native_divide builtins as they are
used by the tanpi builtin.
Commit: 191e0622e84a215c1d632412561c2fe6ccd86170
https://github.com/llvm/llvm-project/commit/191e0622e84a215c1d632412561c2fe6ccd86170
Author: Lang Hames <lhames at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml
Log Message:
-----------
[JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.
Ptrauth relocations can only be fixed up in the executing process, but noalloc
sections do not have any memory in the executing process. Failure to skip
ptrauth edges results in signing instructions that operate on invalid addresses,
leading to segfaults or data corruption.
Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth
edges to persist until they reach the applyFixup method, at which point they
raise a useful error and cleanly terminate linking.
Commit: 290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
https://github.com/llvm/llvm-project/commit/290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
Log Message:
-----------
llvm-reduce: Prune some unneeded includes and forward declares (#133883)
Commit: 41b83b48e37aa0c7f9e0458638567f37d6dbc924
https://github.com/llvm/llvm-project/commit/41b83b48e37aa0c7f9e0458638567f37d6dbc924
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-args.c
Log Message:
-----------
No longer assert on incorrect attribute argument index (#133766)
Fixes an assertion when referencing an out-of-bounds parameter via a
function attribute whose argument list refers to parameters by index and
the function is variadic. e.g.,
__attribute__ ((__format_arg__(2))) void test (int i, ...) { }
Fixes #61635
Commit: ba7feaab92ca807419de6f2b80dda2a1d1759d97
https://github.com/llvm/llvm-project/commit/ba7feaab92ca807419de6f2b80dda2a1d1759d97
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Fix and update AMDGPUUsage.rst (#133894)
- Fix notes about SALU float and src1 SGPRs for dpp instructions
- Add split between gfx11 and gfx12 sections, update references.
Commit: c192737009584377d99b18bfbc8298c8e58bcd02
https://github.com/llvm/llvm-project/commit/c192737009584377d99b18bfbc8298c8e58bcd02
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[LLVM][InstCombine][AArch64] Refactor common SVE intrinsic combines. (#126928)
Introduce SVEIntrinsicInfo to store properties common across SVE
intrinsics. This allows a seperation between intrinsic IDs and the
transformations that can be applied to them, which reduces the layering
problems we hit when adding new combines.
This PR is mostly refactoring to bring in the concept and port the most
common combines (e.g. dead code when all false). This will be followed
up with new combines where I plan to reuse much of the existing
instruction simplifcation logic to significantly improve our ability to
constant fold SVE intrinsics.
Commit: 8f56394487a4d454be0637667267ad37bd636d0f
https://github.com/llvm/llvm-project/commit/8f56394487a4d454be0637667267ad37bd636d0f
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
Log Message:
-----------
[clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (#133037)
**Currently we don't make use of the JIT for the wasm use cases so the
approach using the execution engine won't work in these cases.**
Rather if we use dlopen. We should be able to do the following
(demonstrating through a toy project)
1) Make use of LoadDynamicLibrary through the given implementation
```
extern "C" EMSCRIPTEN_KEEPALIVE int load_library(const char *name) {
auto Err = Interp->LoadDynamicLibrary(name);
if (Err) {
llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "load_library error: ");
return -1;
}
return 0;
}
```
2) Add a button to call load_library once the library has been added in
our MEMFS (currently we have symengine built as a SIDE MODULE and we are
loading it)
Commit: 6892d5428600113dade7b4ecf6b70bbab3198c90
https://github.com/llvm/llvm-project/commit/6892d5428600113dade7b4ecf6b70bbab3198c90
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll
Log Message:
-----------
[Clang][LLVM] Implement single-single vectors MOP4{A/S} (#127797)
Implement all single-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: a338f80ddcb97edd275c8bf949b1fab0c7d1049e
https://github.com/llvm/llvm-project/commit/a338f80ddcb97edd275c8bf949b1fab0c7d1049e
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/test/Dialect/Linalg/transform-op-linalg-copy-to-memref.mlir
Log Message:
-----------
[mlir][Linalg] Add transform to convert linalg.copy into memref.copy (#132422)
Targeted rewrite of a linalg.copy on memrefs to a memref.copy.
This is useful when bufferizing copies to a linalg.copy, applying some
transformations, and then rewriting the copy into a memref.copy.
If the element types of the source and destination differ, or if the
source is a scalar, the transform produces a silenceable failure.
Commit: 2c0b888359c6c5976054bb423ba1d7b37bae9f1a
https://github.com/llvm/llvm-project/commit/2c0b888359c6c5976054bb423ba1d7b37bae9f1a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - prefer combining to X86ISD::SHUF128 if PERMQ operands are splittable (#133900)
If the 512-bit unary shuffle is a concatenation of 128/256-bit subvectors then we're better off using a X86ISD::SHUF128 node so we can fold the concatenation into the shuffle as well.
Commit: 3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
https://github.com/llvm/llvm-project/commit/3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#130092)
Commit: a1e041b64648789897c96eca5d6270e253773d16
https://github.com/llvm/llvm-project/commit/a1e041b64648789897c96eca5d6270e253773d16
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[NFC][AArch64] Pre-commit high register pressure dot product test
Commit: 1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
https://github.com/llvm/llvm-project/commit/1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/DebugInfo/X86/undef-dbg-val.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove debug-intrinsic printing cmdline options (#131855)
During the transition from debug intrinsics to debug records, we used
several different command line options to customise handling: the
printing of debug records to bitcode and textual could be independent of
how the debug-info was represented inside a module, whether the
autoupgrader ran could be customised. This was all valuable during
development, but now that totally removing debug intrinsics is coming
up, this patch removes those options in favour of a single flag
(experimental-debuginfo-iterators), which enables autoupgrade, in-memory
debug records, and debug record printing to bitcode and textual IR.
We need to do this ahead of removing the
experimental-debuginfo-iterators flag, to reduce the amount of
test-juggling that happens at that time.
There are quite a number of weird test behaviours related to this --
some of which I simply delete in this commit. Things like
print-non-instruction-debug-info.ll , the test suite now checks for
debug records in all tests, and we don't want to check we can print as
intrinsics. Or the update_test_checks tests -- these are duplicated with
write-experimental-debuginfo=false to ensure file writing for intrinsics
is correct, but that's something we're imminently going to delete.
A short survey of curious test changes:
* free-intrinsics.ll: we don't need to test that debug-info is a zero
cost intrinsic, because we won't be using intrinsics in the future.
* undef-dbg-val.ll: apparently we pinned this to non-RemoveDIs in-memory
mode while we sorted something out; it works now either way.
* salvage-cast-debug-info.ll: was testing intrinsics-in-memory get
salvaged, isn't necessary now
* localize-constexpr-debuginfo.ll: was producing "dead metadata"
intrinsics for optimised-out variable values, dbg-records takes the
(correct) representation of poison/undef as an operand. Looks like we
didn't update this in the past to avoid spurious test differences.
* Transforms/Scalarizer/dbginfo.ll: this test was explicitly testing
that debug-info affected codegen, and we deferred updating the tests
until now. This is just one of those silent gnochange issues that get
fixed by RemoveDIs.
Finally: I've added a bitcode test, dbg-intrinsics-autoupgrade.ll.bc,
that checks we can autoupgrade debug intrinsics that are in bitcode into
the new debug records.
Commit: bcf0f8d8aa27910545762e2cc7733a11a00954d0
https://github.com/llvm/llvm-project/commit/bcf0f8d8aa27910545762e2cc7733a11a00954d0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp10 to the CLC library (#133899)
The builtin was already nominally in the CLC library; this commit just
moves it over. It also vectorizes the builtin on its way.
Commit: 513a91a5f155746c7323a555a6e5ad0505627ca7
https://github.com/llvm/llvm-project/commit/513a91a5f155746c7323a555a6e5ad0505627ca7
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/perror.f90
Log Message:
-----------
[flang/flang-rt] Implement PERROR intrinsic form GNU Extension (#132406)
Add the implementation of the `PERROR(STRING) ` intrinsic from the GNU
Extension to prints on the stderr a newline-terminated error message
corresponding to the last system error prefixed by `STRING`.
(https://gcc.gnu.org/onlinedocs/gfortran/PERROR.html)
Commit: 15cfe4a77495a6053cc9818247fe520da2bb3e5f
https://github.com/llvm/llvm-project/commit/15cfe4a77495a6053cc9818247fe520da2bb3e5f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'no_inline' and 'always_inline' attributes on LLMV::CallOp (#133726)
Addition of `no_inline` and `always_inline` attributes for CallOps in
MLIR in order to be able to inline or not directly the call of a
function without having the attribute on the `FuncOp`.
The addition of these attributes will be used in a future PR in Flang
(`[NO]INLINE` directive).
Commit: c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
https://github.com/llvm/llvm-project/commit/c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_tanpi.h
Log Message:
-----------
[libclc][NFC] Delete two unused headers
These should have been deleted when the respective builtins were moved
to the CLC library.
Commit: e92ff64bad38835a497f9eb928967bca6a295b28
https://github.com/llvm/llvm-project/commit/e92ff64bad38835a497f9eb928967bca6a295b28
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll
Log Message:
-----------
[Clang][LLVM] Implement single-multi vectors MOP4{A/S} (#128854)
Implement all single-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files.
This PR depends on https://github.com/llvm/llvm-project/pull/127797
This patch updates the semantics of template arguments in intrinsic
names for clarity and ease of use. Previously, template argument numbers
indicated which character in the prototype string determined the final
type suffix, which was confusing—especially for intrinsics using
multiple prototype modifiers per operand (e.g., intrinsics operating on
arrays of vectors). The number had to reference the correct character in
the prototype (e.g., the ‘u’ in “2.u”), making the system cumbersome and
error-prone.
With this patch, template argument numbers now refer to the operand
number that determines the final type suffix, providing a more intuitive
and consistent approach.
Commit: 173eb32b756ad62c4243e6631198cd22fc079cef
https://github.com/llvm/llvm-project/commit/173eb32b756ad62c4243e6631198cd22fc079cef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Construct SmallVector with ArrayRef (NFC) (#133860)
Commit: c30776ab9a1404adff6022c65b92fb8cd3cfc097
https://github.com/llvm/llvm-project/commit/c30776ab9a1404adff6022c65b92fb8cd3cfc097
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Log Message:
-----------
[AArch64] Use ArrayRef::slice (NFC) (#133862)
Commit: 664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
https://github.com/llvm/llvm-project/commit/664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-vselect.ll
Log Message:
-----------
[X86] avx512-vselect.ll - regenerate VPTERNLOG comments
Commit: 8741412bdfc0a60719f116add7d828694ef48c02
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/math/CMakeLists.txt
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atan2f128_test.cpp
Log Message:
-----------
[libc][math] Implement a fast pass for atan2f128 with 1ULP error using DyadicFloat<128>. (#133150)
Part of https://github.com/llvm/llvm-project/issues/131642.
Commit: 19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
https://github.com/llvm/llvm-project/commit/19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Validate the end of register ranges in Zcmp register lists. (#133866)
We were only checking that the last register was a register, not that it
was a legal register for a register list. This caused the encoder
function to hit an llvm_unreachable.
The error messages are not good, but this only one of multiple things
that need to be fixed in this function. I'll focus on error messages
later once I have the other issues fixed.
Commit: 4e6c48f1e74c46e62342f24ac879fd32d9a6c783
https://github.com/llvm/llvm-project/commit/4e6c48f1e74c46e62342f24ac879fd32d9a6c783
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Merge RegStart with RegEnd in parseRegListCommon. NFC (#133867)
We only need to keep track of the last register seen. We never need the
first register once we've parsed. Currently if s0/x8 is used RegStart
will point to that and not ra/s1 so it already isn't the start.
Commit: 1ab3a4f234e38904f9935d02a696a52d1e5dff71
https://github.com/llvm/llvm-project/commit/1ab3a4f234e38904f9935d02a696a52d1e5dff71
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
Log Message:
-----------
[flang-rt][NFC] Work around CTK12.8 compilation failure. (#133833)
It happened in https://lab.llvm.org/buildbot/#/builders/152/builds/1131
when the buildbot was switched from CTK12.3 to CTK12.8.
The logs are gone by now, so the above link is useless.
The error was:
error: ‘auto’ not permitted in template argument
This workaround helps, but I also reported the issue to NVCC devs.
Commit: aa73124e51d89a22b2ba89380d3a1403e4f1c385
https://github.com/llvm/llvm-project/commit/aa73124e51d89a22b2ba89380d3a1403e4f1c385
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/promoted-complex-div.c
Log Message:
-----------
Fix complex long double division with -mno-x87. (#133152)
The combination of `-fcomplex-arithmetic=promoted` and `mno-x87` for
`double` complex division is leading to a crash.
See https://godbolt.org/z/189G957oY
This patch fixes that.
Commit: 664e847916ff7329da9e5295ecc17ec169e647eb
https://github.com/llvm/llvm-project/commit/664e847916ff7329da9e5295ecc17ec169e647eb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-token.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix invalid reduction on tokens in operands-to-args (#133855)
Commit: ac55688482637ce625edaa8a25ad6eced8992a22
https://github.com/llvm/llvm-project/commit/ac55688482637ce625edaa8a25ad6eced8992a22
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll
Log Message:
-----------
llvm-reduce: Add test for token handling in operands-skip (#133857)
Seems to work correctly but wasn't tested.
Commit: 4cb41d136cd4e2caef724e35b337f888036f8645
https://github.com/llvm/llvm-project/commit/4cb41d136cd4e2caef724e35b337f888036f8645
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Prefer zip over ushll for anyext. (#133433)
Many CPUs have a higher throughput of ZIP instructions vs USHLL. This
adds some tablegen patterns for preferring zip in anyext patterns.
Commit: a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
https://github.com/llvm/llvm-project/commit/a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
Log Message:
-----------
[NFC][SPIRV] Misc code cleanup in SPIRV Target (#133764)
- Use static instead of anonymous namespace for file local functions.
- Enclose file-local classes in anonymous namespace.
- Eliminate `llvm::` qualifier when file has `using namespace llvm`.
- Eliminate namespace surrounding entire code in
SPIRVConvergenceRegionAnalysis.cpp file.
- Eliminate call to `initializeSPIRVStructurizerPass` from the pass
constructor (https://github.com/llvm/llvm-project/issues/111767)
Commit: 65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
https://github.com/llvm/llvm-project/commit/65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/atan2f128_test.cpp
Log Message:
-----------
[libc] Fix atan2f128 test for aarch64. (#133924)
Commit: 58551faaf130de52f574b15d053eca1afc83b82b
https://github.com/llvm/llvm-project/commit/58551faaf130de52f574b15d053eca1afc83b82b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Transforms/simplify-fir-operations.fir
Log Message:
-----------
[flang] Inline fir.is_contiguous_box in some cases. (#133812)
Added inlining for `rank == 1` and `innermost` cases.
Commit: 66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
https://github.com/llvm/llvm-project/commit/66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/C/C11/n1518.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1518 (#133749)
This paper introduced ranges of valid start and continuation characters
for identifiers. C23 made further changes to these sets.
Commit: a03fce4e200d47b9133897b8f0d4688b30b42689
https://github.com/llvm/llvm-project/commit/a03fce4e200d47b9133897b8f0d4688b30b42689
Author: Doeke Wartena <clankill3r at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
Update README.md - fixed invalid json in example (#133890)
A period (`,`) is required or you get an error.
Commit: 179062b2dc9405a81cf44dbe676817806a4e7c6a
https://github.com/llvm/llvm-project/commit/179062b2dc9405a81cf44dbe676817806a4e7c6a
Author: Jeremy Kun <jkun at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add alwayslink=True to mlir-runner utils (#133787)
MacOS platforms using mlir-runner in lit tests consistently hit the
following error:
```
# .---command stderr------------
# | JIT session error: Symbols not found: [ __mlir_ciface_printMemrefI32 ]
# | Error: Failed to materialize symbols: { (main, { __mlir_printMemrefI32, ... }) }
# `-----------------------------
```
https://github.com/google/heir/issues/1521#issuecomment-2751303404
confirms the issue is fixed by using `alwayslink` on these two targets,
and I confirmed on a separate Apple M1 (OSX version Sequoia 15.3.2.).
I'm not an expert on the mlir runner internals, but given the
mlir-runner is purely for testing, and alwayslink at worst adds some
overhead by not removing symbols, it seems low risk.
Commit: e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
https://github.com/llvm/llvm-project/commit/e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Remove EqCacheSCEV (#133186)
This was added in https://reviews.llvm.org/D26389 to help with extremely
deep SCEV expressions.
However, this is wrong since we may cache sub-SCEVs to be equivalent
that CompareValueComplexity returned 0 due to hitting the max comparison
depth.
This also improves compile time in some compiles:
https://llvm-compile-time-tracker.com/compare.php?from=34fa037c4fd7f38faada5beedc63ad234e904247&to=e241ecf999f4dd42d4b951d4a5d4f8eabeafcff0&stat=instructions:u
Similar to #100721.
Fixes #130688.
Commit: 558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
https://github.com/llvm/llvm-project/commit/558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-single vectors MOP4{A/S} (#129226)
Implement all multi-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in clang and
llvm following the ACLE in https://github.com/ARM-software/acle/pull/381/files
Commit: 105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
https://github.com/llvm/llvm-project/commit/105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for EmitC (#133732)
`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: 7e25b240731413d2cfca2b78ab1d0ed33d851622
https://github.com/llvm/llvm-project/commit/7e25b240731413d2cfca2b78ab1d0ed33d851622
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
Log Message:
-----------
IRNormalizer: Replace cl::opts with pass parameters (#133874)
Not sure why the "fold-all" option naming didn't match the
variable "FoldPreOutputs", but I've preserved the difference.
More annoyingly, the pass name "normalize" does not match the pass
name IRNormalizer and should probably be fixed one way or the other.
Also the existing test coverage for the flags is lacking. I've added
a test that shows they parse, but we should have tests that they
do something.
Commit: 1f194ff34e4e861a18f7108c7874bccbd6459f30
https://github.com/llvm/llvm-project/commit/1f194ff34e4e861a18f7108c7874bccbd6459f30
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir-c/AffineExpr.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/CAPI/IR/AffineExpr.cpp
M mlir/test/python/ir/affine_expr.py
Log Message:
-----------
[mlir] Expose `simplifyAffineExpr` through python api (#133926)
Commit: 00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
https://github.com/llvm/llvm-project/commit/00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/lib/clc_unary.inc
R libclc/generic/lib/math/binary_impl.inc
R libclc/generic/lib/math/clc_sw_binary.inc
Log Message:
-----------
[libclc][NFC] Delete three unused .inc files
Commit: 4b19db6db965d95d7259e224f518c5404a7989ba
https://github.com/llvm/llvm-project/commit/4b19db6db965d95d7259e224f518c5404a7989ba
Author: Petr Hosek <phosek at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/ARM/plt-relative-reloc.ll
R llvm/test/CodeGen/ARM/relative-reloc.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
R llvm/test/CodeGen/RISCV/relative-reloc.ll
R llvm/test/CodeGen/X86/relative-reloc-32.ll
R llvm/test/CodeGen/X86/relative-reloc-64.ll
A llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
A llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
Revert "AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function" (#133935)
Reverts llvm/llvm-project#132684
Commit: dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
https://github.com/llvm/llvm-project/commit/dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] fix moveToVALU with proper subreg access in true16 (#132089)
There are V2S copies between vpgr16 and spgr32 in true16 mode. This is
caused by vgpr16 and sgpr32 both selectable by 16bit src in ISel.
When a V2S copy and its useMI are lowered to VALU, this patch check
1. If the generated new VALU is used by a true16 inst. Add subreg access
if necessary.
2. Legalize the V2S copy by replacing it to subreg_to_reg
an example MIR looks like:
```
%2:sgpr_32 = COPY %1:vgpr_16
%3:sgpr_32 = S_OR_B32 %2:sgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:sgpr_32, ...
```
currently lowered to
```
%2:vgpr_32 = COPY %1:vgpr_16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:vgpr_32, ...
```
after this patch
```
%2:vgpr_32 = SUBREG_TO_REG 0, %1:vgpr_16, lo16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3.lo16:vgpr_32, ...
```
Commit: ec290a43f68b469197abce65949fde84ecdc9146
https://github.com/llvm/llvm-project/commit/ec290a43f68b469197abce65949fde84ecdc9146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-externally-initialized.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce externally_initialized (#133859)
Not sure this is the right place to put it. This is a property
of GlobalVariable, not GlobalValue. But the ReduceGlobalVars
reduction tries to delete the value entirely.
Commit: 347c5a7af5adfe81b79dd77f7f88c626b09e8534
https://github.com/llvm/llvm-project/commit/347c5a7af5adfe81b79dd77f7f88c626b09e8534
Author: jimingham <jingham at apple.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/source/Core/Module.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Add a new affordance that the Python module in a dSYM (#133290)
So the dSYM can be told what target it has been loaded into.
When lldb is loading modules, while creating a target, it will run
"command script import" on any Python modules in Resources/Python in the
dSYM. However, this happens WHILE the target is being created, so it is
not yet in the target list. That means that these scripts can't act on
the target that they a part of when they get loaded.
This patch adds a new python API that lldb will call:
__lldb_module_added_to_target
if it is defined in the module, passing in the Target the module was
being added to, so that code in these dSYM's don't have to guess.
Commit: 5c4302442bb07de01c533f6ec766cf14dfdf8b02
https://github.com/llvm/llvm-project/commit/5c4302442bb07de01c533f6ec766cf14dfdf8b02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/lib/IR/Globals.cpp
A llvm/test/tools/llvm-reduce/reduce-code-model.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce global variable code model (#133865)
The current API doesn't have a way to unset it. The query returns
an optional, but the set doesn't. Alternatively I could switch the
set to also use optional.
Commit: 69c5049826711022f40d7ce699ffe1d81c3e6f08
https://github.com/llvm/llvm-project/commit/69c5049826711022f40d7ce699ffe1d81c3e6f08
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Log Message:
-----------
[NFC][mlir] Update generate script for conv_3d_ncdhw_fcdhw (#133927)
https://github.com/llvm/llvm-project/pull/129547 changed the IR directly
without updating the auto generate script.
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 25622aa745671d8d1885250f559c6dac0a8c2aeb
https://github.com/llvm/llvm-project/commit/25622aa745671d8d1885250f559c6dac0a8c2aeb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[mlir][AMDGPU] Add gfx950 MFMAs to the amdgpu.mfma op (#133553)
This commit extends the lowering of amdgpu.mfma to handle the new
double-rate MFMAs in gfx950 and adds tests for these operations.
It also adds support for MFMAs on small floats (f6 and f4), which are
implented using the "scaled" MFMA intrinsic with a scale value of 0 in
order to have an unscaled MFMA.
This commit does not add a `amdgpu.scaled_mfma` operation, as that is
future work.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: f60eed934493c2d0305d4d597d39813a12db42ef
https://github.com/llvm/llvm-project/commit/f60eed934493c2d0305d4d597d39813a12db42ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.cpp
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.h
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
llvm-reduce: Add target-features-attr reduction (#133887)
Try to reduce individual subtarget features in the "target-features"
attribute. This attempts a textual removal of the fields in the string,
not a semantic removal. Typically there's a lot of redundant feature spam
in the feature list implied by the target-cpu (which I really wish clang
would stop emitting). If we could parse these out, we could easily drop
the fields without testing anything.
Commit: 75242a8a1d38815b5533c3951d5beceb8033d9fa
https://github.com/llvm/llvm-project/commit/75242a8a1d38815b5533c3951d5beceb8033d9fa
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Fix the c_slli disassembler test (NFC) (#133921)
This change fixes the exhaustive text for the c.slli instruction so that
each hex pattern now appears only once. The problem was spotted
[here](https://github.com/llvm/llvm-project/pull/133713#discussion_r2021577609)
by @topperc (for which, thank you).
Commit: 01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
https://github.com/llvm/llvm-project/commit/01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][device] Enable Stop functions on device build (#133803)
Update `StopStatement` and `StopStatementText` to be build for the
device.
Commit: 7003f7d23aeca97b0301e605ed8b02436b38f789
https://github.com/llvm/llvm-project/commit/7003f7d23aeca97b0301e605ed8b02436b38f789
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Replace llvm-link with API calls (#133797)
This PR has the following changes:
Replace llvm-link with calls to linkInModule to link device files Add
-print-linked-module option to dump linked module for testing Added a
test to verify that linking is working as expected. We will eventually
move to using thin LTO for linking device inputs.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 602d05fbe89a5663a07dc51862409778bfe6fec6
https://github.com/llvm/llvm-project/commit/602d05fbe89a5663a07dc51862409778bfe6fec6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
llvm-reduce: Make myself maintainer (#133919)
Commit: f14ff59da7f98a405999bcc8481b20446de0d0cd
https://github.com/llvm/llvm-project/commit/f14ff59da7f98a405999bcc8481b20446de0d0cd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp, exp2 and expm1 to the CLC library (#133932)
These all share the use of a common helper function so are handled in
one go. These builtins are also now vectorized.
Commit: 44b87e42066064d74f4a9c69ea02aa9558ca6a1a
https://github.com/llvm/llvm-project/commit/44b87e42066064d74f4a9c69ea02aa9558ca6a1a
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/exhaustive/hypotf_test.cpp
Log Message:
-----------
[libc] Reduce the range of hypotf exhaustive test to be run automatically. (#133944)
The current setup of `hypotf` exhaustive tests might take days to
finish.
Commit: 9586117c3ab6f16883a646847cfa65b065ad4ae3
https://github.com/llvm/llvm-project/commit/9586117c3ab6f16883a646847cfa65b065ad4ae3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix a warning
This patch fixes:
clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:127:13: error:
function 'getMainExecutable' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
Commit: d8bf0398e5d5a9b9f7f186c0535a069055a03150
https://github.com/llvm/llvm-project/commit/d8bf0398e5d5a9b9f7f186c0535a069055a03150
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[AArch64] Use tablegen HasOneUse. NFC
Commit: 7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
https://github.com/llvm/llvm-project/commit/7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
Log Message:
-----------
[ARM] Use tablegen HasOneUse. NFC
Commit: a30caa6a73286eabe22983ce5a7cca27a25d0790
https://github.com/llvm/llvm-project/commit/a30caa6a73286eabe22983ce5a7cca27a25d0790
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/CodeGen/WebAssembly/libcalls64.ll
Log Message:
-----------
[WebAssembly] Add missing tests from #133289 (#133938)
Commit: afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
https://github.com/llvm/llvm-project/commit/afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
Log Message:
-----------
[flang][cuda] Fix char argument
This would fail with `error: argument of type "char" is incompatible with parameter of type "const char *"`
Commit: bd7585bea3906aa2d288f7238382e99b8d5506eb
https://github.com/llvm/llvm-project/commit/bd7585bea3906aa2d288f7238382e99b8d5506eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Improve error for using x18-x27 in a register list with RVE. (#133936)
matchRegisterNameHelper returns MCRegister() for RVE so the first RVE
check was dead.
For the second check, I've moved the RVE check from the comma parsing to
the identifier parsing so the diagnostic points at the register. Note
we're using matchRegisterName instead of matchRegisterNameHelper to
avoid allowing ABI names so we don't get the RVE check that lives inside
matchRegisterNameHelper.
The errors for RVE in general should probably say something other than
"invalid register", but that's a problem throughout the assembler.
Commit: 4d1c82742302e205071a89ff42c0e90e548e861c
https://github.com/llvm/llvm-project/commit/4d1c82742302e205071a89ff42c0e90e548e861c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
A llvm/test/MC/WebAssembly/lto-set-conditional.s
Log Message:
-----------
[WebAssembly] Support parsing .lto_set_conditional (#126546)
In the split-LTO-unit mode in ThinLTO, a compilation module is split
into two and global variables that meet a specific criteria is moved to
the split module.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L315-L366
And if there is an originally local-linkage global value defined in the
original module and referenced in the split module or the vice versa,
that value is _promoted_ by attaching a module ID to their names in
order to prevent name clashes because now they can be referenced from
other modules.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L46-L100
And when that promoted global value is a function, a
`.lto_set_conditional` entry is written to the original module to avoid
breaking references from inline assembly:
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L84-L91
The syntax of this is, if the original function name is `symbolA` and
the module ID is `123`,
```ll
module asm ".lto_set_conditional symbolA,symbolA.123"
```
These symbols are parsed here:
https://github.com/llvm/llvm-project/blob/648981f913431749c4656268ed670677a88511f6/llvm/lib/MC/MCParser/AsmParser.cpp#L6467
The first function symbol in this `.lto_set_conditional` do not exist as
a function in the bitcode anymore because it was renamed to the second.
So they are not assigned as function symbols but they are not really
data either, so the object writer crashes here:
https://github.com/llvm/llvm-project/blob/5b9e6c7993359c16b4d645c851bb7fe2fd7b78c7/llvm/lib/MC/WasmObjectWriter.cpp#L1820
This PR makes the object writer just skip those symbols.
---
This problem was discovered when I was testing with
`-fwhole-program-vtables`. The reason we didn't have this problem before
with ThinLTO was because `-fsplit-lto-unit`, which splits LTO units when
possible, defaults to false, but it defaults to true when
`-fwhole-program-vtables` is used.
Commit: 79487757b7f4b33a0940753fb02e39d0388e733a
https://github.com/llvm/llvm-project/commit/79487757b7f4b33a0940753fb02e39d0388e733a
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x2.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-multi vectors MOP4{A/S} (#129230)
Implement all multi-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: 2b064108ed55af510379edc81622983385c7977f
https://github.com/llvm/llvm-project/commit/2b064108ed55af510379edc81622983385c7977f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Fix a build error (#133957)
This fixes error reported in post-commit testing of
https://github.com/llvm/llvm-project/pull/133797
LOG: https://lab.llvm.org/buildbot/#/builders/140/builds/20266
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
https://github.com/llvm/llvm-project/commit/0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP]Support revectorization of the previously vectorized scalars
If the scalar instructions is marked for the vectorization in the tree,
it cannot be vectorized as part of the another node in the same tree, in
general. It may prevent some potentially profitable vectorization
opportunities, since some nodes end up being buildvector/gather nodes,
which add to the total cost.
Patch allows revectorization of the previously vectorized scalars.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/133091
Commit: 30d982fc974e64e87a34a9af773d028c8229c801
https://github.com/llvm/llvm-project/commit/30d982fc974e64e87a34a9af773d028c8229c801
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/lite-mode.s
A bolt/test/X86/lite-mode-target-expr.s
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/docs/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/taint-generic.cpp
A clang/test/C/C11/n1518.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
A clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/setjmp.c
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/arch-arm64e.c
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/link-device-code.test
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/x86-target-features.c
A clang/test/Frontend/print-stats.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/test/Sema/attr-args.c
M clang/test/Sema/for.c
M clang/test/SemaCXX/MicrosoftExtensions.cpp
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/c_status.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/metadata/lit.cfg.py
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/stop.cpp
M flang/docs/ArrayRepacking.md
M flang/docs/Intrinsics.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/fveclib.f90
A flang/test/Driver/m64-option.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Integration/debug-local-var-2.f90
R flang/test/Lower/AMD/code-object-version.f90
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Lower/Intrinsics/perror.f90
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Parser/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
A flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplify-fir-operations.fir
A libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/include/math.yaml
M libc/include/stdlib.yaml
M libc/src/__support/CPP/atomic.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
A libc/src/math/generic/hypotf16.cpp
A libc/src/math/hypotf16.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
A libc/test/src/math/asinhf16_test.cpp
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
M libc/test/src/math/exhaustive/hypotf_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
A libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/hypotf16_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/mktime_test.cpp
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp10.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_recip.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/include/clc/math/tables.h
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
A libclc/clc/lib/generic/math/clc_fmod.cl
M libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
M libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clspv/lib/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
R libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/clc_unary.inc
R libclc/generic/lib/math/binary_impl.inc
R libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
R libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
M libclc/spirv/lib/SOURCES
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/index.rst
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/compiler.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__functional/hash.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_referenceable.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/functional.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
M libcxx/utils/ci/run-buildbot
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
M lld/MachO/SyntheticSections.cpp
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-feature-pac.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
M lld/test/ELF/linkerscript/overlay.test
A lld/test/ELF/loongarch-relax-tlsdesc.s
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M lld/test/ELF/weak-undef-rw.s
M lld/test/MachO/icf-safe-thunks-dwarf.ll
A lld/test/MachO/interposable.s
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/Target.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/LLDBAssert.cpp
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Security.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/Vectorizers.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
M llvm/test/CodeGen/AArch64/andorxor.ll
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/dllexport.ll
A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x2.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/AArch64/zext.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/lrint.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/branch_zero.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/frm-dependency.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
A llvm/test/CodeGen/RISCV/rvv/pr133217.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
A llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir
M llvm/test/CodeGen/Thumb2/tpsoft.ll
A llvm/test/CodeGen/WebAssembly/libcalls64.ll
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/avx512-vselect.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
M llvm/test/CodeGen/X86/dollar-name.ll
A llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
A llvm/test/CodeGen/Xtensa/callw.ll
M llvm/test/CodeGen/Xtensa/saverestore.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/DebugInfo/X86/undef-dbg-val.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
A llvm/test/MC/AArch64/execute-only-memtag.ll
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
A llvm/test/MC/Disassembler/RISCV/c_slli.txt
A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
M llvm/test/MC/ELF/gnu-type-diagnostics.s
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/LoongArch/lasx/invalid-imm.s
M llvm/test/MC/LoongArch/lsx/invalid-imm.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/PowerPC/ppc64-fixups.s
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-valid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rv64xqccmp-valid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rve-invalid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
A llvm/test/MC/WebAssembly/lto-set-conditional.s
M llvm/test/Other/time-passes.ll
A llvm/test/TableGen/CompressInstEmitter/suboperands.td
A llvm/test/TableGen/instances.td
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
A llvm/test/Transforms/HotColdSplit/musttail.ll
A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
A llvm/test/Transforms/SLPVectorizer/X86/cmp-values-non-full-registers.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
M llvm/test/tools/llvm-reduce/fail-execute-test.test
A llvm/test/tools/llvm-reduce/fail-output-file.test
A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-invoke.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-non-callee-use.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
A llvm/test/tools/llvm-reduce/reduce-code-model.ll
M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
A llvm/test/tools/llvm-reduce/reduce-externally-initialized.ll
A llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-metadata-to-attributes.ll
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-token.ll
A llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-wrong-cc.ll
A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
M llvm/test/tools/llvm-reduce/remove-instructions.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-reduce/remove-module-data.ll
M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/tools/bugpoint/ToolRunner.cpp
M llvm/tools/dsymutil/Reproducer.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-exegesis/README.md
M llvm/tools/llvm-exegesis/lib/Error.cpp
M llvm/tools/llvm-exegesis/lib/Error.h
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/DeltaPass.h
A llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/TestRunner.cpp
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.cpp
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h
M llvm/tools/llvm-reduce/deltas/Utils.h
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/tools/obj2yaml/macho2yaml.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/ADT/DirectedGraphTest.cpp
M llvm/unittests/ADT/SmallSetTest.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
M llvm/utils/not/not.cpp
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir-c/AffineExpr.h
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Analysis/Presburger/Simplex.h
M mlir/include/mlir/AsmParser/AsmParser.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/IR/AsmState.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Interfaces/SideEffectInterfaces.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
M mlir/include/mlir/Pass/PassOptions.h
M mlir/include/mlir/TableGen/EnumInfo.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/AsmParser/AsmParserState.cpp
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/CAPI/IR/AffineExpr.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/IR/Block.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/ValueRange.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/EnumInfo.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/CAPI/quant.c
A mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
A mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
R mlir/test/Conversion/MPIToLLVM/ops.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
M mlir/test/Dialect/Arith/int-range-interface.mlir
A mlir/test/Dialect/LLVMIR/call-param.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/promote.mlir
A mlir/test/Dialect/Linalg/transform-op-linalg-copy-to-memref.mlir
A mlir/test/Dialect/MPI/mpiops.mlir
R mlir/test/Dialect/MPI/ops.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/IR/attribute.mlir
M mlir/test/IR/invalid-builtin-attributes.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
A mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
M mlir/test/Transforms/remove-dead-values.mlir
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/mlir-runner/global-constructors.mlir
M mlir/test/mlir-tblgen/enums-gen.td
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/python/ir/affine_expr.py
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/utils/spirv/gen_spirv_dialect.py
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Workshare.cpp
M offload/include/OffloadPolicy.h
M offload/libomptarget/PluginManager.cpp
A offload/test/offloading/fortran/target-teams-dist-nest-par.f90
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
M polly/include/polly/CodeGen/IRBuilder.h
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/MaximalStaticExpansion.cpp
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/c0c2f115c09b...30d982fc974e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list