[all-commits] [llvm/llvm-project] f139bd: [SelectionDAG] Move SDNode::use_iterator::getOpera...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Fri Jan 3 06:41:53 PST 2025
Branch: refs/heads/users/kparzysz/spr/m01-spec
Home: https://github.com/llvm/llvm-project
Commit: f139bde8d85e4f7666f2fd739b61894fa58f2f18
https://github.com/llvm/llvm-project/commit/f139bde8d85e4f7666f2fd739b61894fa58f2f18
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[SelectionDAG] Move SDNode::use_iterator::getOperandNo to SDUse. (#120536)
This allows us to write more range based for loops because we no
longer need the iterator. It also matches IR's Use class.
Commit: 4044886c7c6f75a6d7d0205f8a33d9f404f7832f
https://github.com/llvm/llvm-project/commit/4044886c7c6f75a6d7d0205f8a33d9f404f7832f
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
Log Message:
-----------
Revert "[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)" (#120594)
This reverts commit e0526b0780f56eede09b05a859a93626ecdc6e4d.
The `v_minmax/maxmin_f16`(GFX11) needs to be updated to t16 with
`v_minmax/maxmin_num_f16`(GFX12) together since they share the same
codegen pattern. Revert the old patch and resubmit
Commit: c2dd61279764c9e525b73d37dae58ed77b773b1d
https://github.com/llvm/llvm-project/commit/c2dd61279764c9e525b73d37dae58ed77b773b1d
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/test/COFF/thin-archive.s
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
Log Message:
-----------
[llvm-lib] Add /llvmlibindex:no to disable writing an index (#120596)
This can be used with /llvmlibthin to create thin archives without an
index, which is a prerequisite for porting
https://reviews.llvm.org/D117284 to lld-link.
Creating files like this is already possible with `llvm-ar rcS`, so this
doesn't add additional problems.
Commit: 434819c35f4e0168248a30677077fe7c8c8ab29c
https://github.com/llvm/llvm-project/commit/434819c35f4e0168248a30677077fe7c8c8ab29c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage for #34072
Add tests for horizontal add patterns with missing/undemanded elements - which typically prevents folding to the (add (shuffle a, b),(shuffle a, b)) optimal pattern
Commit: 01b96385fd8760d1fc79c35d1f980c9b64d03599
https://github.com/llvm/llvm-project/commit/01b96385fd8760d1fc79c35d1f980c9b64d03599
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV][test] Add zbb-logic-neg-imm.ll
Commit: 254ba78495100d9f20c4fa9802395f11c6d3cef1
https://github.com/llvm/llvm-project/commit/254ba78495100d9f20c4fa9802395f11c6d3cef1
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[GenericDomTree][NFC] Remove unnecessary `const_cast`s (#97638)
Commit: 46e782300765eeac8026377bf30d5f08888c2b25
https://github.com/llvm/llvm-project/commit/46e782300765eeac8026377bf30d5f08888c2b25
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/API/macosx/sme-registers/Makefile
A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
A lldb/test/API/macosx/sme-registers/main.c
M lldb/tools/debugserver/source/DNBDefs.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb][debugserver] Read/write SME registers on arm64 (#119171)
**Note:** The register reading and writing depends on new register
flavor support in thread_get_state/thread_set_state in the kernel, which
will be first available in macOS 15.4.
The Apple M4 line of cores includes the Scalable Matrix Extension (SME)
feature. The M4s do not implement Scalable Vector Extension (SVE),
although the processor is in Streaming SVE Mode when the SME is being
used. The most obvious side effects of being in SSVE Mode are that (on
the M4 cores) NEON instructions cannot be used, and watchpoints may get
false positives, the address comparisons are done at a lowered
granularity.
When SSVE mode is enabled, the kernel will provide the Streaming Vector
Length register, which is a maximum of 64 bytes with the M4. Also
provided are SVCR (with bits indicating if SSVE mode and SME mode are
enabled), TPIDR2, SVL. Then the SVE registers Z0..31 (SVL bytes long),
P0..15 (SVL/8 bytes), the ZA matrix register (SVL*SVL bytes), and the M4
supports SME2, so the ZT0 register (64 bytes).
When SSVE/SME are disabled, none of these registers are provided by the
kernel - reads and writes of them will fail.
Unlike Linux, lldb cannot modify the SVL through a thread_set_state
call, or change the processor state's SSVE/SME status. There is also no
way for a process to request a lowered SVL size today, so the work that
David did to handle VL/SVL changing while stepping through a process is
not an issue on Darwin today. But debugserver should be providing
everything necessary so we can reuse all of David's work on resizing the
register contexts in lldb if it happens in the future. debugbserver
sends svl, svcr, and tpidr2 in the expedited registers when a thread
stops, if SSVE|SME mode are enabled (if the kernel allows it to read the
ARM_SME_STATE register set).
While the maximum SVL is 64 bytes on M4, the AArch64 maximum possible
SVL is 256; this would give us a 64k ZA register. If debugserver sized
all of its register contexts assuming the largest possible SVL, we could
easily use 2MB more memory for the register contexts of all threads in a
process -- and on iOS et al, processes must run within a small memory
allotment and this would push us over that.
Much of the work in debugserver was changing the arm64 register context
from being a static compile-time array of register sets, to being
initialized at runtime if debugserver is running on a machine with SME.
The ZA is only created to the machine's actual maximum SVL. The size of
the 32 SVE Z registers is less significant so I am statically allocating
those to the architecturally largest possible SVL value today.
Also, debugserver includes information about registers that share the
same part of the register file. e.g. S0 and D0 are the lower parts of
the NEON 128-bit V0 register. And when running on an SME machine, v0 is
the lower 128 bits of the SVE Z0 register. So the register maps used
when defining the VFP registers must differ depending on the
capabilities of the cpu at runtime.
I also changed register reading in debugserver, where formerly when
debugserver was asked to read a register, and the thread_get_state read
of that register failed, it would return all zero's. This is necessary
when constructing a `g` packet that gets all registers - because there
is no separation between register bytes, the offsets are fixed. But when
we are asking for a single register (e.g. Z0) when not in SSVE/SME mode,
this should return an error.
This does mean that when you're running on an SME capabable machine, but
not in SME mode, and do `register read -a`, lldb will report that 48 SVE
registers were unavailable and 5 SME registers were unavailable. But
that's only when `-a` is used.
The register reading and writing depends on new register flavor support
in thread_get_state/thread_set_state in the kernel, which is not yet in
a release. The test case I wrote is skipped on current OSes. I pilfered
the SME register setup from some of David's existing SME test files;
there were a few Linux specific details in those tests that they weren't
easy to reuse on Darwin.
rdar://121608074
Commit: a03343daa6e7a44531e06c8897d6c6d4a46cd430
https://github.com/llvm/llvm-project/commit/a03343daa6e7a44531e06c8897d6c6d4a46cd430
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.exe
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
Log Message:
-----------
[memprof] YAMLify the profile for memprof_missing_leaf.ll (NFC) (#120488)
This patch converts the profile for memprof_missing_leaf.ll to the
recently introduced YAML-based text format.
Commit: e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
https://github.com/llvm/llvm-project/commit/e504ece6c15fa5b347a4d8ff7e6fc98ee109660e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[LLVMIR] Migrate away from PointerUnion::{is,get} (NFC) (#120530)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 37100505664a4c451eb530bc899de204adb80a13
https://github.com/llvm/llvm-project/commit/37100505664a4c451eb530bc899de204adb80a13
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Set CommonVL as the largest of the users (#120349)
Prior to this patch, we required that all users had the same VL in order
to optimize. But as the FIXME said, we can use the largest VL to
optimize, as long as we can determine what the largest is. This patch
implements the FIXME.
Commit: 28865769440756138a88a9c8e8b72b1f5d8db715
https://github.com/llvm/llvm-project/commit/28865769440756138a88a9c8e8b72b1f5d8db715
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] clang-format MemProf-related files (NFC) (#120504)
Commit: 21684e38ee65c89d1d0b399c938a83fba5e5c04e
https://github.com/llvm/llvm-project/commit/21684e38ee65c89d1d0b399c938a83fba5e5c04e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT][Linux] Refactor reading of PC-relative addresses. NFCI (#120491)
Fix evaluation order problem identified in
https://github.com/llvm/llvm-project/pull/119088.
Commit: b71c44b9be17dc6295eb733d685b38e797f3c846
https://github.com/llvm/llvm-project/commit/b71c44b9be17dc6295eb733d685b38e797f3c846
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
Log Message:
-----------
[scudo] Add the record of number of attempted page release (#120497)
This also removes the `RangesReleased` which doesn't give much insight
to whether we should adjust the heuristic of doing page release.
Commit: 1808255a44e67446715cb6b16df49c6cec41b0b4
https://github.com/llvm/llvm-project/commit/1808255a44e67446715cb6b16df49c6cec41b0b4
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
Log Message:
-----------
[DWARFVerifier] Fix and enable broken test llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml (#120330)
Fixing broken test - calling `sed` in a cross-platform compatible way.
Verified to pass on Mac (which uses BSD sed).
Commit: 395a369056e1a9b55015b81a8667f39f1f48457f
https://github.com/llvm/llvm-project/commit/395a369056e1a9b55015b81a8667f39f1f48457f
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
Log Message:
-----------
[Xtensa] Fix build after splitting SDNode::use_iterator
Same as: 145ddf7ede28d9131a65b7f86ad07736a824ee21
Commit: 98c97d4a19412a76f7279003af6cb219dea1f0c3
https://github.com/llvm/llvm-project/commit/98c97d4a19412a76f7279003af6cb219dea1f0c3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#119846)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted. Also removed the support for makeRef and makeRefPtr
as they don't exist any more.
Commit: aa07f922103ebe8e78c8da4c754b43af3c129f3e
https://github.com/llvm/llvm-project/commit/aa07f922103ebe8e78c8da4c754b43af3c129f3e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
Log Message:
-----------
[DirectX][SPIRV] Consistent names for HLSL resource intrinsics (#120466)
Rename HLSL resource-related intrinsics to be consistent with the naming
conventions discussed in [wg-hlsl:0014].
This is an entirely mechanical change, consisting of the following
commands and automated formatting.
```sh
git grep -l handle.fromBinding | xargs perl -pi -e \
's/(dx|spv)(.)handle.fromBinding/$1$2resource$2handlefrombinding/g'
git grep -l typedBufferLoad_checkbit | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad_checkbit/$1$2resource$2loadchecked$2typedbuffer/g'
git grep -l typedBufferLoad | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferLoad/$1$2resource$2load$2typedbuffer/g'
git grep -l typedBufferStore | xargs perl -pi -e \
's/(dx|spv)(.)typedBufferStore/$1$2resource$2store$2typedbuffer/g'
git grep -l bufferUpdateCounter | xargs perl -pi -e \
's/(dx|spv)(.)bufferUpdateCounter/$1$2resource$2updatecounter/g'
git grep -l cast_handle | xargs perl -pi -e \
's/(dx|spv)(.)cast.handle/$1$2resource$2casthandle/g'
```
[wg-hlsl:0014]: https://github.com/llvm/wg-hlsl/blob/main/proposals/0014-consistent-naming-for-dx-intrinsics.md
Commit: d3508ccd1512c57094ec7b321d147aa72c9fbc7e
https://github.com/llvm/llvm-project/commit/d3508ccd1512c57094ec7b321d147aa72c9fbc7e
Author: Konstantina Mitropoulou <44334539+kmitropoulou at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
Log Message:
-----------
[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions. (#120588)
- **[AMDGPU] Add new test.**
- **[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions.**
---------
Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>
Commit: b5d02786be31f45ca5919b3b73e99d8958330f78
https://github.com/llvm/llvm-project/commit/b5d02786be31f45ca5919b3b73e99d8958330f78
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
Revert "[WebKit checkers] Recognize adoptRef as a safe function" (#120626)
Reverts llvm/llvm-project#119846. Introduced a failing test.
Commit: 45c01e8a33bbb1790ea16577e47b1e6a34fa1548
https://github.com/llvm/llvm-project/commit/45c01e8a33bbb1790ea16577e47b1e6a34fa1548
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC][TargetTransformInfo][VectorUtils] Consolidate `isVectorIntrinsic...` api (#117635)
- update `VectorUtils:isVectorIntrinsicWithScalarOpAtArg` to use TTI for
all uses, to allow specifiction of target specific intrinsics
- add TTI to the `isVectorIntrinsicWithStructReturnOverloadAtField` api
- update TTI api to provide `isTargetIntrinsicWith...` functions and
consistently name them
- move `isTriviallyScalarizable` to VectorUtils
- update all uses of the api and provide the TTI parameter
Resolves #117030
Commit: e3b571e632855386908c5cea310f5056d31d6df8
https://github.com/llvm/llvm-project/commit/e3b571e632855386908c5cea310f5056d31d6df8
Author: Niels Dekker <N.Dekker at lumc.nl>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
Log Message:
-----------
[clang-tidy][NFC] Sync ContainerSizeEmptyCheck with container-size-empty doc (#118459)
Brought the class documentation in sync with the user documentation at
container-size-empty.rst:
https://github.com/llvm/llvm-project/blob/bfb26202e05ee2932b4368b5fca607df01e8247f/clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst#L7-L14
Commit: 10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
https://github.com/llvm/llvm-project/commit/10d054e95413f0e98e4aeed9dbd4605f6f03b3fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Introduce IndexedCallstackIdConveter (NFC) (#120540)
This patch introduces IndexedCallstackIdConveter as a convenience
wrapper around FrameIdConverter and CallStackIdConverter just for
tests.
With the new wrapper, we get to replace idioms like:
FrameIdConverter<decltype(MemProfData.Frames)> FrameIdConv(
MemProfData.Frames);
CallStackIdConverter<decltype(MemProfData.CallStacks)> CSIdConv(
MemProfData.CallStacks, FrameIdConv);
with:
IndexedCallstackIdConveter CSIdConv(MemProfData);
Unfortunately, this exact pattern occurs in tests only; the
combinations of the frame ID converter and call stack ID converter are
diverse in production code.
Commit: 4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
https://github.com/llvm/llvm-project/commit/4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/wait-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'init' and 'shutdown' constructs
These two constructs are very simple and similar, and only support 3
different clauses, two of which are already implemented. This patch
adds AST nodes for both constructs, and leaves the device_num clause
unimplemented, but enables the other two.
Commit: bdf255530821201c9febf9fdb42b91082656dc94
https://github.com/llvm/llvm-project/commit/bdf255530821201c9febf9fdb42b91082656dc94
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'device_num' clause sema for 'init'/'shutdown'
This is a very simple sema implementation, and just required AST node
plus the existing diagnostics. This patch adds tests and adds the AST
node required, plus enables it for 'init' and 'shutdown' (only!)
Commit: 1fcb6a9754a8db057e18f629cb90011b638901e7
https://github.com/llvm/llvm-project/commit/1fcb6a9754a8db057e18f629cb90011b638901e7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Runtime/derived-api.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
Log Message:
-----------
[flang][OpenMP] Initialize allocatable members of derived types (#120295)
Allocatable members of privatized derived types must be allocated,
with the same bounds as the original object, whenever that member
is also allocated in it, but Flang was not performing such
initialization.
The `Initialize` runtime function can't perform this task unless
its signature is changed to receive an additional parameter, the
original object, that is needed to find out which allocatable
members, with their bounds, must also be allocated in the clone.
As `Initialize` is used not only for privatization, sometimes this
other object won't even exist, so this new parameter would need
to be optional.
Because of this, it seemed better to add a new runtime function:
`InitializeClone`.
To avoid unnecessary calls, lowering inserts a call to it only for
privatized items that are derived types with allocatable members.
Fixes https://github.com/llvm/llvm-project/issues/114888
Fixes https://github.com/llvm/llvm-project/issues/114889
Commit: 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
https://github.com/llvm/llvm-project/commit/4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Increase NumStmtBits by 1 as we are approaching the limit (#120341)
We have already hit the limit of NumStmtBits downstream after
010d0115fc8e3834fc6f747f0841f3b1e467c4da, which adds 4 new StmtNodes.
Commit: 6e7312bda60249c25e2ae9078d9f70bc2a65838c
https://github.com/llvm/llvm-project/commit/6e7312bda60249c25e2ae9078d9f70bc2a65838c
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV] Select and/or/xor with certain constants to Zbb ANDN/ORN/XNOR (#120221)
(and X, (C<<12|0xfff)) -> (ANDN X, ~C<<12)
(or X, (C<<12|0xfff)) -> (ORN X, ~C<<12)
(xor X, (C<<12|0xfff)) -> (XNOR X, ~C<<12)
Emits better code, typically by avoiding an `ADDI HI, -1` instruction.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 7009b0699343a7eb87e77d8e13f7c70a02ebed5f
https://github.com/llvm/llvm-project/commit/7009b0699343a7eb87e77d8e13f7c70a02ebed5f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow STOP in device context (#120625)
STOP statement is allowed in device procedure
Commit: cb8a90b7d17f851dec9c1c2d429622909aa5b605
https://github.com/llvm/llvm-project/commit/cb8a90b7d17f851dec9c1c2d429622909aa5b605
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/ubsan-trap-merge.c
Log Message:
-----------
[ubsan] Remove -ubsan-unique-traps (replace with -fno-sanitize-merge) (#120613)
-fno-sanitize-merge (introduced in
https://github.com/llvm/llvm-project/pull/120511) duplicates the
functionality of -ubsan-unique-traps but also allows individual checks
to be specified e.g.,
* "-fno-sanitize-merge" without arguments is equivalent to
-ubsan-unique-traps
* "-fno-sanitize-merge=bool,enum" will apply it only to those two checks
Additionally, the naming is more consistent with the rest of the
-fsanitize- family.
This patch therefore removes -ubsan-unique-traps. This breaks backwards
compatibility; we hope that this is acceptable since '-mllvm
-ubsan-unique-traps' was an experimental flag.
This patch also adds negative test examples to bounds-checking.c, and
strengthens the NOOPTARRAY assertion to prevent spurious matches.
"-bounds-checking-unique-traps" is unaffected by this patch.
Commit: 8dfae0c462e9558df77c83c97d89b4b83ed1baff
https://github.com/llvm/llvm-project/commit/8dfae0c462e9558df77c83c97d89b4b83ed1baff
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
Revert "[libcxx] Use alias for detecting overriden function (#114961)"
This reverts commit 62bd10f7d18ca6f544286767cae2c9026d493888.
Breaks building with -flto=thin, see
https://github.com/llvm/llvm-project/pull/114961#issuecomment-2555754056
Commit: 5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
https://github.com/llvm/llvm-project/commit/5b5b241edf78bd8e34ccf1ce352e86e571a32b4c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120619)
Commit: 34e0f9cd36e9d4eb7fd153f536c811ec668be458
https://github.com/llvm/llvm-project/commit/34e0f9cd36e9d4eb7fd153f536c811ec668be458
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/module.modulemap
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Remove the need for `uselocale()` (#120158)
Instead of requiring `uselocale()` as part of the base locale API,
define __locale_guard in the few places that need it directly, without
making __locale_guard part of the base API.
In practice, most mainstream platforms never used __locale_guard, so
they also didn't need to define uselocale(), and after this patch they
actually don't define it anymore.
Commit: c2830b218017dd9e2fca843e81baec1d71306b07
https://github.com/llvm/llvm-project/commit/c2830b218017dd9e2fca843e81baec1d71306b07
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
Log Message:
-----------
[AMDGPU][True16][MC] added fake16 for gfx12 alias MC test (#120624)
This is a NFC.
Duplicate gfx12_asm_vop3_alias.s file to true16/fake16 version and
update `real-true16` flag on it.
This is preparing the upcoming changes for true16
Commit: 0a94ee694fbe1a17c5a948fbe86b881527f81343
https://github.com/llvm/llvm-project/commit/0a94ee694fbe1a17c5a948fbe86b881527f81343
Author: Michael Jones <michaelrj at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M libc/docs/dev/index.rst
M libc/docs/full_host_build.rst
Log Message:
-----------
[libc] update host build docs (#120147)
Update the host build docs to better reflect the current recommended
process.
Commit: f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
https://github.com/llvm/llvm-project/commit/f000c053bfa6f86f5ffac9e1177e6c88f18ae1bd
Author: David Green <david.green at arm.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add test coverage to shuffleToIdentity for fp casts. NFC
Commit: 4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
https://github.com/llvm/llvm-project/commit/4c3e13ebca560cd2377dfeb0c7b9186bd6c96ae1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 34e0f9cd36e9
Commit: 9e322c56f7b3637377855c59b9665d5b299cba7b
https://github.com/llvm/llvm-project/commit/9e322c56f7b3637377855c59b9665d5b299cba7b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
A clang/test/CodeGen/sanitize-type-globals.cpp
Log Message:
-----------
[TySan] Don't report globals with external storage. (#120565)
Globals with external storage should have been initialized where they
are defined.
Fixes https://github.com/llvm/llvm-project/issues/120448
PR: https://github.com/llvm/llvm-project/pull/120565
Commit: d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
https://github.com/llvm/llvm-project/commit/d33a2c58112bdd74225b0ff4f07acc49bed7e6ea
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/test/CodeGen/bounds-checking.c
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
Log Message:
-----------
[BoundsSan] Update BoundsChecking.cpp to use no-merge attribute where applicable (#120620)
https://github.com/llvm/llvm-project/pull/65972 introduced
-ubsan-unique-traps and -bounds-checking-unique-traps, which attach the
function size to the ubsantrap intrinsic.
https://github.com/llvm/llvm-project/pull/117651 changed
ubsan-unique-traps to use nomerge instead of the function size, but did
not update -bounds-checking-unique-traps. This patch adds nomerge to
bounds-checking-unique-traps.
Commit: 5f096fd2216001296b809002ee474ee6d7f06e0e
https://github.com/llvm/llvm-project/commit/5f096fd2216001296b809002ee474ee6d7f06e0e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Revert "[LoopVectorizer] Add support for partial reductions (#92418)"
This reverts commit 060d62b48aeb5080ffcae1dc56e41a06c6f56701.
It looks like this is triggering an assertion when build llvm-test-suite
on ARM64 macOS.
Reproducer from MultiSource/Benchmarks/Ptrdist/bc/number.c
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64-apple-macosx15.0.0"
define void @test(i64 %idx.neg, i8 %0) #0 {
entry:
br label %while.body
while.body: ; preds = %while.body, %entry
%n1ptr.0.idx131 = phi i64 [ %n1ptr.0.add, %while.body ], [ %idx.neg, %entry ]
%n2ptr.0.idx130 = phi i64 [ %n2ptr.0.add, %while.body ], [ 0, %entry ]
%sum.1129 = phi i64 [ %add99, %while.body ], [ 0, %entry ]
%n1ptr.0.add = add i64 %n1ptr.0.idx131, 1
%conv = sext i8 %0 to i64
%n2ptr.0.add = add i64 %n2ptr.0.idx130, 1
%1 = load i8, ptr null, align 1
%conv97 = sext i8 %1 to i64
%mul = mul i64 %conv97, %conv
%add99 = add i64 %mul, %sum.1129
%cmp94 = icmp ugt i64 %n1ptr.0.idx131, 0
%cmp95 = icmp ne i64 %n2ptr.0.idx130, -1
%2 = and i1 %cmp94, %cmp95
br i1 %2, label %while.body, label %while.end.loopexit
while.end.loopexit: ; preds = %while.body
%add99.lcssa = phi i64 [ %add99, %while.body ]
ret void
}
attributes #0 = { "target-cpu"="apple-m1" }
> opt -p loop-vectorize
Assertion failed: ((VF.isScalar() || V->getType()->isVectorTy()) && "scalar values must be stored as (0, 0)"), function set, file VPlan.h, line 284.
Commit: 0517772b4ac20c5d3a0de0d4703354a179833248
https://github.com/llvm/llvm-project/commit/0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
Delete unused PoisonChecking utility pass
This was introduced ~5yrs ago (by me), and has never really gotten
any adoption. By now, it's significantly out of sync with new/changed
poison propoagation rules. The idea is still reasonable, but the
imagined use case is largely covered by alive2 these days anyways.
Commit: 6a01ac7d06df875206f746fc982f58c161249285
https://github.com/llvm/llvm-project/commit/6a01ac7d06df875206f746fc982f58c161249285
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Add concepts for Structured buffers (#119643)
This PR adds concept validation to structured buffers, in the same way
that it was done for typed buffers (like RWBuffer) in
https://github.com/llvm/llvm-project/pull/116413.
This PR should also be responsible for introducing rejection of 0 size
elements for structured buffers.
Fixes https://github.com/llvm/llvm-project/issues/117406
Commit: af5a65685964e064704b46947ab0102d41caa785
https://github.com/llvm/llvm-project/commit/af5a65685964e064704b46947ab0102d41caa785
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/InstIterator.h
Log Message:
-----------
[IR] Remove unused method InstIterator::atEnd (#120611)
Commit: 6f983f88537415952ec528c42f89f1d5b620fe68
https://github.com/llvm/llvm-project/commit/6f983f88537415952ec528c42f89f1d5b620fe68
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Set the default C++ library to libc++ on OpenBSD (#107694)
Commit: bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
https://github.com/llvm/llvm-project/commit/bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
Log Message:
-----------
[Driver][FreeBSD][NFC] Remove some code duplication (#120652)
Commit: 3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
https://github.com/llvm/llvm-project/commit/3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add support for runtime handlers (#120513)
This is a step forward to have reporting consistent with other UBSAN
checks.
Runtime and clang parts are here #120515.
Commit: b13592219c421820b7d774dfe360f9f2d9bd94f6
https://github.com/llvm/llvm-project/commit/b13592219c421820b7d774dfe360f9f2d9bd94f6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/Contributing.rst
M llvm/docs/GitHub.rst
Log Message:
-----------
[Doc] Add a section on CI to the GitHub documentation (#85376)
See
https://discourse.llvm.org/t/rfc-add-a-warning-when-bypassing-the-premerge-testing/77610
for context.
Commit: 44201679c6ec597a8624b38ff8f056c5a8dab901
https://github.com/llvm/llvm-project/commit/44201679c6ec597a8624b38ff8f056c5a8dab901
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
Log Message:
-----------
AMDGPU: Fix mishandling of search for constantexpr addrspacecasts (#120346)
Commit: c2aee5062087f193cb5756f378c248c7d91b7245
https://github.com/llvm/llvm-project/commit/c2aee5062087f193cb5756f378c248c7d91b7245
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/bounds-checking.c
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
Log Message:
-----------
[ubsan] Runtime and driver support for local-bounds (#120515)
Implements ``-f[no-]sanitize-trap=local-bounds``,
and ``-f[no-]sanitize-recover=local-bounds``.
LLVM part is here #120513.
Commit: 52574b5f40606b8319952e45d0c407675d9ee0fa
https://github.com/llvm/llvm-project/commit/52574b5f40606b8319952e45d0c407675d9ee0fa
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/openbsd-phdr.s
Log Message:
-----------
[ELF] Add support for PT_OPENBSD_NOBTCFI (#120005)
Commit: cc7d0841cc27b709f83a4194f45914c00a69a9ea
https://github.com/llvm/llvm-project/commit/cc7d0841cc27b709f83a4194f45914c00a69a9ea
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][Sema] Enable the kprintf format attribute (#100669)
Commit: eb1b9fca9ca66d051179d8d2f35edb4624118b26
https://github.com/llvm/llvm-project/commit/eb1b9fca9ca66d051179d8d2f35edb4624118b26
Author: wanglei <wanglei at loongson.cn>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Utility/LoongArch_DWARF_Registers.h
Log Message:
-----------
[lldb][LoongArch] Fix the incorrect floating-point register dwarf number
According to the documentation described at
https://github.com/loongson/la-abi-specs/blob/release/ladwarf.adoc, the
dwarf numbers for floating-point registers range from 32 to 63.
An incorrect dwarf number will prevent the register values from being
properly restored during unwinding.
This test reflects this problem:
```
loongson at linux:~$ cat test.c
void foo() {
asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
}
int main() {
asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
foo();
return 0;
}
loongson at linux:~$ clang -g test.c -o test
```
Without this patch:
```
loongson at linux:~$ ./_build/bin/lldb ./t
(lldb) target create "./t"
Current executable set to
'/home/loongson/llvm-project/_build_lldb/t' (loongarch64).
(lldb) b foo
Breakpoint 1: where = t`foo + 20 at test.c:4:1, address =
0x0000000000000714
(lldb) r
Process 2455626 launched: '/home/loongson/llvm-project/_build_lldb/t' (loongarch64)
Process 2455626 stopped
* thread #1, name = 't', stop reason = breakpoint 1.1
frame #0: 0x0000555555554714 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) si
Process 2455626 stopped
* thread #1, name = 't', stop reason = instruction step into
frame #0: 0x0000555555554718 t`foo at test.c:4:1
1 #include <stdio.h>
2
3 void foo() {
-> 4 asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) f 1
frame #1: 0x0000555555554768 t`main at test.c:8:1
5 }
6 int main() {
7 asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
-> 8 foo();
9 return 0;
10 }
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f13 = 0x00007ffffffef780 !!!!! wrong register
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x0000555555554768 t`main + 40 at test.c:8:1
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
32 registers were unavailable.
```
With this patch:
```
The previous operations are the same.
(lldb) register read -a
General Purpose Registers:
r1 = 0x0000555555554768 t`main + 40 at test.c:8:1
r3 = 0x00007ffffffef780
r22 = 0x00007ffffffef7b0
r23 = 0x00007ffffffef918
r24 = 0x0000000000000001
r25 = 0x0000000000000000
r26 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
r27 = 0x0000555555554740 t`main at test.c:6
r28 = 0x00007ffffffef928
r29 = 0x00007ffff7febc88 ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
r30 = 0x000055555555be08 t`__do_global_dtors_aux_fini_array_entry
pc = 0x0000555555554768 t`main + 40 at test.c:8:1
33 registers were unavailable.
Floating Point Registers:
f24 = 0xffffffffffffffff
f25 = 0xffffffffffffffff
f26 = 0x00007ffffffef780
f27 = 0xffffffffffffffff
f28 = 0xffffffffffffffff
f29 = 0xffffffffffffffff
f30 = 0xffffffffffffffff
f31 = 0xffffffffffffffff
33 registers were unavailable.
```
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/120391
Commit: ee7ca0dddafb609090ad1789570c099d95c0afb6
https://github.com/llvm/llvm-project/commit/ee7ca0dddafb609090ad1789570c099d95c0afb6
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.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/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.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
Log Message:
-----------
Make CombinerHelper methods const (#119529)
There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This PR does just that and makes all of the CombinerHelper
methods const, removes the TODO comments and makes the associated
instances const. This change makes some sense because the CombinerHelper
class simply modifies the state of _other_ objects to which it holds
pointers or references.
Note that AMDGPU contains an identical comment for an instance of
AMDGPUCombinerHelper (a subclass of CombinerHelper). I deliberately
haven’t modified the methods of that class in order to limit the scope
of the change. I’m happy to do so either now or as a follow-up.
Commit: d3c4637cbbd5f0a84811abe195098ce714a2cc32
https://github.com/llvm/llvm-project/commit/d3c4637cbbd5f0a84811abe195098ce714a2cc32
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[WebKit checkers] Recognize adoptRef as a safe function (#120629)
adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted.
Also removed the support for makeRef and makeRefPtr as they don't exist
any more.
Commit: 4307198d51487cc16f98eebb2113caf4a1905914
https://github.com/llvm/llvm-project/commit/4307198d51487cc16f98eebb2113caf4a1905914
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
R llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Move DroppedVariableStats to CodeGen lib (#120650)
To get Dropped variable statistics for MIR, we need to move the base
class DroppedVariableStats code to the CodeGen library because we cannot
have CodeGen link against Passes.
Also moved the code for the virtual functions to the header because
clang/lib/CodeGen doesn't link against llvm/lib/CodeGen however it does
link against Passes which contains the `class StandardInstrumentations`
code but not the definition for the virtual functions leading to the
error about not finding vtable for `class DroppedVariableStatsIR`
Commit: a71f9e6986b80fa90c453219795a1369b8ea7b6e
https://github.com/llvm/llvm-project/commit/a71f9e6986b80fa90c453219795a1369b8ea7b6e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Detect protectedThis pattern. (#120528)
In WebKit, we often capture this as Ref or RefPtr in addition to this
itself so that the object lives as long as a capturing lambda stays
alive.
Detect this pattern and treat it as safe. This PR also makes the check
for a lambda being passed as a function argument more robust by handling
CXXBindTemporaryExpr, CXXConstructExpr, and DeclRefExpr referring to the
lambda.
Commit: 7666c40c09410e0fea4c4e08ce71fe10b05f588a
https://github.com/llvm/llvm-project/commit/7666c40c09410e0fea4c4e08ce71fe10b05f588a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 4307198d5148
Commit: 4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
https://github.com/llvm/llvm-project/commit/4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/showProjectSummary.test
M llvm/test/tools/llvm-cov/showProjectSummary.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
Log Message:
-----------
llvm-cov: Introduce `-show-created-time` to suppress timestamps (#120417)
This shouldn't affect anything since `-show-created-time=true` by
default.
Timestamps sometimes prevent reproducible build.
Commit: e93d226664d7012d1bb017f0cda24ad1b75f37fc
https://github.com/llvm/llvm-project/commit/e93d226664d7012d1bb017f0cda24ad1b75f37fc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
Log Message:
-----------
[flang][cuda] Update CompilerGeneratedNames pass to work on gpu module (#120660)
- Update `CompilerGeneratedNames` so it can perform renaming in
gpu.module
- Update Codegen so it look in the correct module for the type
descriptor.
Commit: f421a7a6ee9938fd4cb940639e516757d7ad1a80
https://github.com/llvm/llvm-project/commit/f421a7a6ee9938fd4cb940639e516757d7ad1a80
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
[ARM] Use `RegisterClassInfo::getRegPressureSetLimit` (#120377)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: 91e392b2836f25bf5641f0ca7ec2f64018c2193b
https://github.com/llvm/llvm-project/commit/91e392b2836f25bf5641f0ca7ec2f64018c2193b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
Log Message:
-----------
[ubsan] Fix test on Windows
Commit: 08db696c87fb68cc896f742202665440cee53f8c
https://github.com/llvm/llvm-project/commit/08db696c87fb68cc896f742202665440cee53f8c
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
Log Message:
-----------
[AMDGPU][True16][MC] V_MED3_I/U16_fake16 CodeGen pattern (#120600)
In this patch https://github.com/llvm/llvm-project/pull/113603 replace
`V_MED3_I/U16` to `V_MED3_I/U16_fake16` for Post-GFX11, but it miss to
update the CodeGen pattern. This patch update and corrert the CodeGen
pattern
Commit: e7e622f153126582670d2d07034e97e1b780a464
https://github.com/llvm/llvm-project/commit/e7e622f153126582670d2d07034e97e1b780a464
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Revert "Move DroppedVariableStats to CodeGen lib (#120650)"
This reverts commit 4307198d51487cc16f98eebb2113caf4a1905914.
Broke bot ppc64le-clang-multistage-test:
undefined reference to
`llvm::DroppedVariableStats::populateVarIDSetAndInlinedMap in
In function `llvm::DroppedVariableStatsIR::visitEveryInstruction
Commit: 16e42235f153eaa2c3abd2e203a771db4e709607
https://github.com/llvm/llvm-project/commit/16e42235f153eaa2c3abd2e203a771db4e709607
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port e7e622f15312
Commit: ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
https://github.com/llvm/llvm-project/commit/ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
Log Message:
-----------
[AArch64][GlobalISel] Fix crash when selecting an anyextending FP load.
We split anyext FP loads back into a regular load + extend, but when we do that
we need to ensure that some state about the instruction is updated to correctly
reflect the new reality.
rdar://141660282
Commit: a73ca291547cf4f5822a3029dd56315354557517
https://github.com/llvm/llvm-project/commit/a73ca291547cf4f5822a3029dd56315354557517
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
A compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)
Fix #120278
Commit: c7606710f93cf0ab655a5bcbbf873954051ba109
https://github.com/llvm/llvm-project/commit/c7606710f93cf0ab655a5bcbbf873954051ba109
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Update base addr of dyn alloca considering GrowingUp stack (#119822)
Currently, compiler calculates the base address of
dynamic sized stack object (alloca) as follows:
1. `NewSP = Align(CurrSP + Size)`
_where_ `Size = # of elements * wave size * alloca type`
2. `BaseAddr = NewSP`
3. The alignment is computed as: `AlignedAddr = Addr & ~(Alignment - 1)`
4. Return the `BaseAddr`
This makes sense when stack is grows downwards.
AMDGPU stack grows upwards, the base address
needs to be aligned first and SP bump by required size later:
1. `BaseAddr = Align(CurrSP)`
2. `NewSP = BaseAddr + Size`
3. `AlignedAddr = (Addr + (Alignment - 1)) & ~(Alignment - 1)`
4. and returns the `BaseAddr`.
Commit: ecd59f802f9436c766d85ccde13a9f2b863dc5a6
https://github.com/llvm/llvm-project/commit/ecd59f802f9436c766d85ccde13a9f2b863dc5a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Use SmallVectorImpl& to avoid repeating SmallVector size. NFC
Commit: e30308196901873a926b6c17304d022eb91fc585
https://github.com/llvm/llvm-project/commit/e30308196901873a926b6c17304d022eb91fc585
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Remove redundant initialize*Pass in ctor
Commit: 59c7d6f965af9f1e05f8447c50fde8bbde346361
https://github.com/llvm/llvm-project/commit/59c7d6f965af9f1e05f8447c50fde8bbde346361
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
Log Message:
-----------
[Xtensa,test] Remove failing RUN line from #119639
Commit: 93743ee566694d2fcafa3243c03330e86bf9c806
https://github.com/llvm/llvm-project/commit/93743ee566694d2fcafa3243c03330e86bf9c806
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
R clang/test/CodeGen/atomic-test-and-set.c
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
Revert "[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)"
This reverts commit 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7.
See https://github.com/llvm/llvm-project/pull/120449#issuecomment-2556089016
Commit: a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
https://github.com/llvm/llvm-project/commit/a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix dangling false positives for conditional operators. (#120233)
When analyzing a dangling gsl pointer, we currently filter out all field
access `MemberExpr` to avoid common false positives (`string_view sv =
Temp().sv`), However, this filter only applies to direct MemberExpr
instances, leaving the conditional operator as an escaping example
(`GSLPointer pointer(Cond ? Owner().ptr : GSLPointer());`).
This patch extends the MemberExpr logic to handle the conditional
operator. The heuristic is intentionally simple, which may result in
some false negatives. However, it effectively covers common cases like
`std::string_view sv = cond ? "123" : std::string();`, which is a
reasonable trade-off.
Fixes https://github.com/llvm/llvm-project/issues/120206
Commit: a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
https://github.com/llvm/llvm-project/commit/a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update Sparc maintainer (#120430)
Currently vegovin is listed as the maintainer of the Sparc backend,
however they haven't been involved with LLVM for about 10 years already.
Nominate koachan as the new Sparc maintainer.
Commit: 4096dd60668c9e9e402a486a28984bfa082fe48f
https://github.com/llvm/llvm-project/commit/4096dd60668c9e9e402a486a28984bfa082fe48f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update LTO maintainer (#120575)
Update the LTO maintainer from pcc to teresajohnson.
Commit: 4111841f88eeca184e833e3643c5bf1dca6f7014
https://github.com/llvm/llvm-project/commit/4111841f88eeca184e833e3643c5bf1dca6f7014
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
Log Message:
-----------
[BOLT] Correctly print preferred disassembly for annotated instructions (#120564)
This patch makes sure that `BinaryContext::printInstruction` prints the
preferred disassembly. Preferred disassembly only gets printed when
there are no annotations on the MCInst. Therefore, this patch
temporarily removes the annotations before printing it.
A few examples of before and after on AArch64 instructions are as
follows:
```
BEFORE AFTER
(preferred disassembly)
ret x30 ret
orr x30, xzr, x0 mov x30, x0
hint #29 autiasp
hint #12 autia1716
```
Clearly, the preferred disassembly is easier for developers to read, and
is the disassembly that tools should be printing.
This patch is motivated as part of future work on the
llvm-bolt-binary-analysis tool, making sure that the reports it prints
do use preferred disassembly.
This patch was cherry-picked from
https://github.com/kbeyls/llvm-project/tree/bolt-gadget-scanner-prototype.
In this current patch, this only affects existing RISCV test cases.
This patch also does improve test cases in future patches that will
introduce a binary analysis for llvm-bolt-binary-analysis that checks
for correct application of pac-ret (pointer authentication on return
addresses).
Commit: 44726489988a27c3cbd2f94188a2363e2080e045
https://github.com/llvm/llvm-project/commit/44726489988a27c3cbd2f94188a2363e2080e045
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Expand bf16 expanding/rounding fp loads/stores
As with other fp types, these should be expanded to prevent nodes that are
illegal for Arm.
Commit: 701f2409befa7d44aea0c31494ac0d3a5d18415e
https://github.com/llvm/llvm-project/commit/701f2409befa7d44aea0c31494ac0d3a5d18415e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-if-utils.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[mlir] fix crash when scf utils work on llvm.func (#120688)
fixed https://github.com/llvm/llvm-project/issues/119378
Commit: 53d080c5b5dfbb46eb81d189736864f5b6196492
https://github.com/llvm/llvm-project/commit/53d080c5b5dfbb46eb81d189736864f5b6196492
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
M mlir/test/python/execution_engine.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][Arith] Remove `arith-to-llvm` from `func-to-llvm` (#120548)
Do not run `arith-to-llvm` as part of `func-to-llvm`. This commit partly
fixes #70982.
Also simplify the pass pipeline for two math dialect integration tests.
Note for LLVM integration: If you see failures, add `arith-to-llvm` to your pass pipeline.
Commit: d0b7633d7ad566579bfb794f95cce9aef294c92b
https://github.com/llvm/llvm-project/commit/d0b7633d7ad566579bfb794f95cce9aef294c92b
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/PatternRewriter.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[mlir] [doc] fix typos in documentation (#120179)
This PR fixes typos within documentation in various files.
Most changes are trivial. The one interesting change is the
documentation for `custom<X>` in `assemblyFormat` that used the wrong
return type. The return type from the `parseX` function should be
`ParseResult` rather than `LogicalResult`. The `ParseResult` type is
necessary due to tablegen generating code like the following within an
Op `parse()` function:
```
auto odsResult = parseInferredArrayType(parser, elementsTypes, elementsOperands, resultRawTypes[0]);
if (odsResult) return ::mlir::failure();
```
This will fail to compile if `parseInferredArrayType()` returns
`LogicalResult`. See also `parsePrettyLLVMType()` in LLVMTypes.h,
`parseSingleBlockRegion()` in IRDL.cpp, `parseDynamicIndexList()` in
ViewLikeInterface.cpp, etc.
Commit: d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
https://github.com/llvm/llvm-project/commit/d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/DebugInfo/Mips/tls.ll
A llvm/test/MC/Mips/coff-basic.ll
A llvm/test/MC/Mips/coff-relocs.ll
Log Message:
-----------
[MC][Mips] Add MipsWinCOFFObjectWriter/MipsWinCOFFStreamer (#114611)
llc is now able to create MIPS COFF files for simple cases.
Commit: fe85c71a7b556b3cef1528399b123538e6b3dd4b
https://github.com/llvm/llvm-project/commit/fe85c71a7b556b3cef1528399b123538e6b3dd4b
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port 53d080c5b5dfbb46eb81d189736864f5b6196492
Commit: 81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
https://github.com/llvm/llvm-project/commit/81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: e10cb443a1ba30cd1368907df246e968b7508278
https://github.com/llvm/llvm-project/commit/e10cb443a1ba30cd1368907df246e968b7508278
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
R compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
Revert "[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)"
This reverts commit a73ca291547cf4f5822a3029dd56315354557517.
Commit: 69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
https://github.com/llvm/llvm-project/commit/69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
Author: Hans Wennborg <hans at hanshq.net>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] Don't intercept memset etc. in ntdll (#120397)
When ntdll was added to the list of of "interesting DLLs" list (in
d58230b9dcb3b312a2da8f874daa0cc8dc27da9b), the intention was not to
intercept the "mini CRT" functions it exports. OverrideFunction would
only intercept the *first* function it found when searching the list of
DLLs, and ntdll was put last in that list.
However, after 42cdfbcf3e92466754c175cb0e1e237e9f66749e,
OverrideFunction intercepts *all* matching functions in those DLLs. As
a side-effect, the runtime would now intercept functions like memset
etc. also in ntdll.
This causes a problem when ntdll-internal functions like
RtlDispatchException call the intercepted memset, which tries to
inspect uncommitted shadow memory, raising an exception, and getting
stuck in that loop until the stack overflows.
Since we never intended to intercept ntdll's memset etc., the simplest
fix seems to be to actively ignore ntdll when intercepting those
functions.
Fixes #114793
Commit: b03a09e74fa38eceddbc314c4f896a935224f453
https://github.com/llvm/llvm-project/commit/b03a09e74fa38eceddbc314c4f896a935224f453
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/ControlFlow/assert.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/Integration/GPU/CUDA/async.mlir
M mlir/test/python/integration/dialects/linalg/opsrun.py
Log Message:
-----------
[mlir] Fix integration tests after #120548 (#120706)
This should have been part of #120548.
Commit: 091448e3c17bc8e7812dd7b571c852576d648977
https://github.com/llvm/llvm-project/commit/091448e3c17bc8e7812dd7b571c852576d648977
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
Revert "[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types" (#120707)
Reverts llvm/llvm-project#120599 - some recent tests are currently failing
Commit: 2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
https://github.com/llvm/llvm-project/commit/2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
Author: wenzhoumei <wenzhoumei7 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[llvm-readelf] Update outdated URL (#120498)
This updates a comment pointing to the list of registered machine
architectures in the ELF gABI as the URL in the old comment is no longer
valid.
Commit: 0b5b09b67c572867d88bbf5b41bcc5e722ec653a
https://github.com/llvm/llvm-project/commit/0b5b09b67c572867d88bbf5b41bcc5e722ec653a
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
A llvm/lib/Passes/DroppedVariableStatsIR.cpp
M llvm/unittests/IR/CMakeLists.txt
Log Message:
-----------
[NFC] Move DroppedVariableStats to its own file (#120711)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Also moved class DroppedVariableStatsIR to its own file.
Reland 2de78815604e9027efd93cac27c517bf732587d2
Commit: 2fa2c2197ddbf2f06c78b6d271782a8762b13b57
https://github.com/llvm/llvm-project/commit/2fa2c2197ddbf2f06c78b6d271782a8762b13b57
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/MemTagSanitizer.rst
Log Message:
-----------
[llvm][docs] MemTagSanitizer is only supported on AArch64 Android (#120545)
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o -target aarch64-linux -march=armv8+memtag -fsanitize=memtag-stack
clang: error: unsupported option '-fsanitize=memtag*' for target 'aarch64-unknown-linux'
```
But this works:
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o --target=aarch64-linux-android -march=armv8+memtag -fsanitize=memtag-stack
```
Due to this check in Clang:
https://github.com/llvm/llvm-project/blob/2210da3b823ccf21fc634c858827c9f12c864b51/clang/lib/Driver/ToolChains/CommonArgs.cpp#L1651
Likely because the required notes and dynamic loader support only exist
for Android.
You can get around this, sort of, by not linking the file. However this
means you have to provide your own way of loading it, so it doesn't
change the statement that this feature is Android only.
https://github.com/llvm/llvm-project/issues/64692 also confirms that the
intent is to only support Android at this time.
And while I'm here, suggest an additive set of flags that can also be
used.
Commit: d66f653c8db90d0c643f8f2740bbdc01bf647f18
https://github.com/llvm/llvm-project/commit/d66f653c8db90d0c643f8f2740bbdc01bf647f18
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Skip reserved registers when computing register pressure (#120694)
We used to skip fixed registers, but fixed registers are not enough
because there are some runtime unusable registers like registers
reserved by `-ffixed-xxx` options.
Here we change to use reserved registers so that the estimated
pressure is more accurate.
Commit: 1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
https://github.com/llvm/llvm-project/commit/1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
Author: Chenhui Huang <huangchenhui.yellow at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR] fix shape.broadcast canonicalize with all empty shape operands (#118941)
Example: all the operands of `shape.broadcast` are empty tensors.
```
func.func @all_empty(%arg0: tensor<f32>) -> tensor<0xindex> {
%1 = shape.shape_of %arg0 : tensor<f32> -> tensor<0xindex>
%2 = shape.const_shape [] : tensor<0xindex>
%3 = shape.broadcast %1, %2, %1 : tensor<0xindex>, tensor<0xindex>, tensor<0xindex> -> tensor<0xindex>
return %3 : tensor<0xindex>
}
```
One can reproduce crash when canonicalize with *down-top* order, cmd
like this:
`mlir-opt -split-input-file -allow-unregistered-dialect
-canonicalize="test-convergence top-down=0" %s`
The root cause is when all operands are empty tensor,
`RemoveEmptyShapeOperandsPattern` would filter out all operands.
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>
Commit: 611401c11594871aa5c7692cd17a7f12b6fbe660
https://github.com/llvm/llvm-project/commit/611401c11594871aa5c7692cd17a7f12b6fbe660
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: ff93ca7d6c487108a65d3ad15c3392235fd9c190
https://github.com/llvm/llvm-project/commit/ff93ca7d6c487108a65d3ad15c3392235fd9c190
Author: hanbeom <kese111 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#120461)
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
Original combining left the combine between vectors of different lengths as a TODO. this commit do that. (see
#[https://github.com/llvm/llvm-project/commit/baab4aa1ba5f68634b4936375e19c8686b1b474a])
Commit: 708e1437ff82181dc42f7b43f95428bfd0a9e8ff
https://github.com/llvm/llvm-project/commit/708e1437ff82181dc42f7b43f95428bfd0a9e8ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 0b5b09b67c57
Commit: 42bc7bf40a13227110a95079b108615a85cddd7d
https://github.com/llvm/llvm-project/commit/42bc7bf40a13227110a95079b108615a85cddd7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port d8a5fae6913a
Commit: 919aead1db64b2f1444842bc75a3af7836238671
https://github.com/llvm/llvm-project/commit/919aead1db64b2f1444842bc75a3af7836238671
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)
Implementation details:
The UNTIED clause is recognized by setting the flag=0 for the default
case or performing logical OR to flag if other clauses are specified,
and this flag is passed as an argument to the `__kmpc_omp_task_alloc`
runtime call.
Commit: c2bd5c25b3634e55089d34afe922aa38eee743e2
https://github.com/llvm/llvm-project/commit/c2bd5c25b3634e55089d34afe922aa38eee743e2
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
Log Message:
-----------
[AArch64] Avoid GPR trip when moving truncated i32 vector elements (#114541)
This patch implements a DAG combine whereby
```
a: v2i64 = ...
b: i64 = extract_vector_elt a, Constant:i64<n>
c: i32 = truncate b
```
Becomes
```
a: v2i64 = ...
b: v4i32 = AArch64ISD::NVCAST a
c: i32 = extract_vector_elt c, Constant:i64<2n>
```
The primary goal of this work is to enable the use of [INS
(element)](https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/INS--element---Insert-vector-element-from-another-vector-element-?lang=en)
when moving a truncated i32 element between vectors. This combine
canonicalises the structure of the DAG for all legal instances of the
pattern above (by removing the explicit `trunc` operator in this
specific case), allowing us to take advantage of existing ISEL patterns
for this behavior.
Commit: cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
https://github.com/llvm/llvm-project/commit/cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb][AIX] Adding AIX version of ptrace64 (#120390)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX. ptrace64 is
needed to debug 64-bit AIX debuggee, and its format is different than
the traditional ptrace on other platforms: [AIX
ptrace](https://www.ibm.com/docs/en/aix/7.3?topic=p-ptrace-ptracex-ptrace64-subroutine)
Commit: 6fd267d79b9bf3739c59662a7c09d78a6e09c94f
https://github.com/llvm/llvm-project/commit/6fd267d79b9bf3739c59662a7c09d78a6e09c94f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove unused parameter to CompleteRecordType (#120456)
Became unused since the recent
https://github.com/llvm/llvm-project/pull/110648
Commit: 84f0098ad103897112d3052fffbb244cd9db4815
https://github.com/llvm/llvm-project/commit/84f0098ad103897112d3052fffbb244cd9db4815
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port b03a09e74fa38eceddbc314c4f896a935224f453
Commit: 9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
https://github.com/llvm/llvm-project/commit/9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Introducing _ALL_SOURCE macro into driver CMakeLists (#120607)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX:
The `struct winsize` needed by `lldb/tools/driver/Driver.cpp` is only
recognised in AIX under the AIX specific `_ALL_SOURCE` macro, hence its
enablement is required here.
Commit: 385b144c9477de6a4598bd08ce4f2883aeb236b9
https://github.com/llvm/llvm-project/commit/385b144c9477de6a4598bd08ce4f2883aeb236b9
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/posix/HostInfoPosix.h
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/posix/HostInfoPosix.cpp
Log Message:
-----------
[lldb][Linux] Moving generic APIs from HostInfoLinux to HostInfoPosix (#119694)
This change is related merging some of the APIs in HostInfoLinux into
HostInfoPosix.
Here is the reference PR comment:
https://github.com/llvm/llvm-project/pull/117906#discussion_r1865427495,
https://github.com/llvm/llvm-project/pull/117906#discussion_r1861616945
Commit: 8dc23efbe6c584c06d6472c6f1b679b5ca861b07
https://github.com/llvm/llvm-project/commit/8dc23efbe6c584c06d6472c6f1b679b5ca861b07
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[NFC][AArch64][SVE] Rename variables in partial reduction lowering functions (#120589)
Commit: d7ddc976d544528fe7f16882f5bec66c3b2a7884
https://github.com/llvm/llvm-project/commit/d7ddc976d544528fe7f16882f5bec66c3b2a7884
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Remove unused private field MF
Commit: 000febd0290698728abd9e23da6b27969c529177
https://github.com/llvm/llvm-project/commit/000febd0290698728abd9e23da6b27969c529177
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)
When given a DIE for an Objective-C interface (which doesn't have a
`DW_AT_APPLE_objc_complete_type`), the `DWARFASTParserClang` will try to
find the DIE which corresponds to the implementation to complete the
interface DIE. The code is here:
https://github.com/llvm/llvm-project/blob/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1718-L1738
However, this was currently not exercised in our test-suite (removing
the code above didn't fail any LLDB test).
This patch adds a test which exercises this codepath (it will fail if we
don't fetch the implementation DIE in the `DWARFASTParserClang`).
Something that's not currently clear to me is why `frame var *f`
succeeds even without the `DW_AT_APPLE_objc_complete_type`
infrastructure. If it's using the ObjC runtime, we should make `expr` do
the same, in which case we can remove this code from
`DWARFASTParserClang`.
Commit: e4db3f0d97681a10a76e71465f1379801cd45f54
https://github.com/llvm/llvm-project/commit/e4db3f0d97681a10a76e71465f1379801cd45f54
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Log Message:
-----------
[llvm] Bail out when meeting pointer with negative offset in approximated mode instead of … (#120424)
…generating empty location
Fix the regression detected by
https://github.com/llvm/llvm-test-suite/pull/188
Commit: 451a80ccc034799151d3a82c15e320cdde5a2e04
https://github.com/llvm/llvm-project/commit/451a80ccc034799151d3a82c15e320cdde5a2e04
Author: Martin Storsjö <martin at martin.st>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
[docs] Mention ffmpeg and dav1d in llvm-test-suite (#120570)
Since https://github.com/llvm/llvm-test-suite/pull/182 and
https://github.com/llvm/llvm-test-suite/pull/188, these projects can now
be added as external projects within llvm-test-suite.
Commit: cf7b3f8d827abba49930202e51702714349c716d
https://github.com/llvm/llvm-project/commit/cf7b3f8d827abba49930202e51702714349c716d
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/SemaCXX/vector-bool.cpp
Log Message:
-----------
Fix double-quotes in diagnostic when attempting to access a ext_vector of bools (#118186)
Fixes #116932
- Remove the quotation marks in the diagnostic message for
err_ext_vector_component_name_illegal
- Pass in the quotation marks directly when reporting an illegal vector
component name inside `CheckExtVectorComponent`
- Add an offset to the `OpLoc` passed into `S.Diag` so the error message
arrow points directly to the offending illegal component rather than to
the '.' at the start of the component identifier.
- Modify the `vector-bool.cpp` element-wise access test case so it
(correctly) now only expects a single set of quotes.
Commit: eb6c4197d5263ed2e086925b2b2f032a19442d2b
https://github.com/llvm/llvm-project/commit/eb6c4197d5263ed2e086925b2b2f032a19442d2b
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
A mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
R mlir/test/Conversion/ControlFlowToLLVM/invalid.mlir
A mlir/test/Conversion/ControlFlowToLLVM/switch.mlir
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/async-error.mlir
M mlir/test/mlir-cpu-runner/async-group.mlir
M mlir/test/mlir-cpu-runner/async-value.mlir
M mlir/test/mlir-cpu-runner/async.mlir
M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
M mlir/test/mlir-cpu-runner/copy.mlir
M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
M mlir/test/mlir-cpu-runner/memref-reshape.mlir
M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
M mlir/test/mlir-cpu-runner/unranked-memref.mlir
M mlir/test/mlir-cpu-runner/utils.mlir
M mlir/test/python/execution_engine.py
M mlir/test/python/integration/dialects/linalg/opsrun.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (#120580)
Do not run `cf-to-llvm` as part of `func-to-llvm`. This commit fixes
https://github.com/llvm/llvm-project/issues/70982.
This commit changes the way how `func.func` ops are lowered to LLVM.
Previously, the signature of the entire region (i.e., entry block and
all other blocks in the `func.func` op) was converted as part of the
`func.func` lowering pattern.
Now, only the entry block is converted. The remaining block signatures
are converted together with `cf.br` and `cf.cond_br` as part of
`cf-to-llvm`. All unstructured control flow is not converted as part of
a single pass (`cf-to-llvm`). `func-to-llvm` no longer deals with
unstructured control flow.
Also add more test cases for control flow dialect ops.
Note: This PR is in preparation of #120431, which adds an additional
GPU-specific lowering for `cf.assert`. This was a problem because
`cf.assert` used to be converted as part of `func-to-llvm`.
Note for LLVM integration: If you see failures, add
`-convert-cf-to-llvm` to your pass pipeline.
Commit: 1738b75b615497b880d5a9e4a1b769e9ff001d23
https://github.com/llvm/llvm-project/commit/1738b75b615497b880d5a9e4a1b769e9ff001d23
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update InstCombine maintainers (#120408)
> See [developer
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers) for
context on the maintainers terminology.
We currently list @majnemer as the maintainer for InstCombine. While
David does still occasionally contribute in this area, most of the
contributions/reviews come from other people nowadays.
I'd like to propose @dtcxzyw and myself as the new maintainers for this
area. I've also expanded it to include InstSimplify and ValueTracking,
and these tend to all go together.
Commit: e11d49cbf5a210ea312f891d9dff6b4bf6433d57
https://github.com/llvm/llvm-project/commit/e11d49cbf5a210ea312f891d9dff6b4bf6433d57
Author: Alexey Moksyakov <yavtuk at yandex.ru>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Adds tls relocations support (#117465)
Co-authored-by: yavtuk <yavtuk at ya.ru>
Commit: 0dc086a787a49d7514f713d0ee0b709fc28bb702
https://github.com/llvm/llvm-project/commit/0dc086a787a49d7514f713d0ee0b709fc28bb702
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/async.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (#120729)
This commit should have been part of #120580.
Commit: 4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
https://github.com/llvm/llvm-project/commit/4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
Log Message:
-----------
[ConstraintElim] Remove dead code. NFC. (#118983)
`R2` should be always greater than `R1` here because both `R1` and `R2` are not modified inside the loop.
Commit: a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
https://github.com/llvm/llvm-project/commit/a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
Author: Jonas Toth <development at jonas-toth.eu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
Log Message:
-----------
[clang-tidy][docs] improve documentation on cppcoreguidelines-narrowing-conversions (#111510) (#118209)
This PR improves the docs for this check to include an example of hidden
narrowing conversions from the integer promotion rules in arithmetic.
Commit: c5434804eeea643f0420bc5fd83dd4977731f4d2
https://github.com/llvm/llvm-project/commit/c5434804eeea643f0420bc5fd83dd4977731f4d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 5f0db7c11264fa235d73730b2b93a31407dfbef3
https://github.com/llvm/llvm-project/commit/5f0db7c11264fa235d73730b2b93a31407dfbef3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VECTORCOMBINE on <FUNCTION_NAME>" title debug message to help finding vectorcombine stages in the debug log
Commit: 42873e0cf107045b76d0fc221cdb838cdb0766bf
https://github.com/llvm/llvm-project/commit/42873e0cf107045b76d0fc221cdb838cdb0766bf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port eb6c4197d5263ed2e086925b2b2f032a19442d2b
Commit: 54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
https://github.com/llvm/llvm-project/commit/54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Add matchers for smart pointer accessors to be cached (#120102)
This is part 1 of caching for smart pointer accessors, building on top
of the CachedConstAccessorsLattice, which caches "normal" accessors.
Smart pointer accessors are a bit different in that they may:
- have aliases to access the same underlying data (but potentially
returning slightly different types like `&` vs `*`). Within a
"checked" sequence users may mix uses of the different aliases and the
check should apply to any of the spellings.
- may have non-const overloads in addition to the const version, where
the non-const doesn't actually modify the container
Part 2 will follow and add transfer functions utilities. It will also
add a user UncheckedOptionalAccessModel. We'd seen false positives when
nesting StatusOr<optional<T>> and optional<StatusOr<T>>, etc. which this
can help address.
Commit: 54665f5252695922dd000f311f82af717f1df0c6
https://github.com/llvm/llvm-project/commit/54665f5252695922dd000f311f82af717f1df0c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 54309b1c2f7a
Commit: fa9cef50b1afc203b6b653396f9e775862c26e68
https://github.com/llvm/llvm-project/commit/fa9cef50b1afc203b6b653396f9e775862c26e68
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
Log Message:
-----------
Only guard loop metadata that has non-debug info in it (#118825)
This PR is motivated by a mismatch we discovered between compilation
results with vs. without `-g3`. We noticed this when compiling SPEC2017
testcases. The specific instance we saw is fixed in this PR by modifying
a guard (see below), but it is likely similar instances exist elsewhere
in the codebase.
The specific case fixed in this PR manifests itself in the `SimplifyCFG`
pass doing different things depending on whether DebugInfo is generated
or not. At the end of this comment, there is reduced example code that
shows the behavior in question.
The differing behavior has two root causes:
1. Commit https://github.com/llvm/llvm-project/commit/c07e19b adds loop
metadata including debug locations to loops that otherwise would not
have loop metadata
2. Commit https://github.com/llvm/llvm-project/commit/ac28efa6c100 adds
a guard to a simplification action in `SImplifyCFG` that prevents it
from simplifying away loop metadata
So, the change in 2. does not consider that when compiling with debug
symbols, loops that otherwise would not have metadata that needs
preserving, now have debug locations in their loop metadata. Thus, with
`-g3`, `SimplifyCFG` behaves differently than without it.
The larger issue is that while debug info is not supposed to influence
the final compilation result, commits like 1. blur the line between what
is and is not debug info, and not all optimization passes account for
this.
This PR does not address that and rather just modifies this particular
guard in order to restore equivalent behavior between debug and
non-debug builds in this one instance.
---
Here is a reduced version of a file from `f526.blender_r` that showcases
the behavior in question:
```C
struct LinkNode;
typedef struct LinkNode {
struct LinkNode *next;
void *link;
} LinkNode;
void do_projectpaint_thread_ph_v_state() {
int *ps = do_projectpaint_thread_ph_v_state;
LinkNode *node;
while (do_projectpaint_thread_ph_v_state)
for (node = ps; node; node = node->next)
;
}
```
Compiling this with and without DebugInfo, and then disassembling the
results, leads to different outcomes (tested on SystemZ and X86). The
reason for this is that the `SimplifyCFG` pass does different things in
either case.
Commit: 9e333872199b1e3bf488d71e222ff4b6f0370347
https://github.com/llvm/llvm-project/commit/9e333872199b1e3bf488d71e222ff4b6f0370347
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
Log Message:
-----------
[clang analyzer]consume `llvm::Error` (#120597)
`llvm::Error` must be consumed, otherwise it will cause trap during destructor
Commit: acfd26a93be3fb70013560f3fb894eb9086e7e32
https://github.com/llvm/llvm-project/commit/acfd26a93be3fb70013560f3fb894eb9086e7e32
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
Log Message:
-----------
[SCEV] Fix exit condition for recursive loop guard collection (#120442)
When assumptions are present `Terms.size()` does not actually count the
number of conditions collected from dominating branches; introduce a
separate counter.
Fixes https://github.com/llvm/llvm-project/issues/120237
Commit: 2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
https://github.com/llvm/llvm-project/commit/2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
Log Message:
-----------
[clang][dataflow] Fix a missing break from a switch case -Wimplicit-fallthrough (#120739)
Missed when changing code in
https://github.com/llvm/llvm-project/pull/120102
Commit: b87a5fb9fd8d50c911ac95f6854389d287542010
https://github.com/llvm/llvm-project/commit/b87a5fb9fd8d50c911ac95f6854389d287542010
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Visiting" debug message to help the log show the instruction folding order.
Commit: 70eac255b8c09244c7a9af7599fbe27d886010e9
https://github.com/llvm/llvm-project/commit/70eac255b8c09244c7a9af7599fbe27d886010e9
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add fp cast handling for shuffletoidentity (#120641)
This fixes some regressions from recent changes to vector combine in
#120216. It allows shuffleToIdentity to look through fp casts as other
casts, and makes sure mismatching vector types in splats and casts do
not block the transform, as only the lanes should matter.
Commit: 5845298f9439796a3a2f15dfce8250e322ddce4a
https://github.com/llvm/llvm-project/commit/5845298f9439796a3a2f15dfce8250e322ddce4a
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
Log Message:
-----------
[LoopVectorize] Teach some X86 cost model tests to use new vplan costs (#120738)
I've only fixed up the tests where I was able to use a simple sed script
to replace the text. Even after this patch lands, there are still over
50 tests that need updating in X86/CostModel!
Commit: 953b07febca46036b2311b5998244fe07b61544f
https://github.com/llvm/llvm-project/commit/953b07febca46036b2311b5998244fe07b61544f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir] AMDGPUToROCDL: RawBufferOpLowering fixes (#120642)
1. We can use `getNumElements()` only for memrefs with trivial layout.
2. Buffer ops expecting sizes in i32 but descriptor values can be either
i32 or i64, add appropriate casts. This implementation is not ideal as
it can overflow, but it's still better than generating broken IR.
Commit: 56ffcd4e01851d6a8c171e2a813828f720ed1538
https://github.com/llvm/llvm-project/commit/56ffcd4e01851d6a8c171e2a813828f720ed1538
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (part 2) (#120751)
This commit should have been part of #120580.
Commit: 8177bf5022c6dfc48d236082fa02076feedd60df
https://github.com/llvm/llvm-project/commit/8177bf5022c6dfc48d236082fa02076feedd60df
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
Log Message:
-----------
[Hexagon] Only handle simple types memory accesses (#120654)
The code was asserting because allowsMemoryAccess() was called with
Extended Value Type INVALID_SIMPLE_VALUE_TYPE in
HexagonISelLowering.cpp.
Fixes https://github.com/llvm/llvm-project/issues/118881
Commit: 811f2a652b6232f203e51a17d553e268fae3a29c
https://github.com/llvm/llvm-project/commit/811f2a652b6232f203e51a17d553e268fae3a29c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[Compiler-rt] Add AArch64 routines for __arm_agnostic("sme_za_state") (#120059)
The specification of these routines can be found here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#sme-support-routines
Commit: 8c0090030bf89df7e0dbe5827a83d52627b2c87f
https://github.com/llvm/llvm-project/commit/8c0090030bf89df7e0dbe5827a83d52627b2c87f
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
[llvm]Add a simple Telemetry framework (#102323)
Objective:
- Provide a common framework in LLVM for collecting various usage
metrics
- Characteristics:
- Extensible and configurable by:
- tools in LLVM that want to use it
- vendors in their downstream codebase
- tools users (as allowed by vendor)
Background:
The framework was originally proposed only for LLDB, but there were
quite a few requests to move it to llvm/lib given telemetry
is a common use case in a lot of tools, not just LLDB.
See more details on the design and discussions here on the RFC:
https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo
---------
Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 2e1128d50e6174e857833cfde72f29f61a4a7b56
https://github.com/llvm/llvm-project/commit/2e1128d50e6174e857833cfde72f29f61a4a7b56
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove some unnecessary !casts
Commit: 412e1af19a248fd5650e6828695c78454a9195fb
https://github.com/llvm/llvm-project/commit/412e1af19a248fd5650e6828695c78454a9195fb
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/whilewr.ll
Log Message:
-----------
Revert "[AArch64] Lower alias mask to a whilewr" (#120261)
Reverts llvm/llvm-project#100769
A bug in the lowering (the subtraction should be reversed) was found
after merging and it will all be replaced by #117007 anyway.
Commit: 09dfc5713d7e2342bea4c8447d1ed76c85eb8225
https://github.com/llvm/llvm-project/commit/09dfc5713d7e2342bea4c8447d1ed76c85eb8225
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M mlir/docs/PatternRewriter.md
M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/Transforms/test-operation-folder.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestTraits.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
Log Message:
-----------
[mlir] Enable decoupling two kinds of greedy behavior. (#104649)
The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.
These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.
Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.
For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.
Commit: 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
https://github.com/llvm/llvm-project/commit/2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
R llvm/docs/llvm_telemetry_design.png
R llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
R llvm/lib/Telemetry/CMakeLists.txt
R llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
R llvm/unittests/Telemetry/CMakeLists.txt
R llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Revert "[llvm]Add a simple Telemetry framework" (#120769)
Reverts llvm/llvm-project#102323
Reason: broke CI
Commit: 7739380643718bc912bc05b969e4be525a85c0d2
https://github.com/llvm/llvm-project/commit/7739380643718bc912bc05b969e4be525a85c0d2
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
Log Message:
-----------
Fix integration tests after #120580 (math-polynomial-approx-avx2)
Commit: 6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
https://github.com/llvm/llvm-project/commit/6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
Author: Santanu Das <quic_santdas at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
Log Message:
-----------
[Hexagon] Add support for addrspacecast lowering (#119195)
This patch adds support for addrspacecast lowering. At the moment, there
are no separate address spaces for Hexagon target, hence this
instruction is treated as a noop.
Commit: 952c8d305459d3f1218d1ce12c7f20b6a10ba046
https://github.com/llvm/llvm-project/commit/952c8d305459d3f1218d1ce12c7f20b6a10ba046
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (#120753)
The ArmARM says:
```
"In an Armv9.4 implementation, if FEAT_SVE2 is implemented,
FEAT_SVE2p1 is implemented."
```
Since FEAT_SVE2 is already enabled for Armv9.0-A and later, then
FEAT_SVE2p1 should also be enabled by default.
Commit: adfef2a753d9a543ec818a445b2c6d05899cdf3d
https://github.com/llvm/llvm-project/commit/adfef2a753d9a543ec818a445b2c6d05899cdf3d
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] ppoll interception. (#120366)
Commit: f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
https://github.com/llvm/llvm-project/commit/f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler][rtsan] stream based on memory buffer interception. (#120672)
Commit: 0550c3292b2277399c2ab700cfcbc43e8477826f
https://github.com/llvm/llvm-project/commit/0550c3292b2277399c2ab700cfcbc43e8477826f
Author: Alan <ahulambda at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[OCaml] Add bindings for x86_amx, token, and metadata types (#120638)
Commit: 14180185026b8ed793cc7dfd037620e5150ccc35
https://github.com/llvm/llvm-project/commit/14180185026b8ed793cc7dfd037620e5150ccc35
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
Log Message:
-----------
[clang][ObjectiveC] Fix Parsing the `::` Optional Scope Specifier (#119908)
The parser hangs when processing types/variables prefixed by `::` as an
optional scope specifier. For example,
```
- (instancetype)init:(::A *) foo;
```
The parser should not hang, and it should emit an error. This PR
implements the error check.
rdar://140885078
Commit: e3157d3f0dc69102013d966345c441f565b2459a
https://github.com/llvm/llvm-project/commit/e3157d3f0dc69102013d966345c441f565b2459a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 82b5bda42c00179fcf101e3ab2c591bda94ada9a
https://github.com/llvm/llvm-project/commit/82b5bda42c00179fcf101e3ab2c591bda94ada9a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Erasing" debug message to help the log show when dead WorkList instructions are erased.
Commit: 5bb650345d83669434713146aaa431c1f7ad43d6
https://github.com/llvm/llvm-project/commit/5bb650345d83669434713146aaa431c1f7ad43d6
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/bounds-checking.c
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
Log Message:
-----------
Remove -bounds-checking-unique-traps (replace with -fno-sanitize-merge=local-bounds) (#120682)
#120613 removed -ubsan-unique-traps and replaced it with
-fno-sanitize-merge (introduced in #120511), which allows fine-grained
control of which UBSan checks to prevent merging. This analogous patch
removes -bound-checking-unique-traps, and allows it to be controlled via
-fno-sanitize-merge=local-bounds.
Most of this patch is simply plumbing through the compiler flags into
the bounds checking pass.
Note: this patch subtly changes -fsanitize-merge (the default) to also
include -fsanitize-merge=local-bounds. This is different from the
previous behavior, where -fsanitize-merge (or the old
-ubsan-unique-traps) did not affect local-bounds (requiring the separate
-bounds-checking-unique-traps). However, we argue that the new behavior
is more intuitive.
Removing -bounds-checking-unique-traps and merging its functionality
into -fsanitize-merge breaks backwards compatibility; we hope that this
is acceptable since '-mllvm -bounds-checking-unique-traps' was an
experimental flag.
Commit: 5e22597aa01d719b7fed79c45cdf240ed196bd68
https://github.com/llvm/llvm-project/commit/5e22597aa01d719b7fed79c45cdf240ed196bd68
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64] Verify consecutive vector registers in tbl, tbx (#120262)
Table lookup instructions expect the vectors that define the table
itself to be consecutive (wraparound allowed).
Relevant documentation:
https://developer.arm.com/documentation/100069/0606/SIMD-Vector-Instructions/TBL--vector-
Commit: 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
https://github.com/llvm/llvm-project/commit/3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Add a pass to collect dropped var stats for MIR (#120780)
This patch uses the DroppedVariableStats class to add dropped variable
statistics for MIR passes.
Reland 1c082c9cd12efaa67a32c5da89a328c458ed51c5
Commit: 5162fde6ee6565d39511e451c04865e7b53bcdcc
https://github.com/llvm/llvm-project/commit/5162fde6ee6565d39511e451c04865e7b53bcdcc
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Fix a nullptr deference. (#120702)
Added a nullptr check.
Commit: 9901906035c2be776674b25a3357b37a7dbbac68
https://github.com/llvm/llvm-project/commit/9901906035c2be776674b25a3357b37a7dbbac68
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp:535:13: error:
'applyPatternsAndFoldGreedily' is deprecated: Use
applyPatternsGreedily() instead [-Werror,-Wdeprecated-declarations]
Commit: 0575815b70b486240ace728a33f756cea8fe58fa
https://github.com/llvm/llvm-project/commit/0575815b70b486240ace728a33f756cea8fe58fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120681)
Commit: 89cb528f076dc6246ca2883054be5f6237473c83
https://github.com/llvm/llvm-project/commit/89cb528f076dc6246ca2883054be5f6237473c83
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 3bf91ad2a9c7
Commit: 3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
https://github.com/llvm/llvm-project/commit/3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
Log Message:
-----------
[flang][cuda] Make default.nonTbpDefinedIoTable compiler generated (#120686)
`default.nonTbpDefinedIoTable` is a special global defined for IO that
doesn't follow the mangling scheme and is then not handle correctly in
the `CompilerGeneratedNames` pass. Update how it is generated with
doGenerated so it can be handle without special handling.
Also do not generate comdat in gpu module as the current code is not
handling nested module correctly.
Commit: fecf1397e32a89a928ebeeab07bfc7e38a318827
https://github.com/llvm/llvm-project/commit/fecf1397e32a89a928ebeeab07bfc7e38a318827
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
Log Message:
-----------
[Tensor] Migrate away from PointerUnion::{is,get} (NFC) (#120679)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 21a6dbd400ffd68abe36161576d81d0646f1122d
https://github.com/llvm/llvm-project/commit/21a6dbd400ffd68abe36161576d81d0646f1122d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Report undefined EC symbols on ARM64X (#120311)
Commit: 399c3a78a2577c6fc68bba7f301901a0e66e87ed
https://github.com/llvm/llvm-project/commit/399c3a78a2577c6fc68bba7f301901a0e66e87ed
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Fix the static assertion in 4797437 (#120643)
In the previous commit 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2, I used
`llvm::isInt<NumStmtBits>(StmtClass::LAST##Class)` to test if
`StmtClass` is strictly bounded by the an unsigned integer of
'NumStmtBits'. That is incorrect as `llvm::isInt` tests for signed
integers. This commit fixes it.
(rdar://141555357)
Commit: 1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
https://github.com/llvm/llvm-project/commit/1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Value.h
Log Message:
-----------
[IR] Correct Value::use_iterator::value_type. (#120609)
operator* for this iterator returns Use& so I think the value_type
should be Use not Use*.
Noticed while comparing with SDNode::use_iterator.
Commit: d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
https://github.com/llvm/llvm-project/commit/d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
Log Message:
-----------
[RISCV] Swap the order of SEWGreaterThanOrEqualAndLessThan64 and SEWGreaterThanOrEqual. (#120649)
SEWGreaterThanOrEqualAndLessThan64 is a stricter constraint so it should
have a higher value than SEWGreaterThanOrEqual.
Found by our random test generator.
Commit: c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
https://github.com/llvm/llvm-project/commit/c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Supporting hinting mostly-cold allocations after cloning (#120633)
Optionally unconditionally hint allocations as cold or not cold during
the cloning step if the percentage of bytes allocated is at least that
of the given threshold. This is similar to PR120301 which supports this
during matching, but enables the same behavior during cloning, to reduce
the false positives that can be addressed by cloning at the cost of
carrying the additional size metadata/summary.
Commit: 6ab8401f53deddbd79f930ba2bec2f824c9567e3
https://github.com/llvm/llvm-project/commit/6ab8401f53deddbd79f930ba2bec2f824c9567e3
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
Log Message:
-----------
[RISCV][GISel] Port AddiPair optimization (#120463)
Check if (add r, imm) can be optimized to (ADDI (ADDI r, imm0), imm1),
in which imm = imm0 + imml and both imm0 and imm1 are simm12. We make
imm0 as large as possible and imm1 as small as possible so that we might
be able to use c.addi for the small immediate.
Commit: 0c629206b0b3e1ddd64104a56c7a573a55e8944a
https://github.com/llvm/llvm-project/commit/0c629206b0b3e1ddd64104a56c7a573a55e8944a
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
undef reviewer: tweak the regex so it doesn't warn about #undef
Commit: 8b37c1c71bf66274251db35b742f8f4013be2f52
https://github.com/llvm/llvm-project/commit/8b37c1c71bf66274251db35b742f8f4013be2f52
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v75_arch.s
Log Message:
-----------
[Hexagon] Add V75 support to compiler and assembler (#120773)
This patch introduces support for the Hexagon V75 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics.
Commit: 8ae8a905855ca1b07a72059d8225ab1f9cae65dc
https://github.com/llvm/llvm-project/commit/8ae8a905855ca1b07a72059d8225ab1f9cae65dc
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] floating-point, pointer, and function types (#120484)
Upstream ClangIR support for `void` type, floating-point types, pointer
types, and function types.
Floating-point support is missing the IBM double-double format, because
that hasn't been implemented in the incubator project yet.
Pointer types do not yet support address spaces.
Function type support includes only the return type and the parameter
types. The many other properties and attributes of function types will
be upstreamed later.
Commit: 3f89279609526270894f26317f7c3ccf04e0f16f
https://github.com/llvm/llvm-project/commit/3f89279609526270894f26317f7c3ccf04e0f16f
Author: Srinivasa R <srinivasar at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
Log Message:
-----------
[NVPTX] Add intrinsics for wgmma.fence PTX instructions (#120523)
This PR adds NVVM intrinsics and NVPTX codegen for:
-
[wgmma.fence.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-fence)
-
[wgmma.commit_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-commit-group)
-
[wgmma.wait_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-wait-group)
Commit: e934a39e01b9eedd8091cc1505be3a4ad5cad12b
https://github.com/llvm/llvm-project/commit/e934a39e01b9eedd8091cc1505be3a4ad5cad12b
Author: Petr Penzin <ppenzin at tenstorrent.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
Log Message:
-----------
[RISC-V] Base scheduling model for tt-ascalon-d8 (#120160)
First part of tt-ascalon-d8 scheduling model, only containing scalar
ops. Scheduling for vector instructions will be added in a follow-up
patch.
---------
Co-authored-by: Anton Blanchard <antonb at tenstorrent.com>
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: bc8fa9c4439c7fd51d95845006f7d650c037c5ec
https://github.com/llvm/llvm-project/commit/bc8fa9c4439c7fd51d95845006f7d650c037c5ec
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
R llvm/test/Transforms/InstCombine/printf-addrspace.ll
Log Message:
-----------
Revert "SimplifyLibCalls: Use default globals address space when building new global strings. (#118729)" (#119616)
This reverts commit cfa582e8aaa791b52110791f5e6504121aaf62bf.
Commit: ef42e9c59aae112031d6ccbbc560d559730507c8
https://github.com/llvm/llvm-project/commit/ef42e9c59aae112031d6ccbbc560d559730507c8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R libcxx/test/benchmarks/allocation.bench.cpp
Log Message:
-----------
[libc++] Remove allocation.bench.cpp (#120767)
That benchmark isn't really useful, since it doesn't benchmark anything
from libc++ (besides `operator new`). The implementation of the
benchmark also has serious problems like the fact that it allocates an
unknown amount of memory without deallocating it.
Commit: 131acb07d814fabcc969dcaa63f4f352cd529267
https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Stmt.cpp
Log Message:
-----------
[clang][NFC] Move static assert on StmtClass bounds from header to source
A follow-up change to PR #120341 & #120643. Address @nikic's concern:
https://github.com/llvm/llvm-project/pull/120341#discussion_r1893822845
Commit: df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
https://github.com/llvm/llvm-project/commit/df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Remove existing predicates implied by newly added ones. (#118185)
When adding a new predicate to a union predicate, some of the existing
predicates may be implied by the new predicate. Remove any existing
predicates that are already implied by the new predicate.
Depends on https://github.com/llvm/llvm-project/pull/118184 to show the
main benefit.
PR: https://github.com/llvm/llvm-project/pull/118185
Commit: 7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
https://github.com/llvm/llvm-project/commit/7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
Log Message:
-----------
[HLSL] Add Load(int) method on structured buffers (#120663)
Adds `T Load(int)` method on `StructuredBuffer`, `RWStructuredBuffer`
and `RasterizerOrderedStructuredBuffer`.
Uses the existing `addLoadMethods` in HLSLExternalSemalSource so most of
this change is just tests.
Fixes #112977
Commit: d8e10d13d7e31cb1695eb65f02696e682ec97097
https://github.com/llvm/llvm-project/commit/d8e10d13d7e31cb1695eb65f02696e682ec97097
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix-forward TEST(TestRtsanInterceptors, PpollDiesWhenRealtime)
Buildbot breakage:
home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp:1090:19: error: missing field 'tv_nsec' initializer [-Werror,-Wmissing-field-initializers]
1090 | timespec ts = {0};
introduced by https://github.com/llvm/llvm-project/pull/120366/files
Commit: d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
https://github.com/llvm/llvm-project/commit/d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Utility/DiagnosticsRendering.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/API/SBError.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
Log Message:
-----------
[lldb] Expose structured errors in SBError (#120784)
Building on top of previous work that exposed expression diagnostics via
SBCommandReturnObject, this patch generalizes the support to expose any
SBError as machine-readable structured data. One use-case of this is to
allow IDEs to better visualize expression diagnostics.
rdar://139997604
Commit: 8fce5d96a75d8c6b018e54fd4005bda01c377b56
https://github.com/llvm/llvm-project/commit/8fce5d96a75d8c6b018e54fd4005bda01c377b56
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb.
Test needed updating due to changes on main since branch was tested.
Commit: f82bb3d496d6b8b932ce34497ba7970b519915f6
https://github.com/llvm/llvm-project/commit/f82bb3d496d6b8b932ce34497ba7970b519915f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb (take 2).
Test needed updating due to changes on main since branch was tested.
Commit: 81831ef3e7804b9637aff119c1adde661d10fb78
https://github.com/llvm/llvm-project/commit/81831ef3e7804b9637aff119c1adde661d10fb78
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Correctly allocate descriptor in managed memory when reboxing (#120795)
Reboxing might create a new in memory descriptor. If this one was
allocate with managed memory, allocate the new one in managed memory as
well.
Commit: e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
https://github.com/llvm/llvm-project/commit/e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix typo in CUFAllocDescriptor (#120797)
Missing `r` in the function name.
Commit: 994457f81ffd95531eff07e08a0fea42397b80d2
https://github.com/llvm/llvm-project/commit/994457f81ffd95531eff07e08a0fea42397b80d2
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-options.c
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/unknown-arg-drivermodes.test
Log Message:
-----------
[Clang-CL][DXC] Expose -fdiagnostic-color= to clang-cl and clang-dxc (#120644)
Exposing `-fdiagnostic-color=` to clang-cl and clang-dxc.
`-fcolor-diagnostics` and `-fno-color-diagnostics` are already allowed
in both of these and `-fdiagnostics-color=` allows one additional value,
`auto`.
I've added the tests for clang-cl to `cl-options.c` as per the comments
in the issue linked below. I couldn't finding a suitable existing file
to add the clang-dxc tests to so I've created a new one.
Resolves #119184
Commit: 78ab77199118414aad8632d990bf73aca3d16ff8
https://github.com/llvm/llvm-project/commit/78ab77199118414aad8632d990bf73aca3d16ff8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][NFC]Add more test for shuffles with exact vlen, NFC
Commit: 415cfaf339dc4383acd44248584bcc6376213c8d
https://github.com/llvm/llvm-project/commit/415cfaf339dc4383acd44248584bcc6376213c8d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix type in CUFFreeDescriptor (#120799)
Commit: c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
https://github.com/llvm/llvm-project/commit/c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
Author: Malek Ben Slimane <malek.ben.slimane at sap.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
Log Message:
-----------
Thread Safety Analysis: Support passing scoped locks between functions with appropriate annotations (#110523)
This is helpful when multiple functions operate on the same
capabilities, but we still want to use scoped lockable types for
readability and exception safety.
- Introduce support for thread safety annotations on function parameters
marked with the 'scoped_lockable' attribute.
- Add semantic checks for annotated function parameters, ensuring
correct usage.
- Enhance the analysis to recognize and handle parameters annotated for
thread safety, extending the scope of analysis to track these across
function boundries.
- Verify that the underlying mutexes of function arguments match the
expectations set by the annotations.
Limitation: This does not work when the attribute arguments are class
members, because attributes on function parameters are parsed
differently from attributes on functions.
Commit: e5de2a2df4f983e1db83deaaa1d21457c922404f
https://github.com/llvm/llvm-project/commit/e5de2a2df4f983e1db83deaaa1d21457c922404f
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
Log Message:
-----------
[clang-tidy][NFC] extract options verify to separately function (#120768)
Commit: adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
https://github.com/llvm/llvm-project/commit/adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
Log Message:
-----------
[memprof] Undrift MemProf profile even when some frames are missing (#120500)
This patch makes the MemProf undrifting process a little more lenient.
Consider an inlined call hierarchy:
foo -> bar -> ::new
If bar tail-calls ::new, the profile appears to indicate that foo
directly calls ::new. This is a problem because the perceived call
hierarchy in the profile looks different from what we can obtain from
the inline stack in the IR.
Recall that undrifting works by constructing and comparing a list of
direct calls from the profile and that from the IR. This patch
modifies the construction of the latter. Specifically, if foo calls
bar in the IR, but bar is missing the profile, we pretend that foo
directly calls some heap allocation function. We apply this
transformation only in the inline stack leading to some heap
allocation function.
Commit: 96839a47209c202b60c4164a2acc34bd755f6308
https://github.com/llvm/llvm-project/commit/96839a47209c202b60c4164a2acc34bd755f6308
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Ensure stable ordering of merged functions (#120796)
Previously, the test
`llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml`
[was disabled](https://github.com/llvm/llvm-project/pull/119957/files)
due to failing on Linux.
The issue is that the merged functions appear in a different order in
the final produced `gSYM`.
To ensure deterministic ordering of merged functions, we change the
sorting of functions to use the `stable_sort` algorithm. Before merged
functions, this was not an issue as the address is used as a comparator
in the sorting algorithm so there was no chance of two functions testing
as identical according to the comparator.
Confirmed that test now passes locally with
`-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON`.
Commit: 6ecedb05b0d320543968843159b1b29233b03fc7
https://github.com/llvm/llvm-project/commit/6ecedb05b0d320543968843159b1b29233b03fc7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
Log Message:
-----------
[libc] Make a couple of math smoke tests more robust. (#120808)
Make sure to clear out all FE_ALL_EXCEPT bits both before and after
invoking function under test -- otherwise the very first check for the
exception bits in the unit test may fail due to bits set prior to test
invocation.
Commit: 44514316bd5ef656076b6baaf6bccb298d98f0ea
https://github.com/llvm/llvm-project/commit/44514316bd5ef656076b6baaf6bccb298d98f0ea
Author: Sergey Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Delete unused `Src` arguments (NFC) (#120445)
The last uses were removed in #120332 and #120426.
When emitting renderers, we shouldn't look at the source DAG at all. The
required information is provided by the destination DAG and by the
instructions referenced in that DAG. Sometimes, we do want to know if a
result was referenced in the source DAG; this can be checked by calling
`RuleMatcher::hasOperand`. Any other use of the source DAG when emitting
renderers is likely an error.
Pull Request: https://github.com/llvm/llvm-project/pull/120445
Commit: 3bbd53ce97059718994cd17f3fd404654e9198cb
https://github.com/llvm/llvm-project/commit/3bbd53ce97059718994cd17f3fd404654e9198cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
R libc/hdrgen/yaml/gpu/rpc.yaml
M libc/include/CMakeLists.txt
R libc/include/gpu/rpc.h.def
M libc/src/__support/RPC/CMakeLists.txt
Log Message:
-----------
[libc] Remove old RPC host call extension for GPU (#120800)
Summary:
This was originally a hacked together function that served to just
implement some features for OpenMP. That has been moved into OpenMP
itself now that we have exported RPC properly. This can now be deleted.
Commit: a7cd660bd7351f95e538286b23d38224bc8a9bb4
https://github.com/llvm/llvm-project/commit/a7cd660bd7351f95e538286b23d38224bc8a9bb4
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-optional-def.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Learn to import patterns with optional defs (#120470)
The number of skipped patterns reduces for ARM from 4278 to 4257.
This is the only in-tree target that makes use of OptionalDefOperand.
Pull Request: https://github.com/llvm/llvm-project/pull/120470
Commit: 9ae92d70561bcc95a7f818920238e764253d9758
https://github.com/llvm/llvm-project/commit/9ae92d70561bcc95a7f818920238e764253d9758
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
Log Message:
-----------
[SelectionDAG] Virtualize isTargetStrictFPOpcode / isTargetMemoryOpcode (#119969)
With this change, targets are no longer required to put memory / strict-fp opcodes after special
`ISD::FIRST_TARGET_MEMORY_OPCODE`/`ISD::FIRST_TARGET_STRICTFP_OPCODE` markers.
This will also allow autogenerating `isTargetMemoryOpcode`/`isTargetStrictFPOpcode (#119709).
Pull Request: https://github.com/llvm/llvm-project/pull/119969
Commit: d328d410613963359c4044292cfca99388d01023
https://github.com/llvm/llvm-project/commit/d328d410613963359c4044292cfca99388d01023
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Add a pass to collect dropped var stats for MIR (#120780)"
This reverts commit 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455.
(llvmorg-20-init-16123-g3bf91ad2a9c7)
`llvm/CodeGen` should not depend on `llvm/Passes`.
Commit: 559f0809cc69f0ee55fa56fac1758f43863f2650
https://github.com/llvm/llvm-project/commit/559f0809cc69f0ee55fa56fac1758f43863f2650
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port d328d4106139
Commit: 5cd427477218d8bdb659c6c53a7758f741c3990a
https://github.com/llvm/llvm-project/commit/5cd427477218d8bdb659c6c53a7758f741c3990a
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/include/mlir/Bindings/Python/Nanobind.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/lib/Bindings/Python/AsyncPasses.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
M mlir/lib/Bindings/Python/GPUPasses.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/LinalgPasses.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/RegisterEverything.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/test/python/dialects/sparse_tensor/dialect.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port in-tree dialects to nanobind. (#119924)
This is a companion to #118583, although it can be landed independently
because since #117922 dialects do not have to use the same Python
binding framework as the Python core code.
This PR ports all of the in-tree dialect and pass extensions to
nanobind, with the exception of those that remain for testing pybind11
support.
This PR also:
* removes CollectDiagnosticsToStringScope from NanobindAdaptors.h. This
was overlooked in a previous PR and it is duplicated in Diagnostics.h.
---------
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: cbf931e16f6d1ebe4c8a2f32315f21615a934f32
https://github.com/llvm/llvm-project/commit/cbf931e16f6d1ebe4c8a2f32315f21615a934f32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[TableGen][GlobalISel] Add GINodeEquiv for sdivrem/udivrem (#120819)
These nodes are not currently used in DAG patterns. Their GlobalISel
equivalents are primarily useful for testing TableGen backend, as they
produce two results. (There doesn't seem to be other such nodes.)
Commit: 665d79f2e967a5eee6fff93685e45f50cf24cab2
https://github.com/llvm/llvm-project/commit/665d79f2e967a5eee6fff93685e45f50cf24cab2
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
Log Message:
-----------
[AArch64][GlobalISel] Implement G_ICMP support for oversize pointer vectors.
Commit: 7a38445ee2ac89fe240479d052373df23561ab57
https://github.com/llvm/llvm-project/commit/7a38445ee2ac89fe240479d052373df23561ab57
Author: vporpo <vporpodas at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Register move instr callback (#120146)
This patch implements the move instruction notifier for the DAG.
Whenever an instruction moves the notifier will maintain the DAG.
Commit: f06756f50e1f70664adc25a41ccabf5b018a504a
https://github.com/llvm/llvm-project/commit/f06756f50e1f70664adc25a41ccabf5b018a504a
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
Log Message:
-----------
Store sysreg names in-line with their descriptors. (#119157)
This wastes some disk space, because we have to size the arrays for
the maximum possible length. However, it eliminates dynamic relocations
from the SysRegsList arrays.
Commit: e138f7831e62054d3971f716273fbe174176deca
https://github.com/llvm/llvm-project/commit/e138f7831e62054d3971f716273fbe174176deca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove unnecessary 'let BaseInstr' from Xsfvcp pseudoinstructions. NFC
These are identical to the RISCVVPseudo base class.
Commit: 95c5386ddb8a530b43533c82b5dbfc18e81a7235
https://github.com/llvm/llvm-project/commit/95c5386ddb8a530b43533c82b5dbfc18e81a7235
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
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/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
Log Message:
-----------
[RISCV][NFCI] Rationalize Immediate Definitions (#120718)
Commit: c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
https://github.com/llvm/llvm-project/commit/c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32c-only-valid.s
M llvm/test/MC/RISCV/rv32i-only-valid.s
A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
Log Message:
-----------
[RISCV] Fix More RV32 Signed Immediates (#120658)
Commit: b9a2658a3e8bd13b0f9e7a8a440832a95b377216
https://github.com/llvm/llvm-project/commit/b9a2658a3e8bd13b0f9e7a8a440832a95b377216
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__cxx03/version
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/test/libcxx/assertions/single_expression.pass.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
M libcxx/test/libcxx/selftest/test_macros.pass.cpp
M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)
This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.
At a high level, the changes basically amount to making each public
header look like this:
```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
# include <__cxx03/vector>
#else
// normal <vector> content
#endif
```
In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.
Commit: f77152d9a44b49ee38b15085034bbfe22b4b3992
https://github.com/llvm/llvm-project/commit/f77152d9a44b49ee38b15085034bbfe22b4b3992
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] use specified type verbatim in modernize-use-using fix (#113837)
Previously, the implementation used the printed type, which contains
expanded
macro arguments, deletes comments, and removes function argument names
from the alias declaration. Instead, this check can be more surgical and
use the
actual written type verbatim.
Fixes #33760
Fixes #37846
Fixes #41685
Fixes #83568
Fixes #95716
Fixes #97009
Commit: 93c2577020fe70087f99f48f7ce1fd62178455c3
https://github.com/llvm/llvm-project/commit/93c2577020fe70087f99f48f7ce1fd62178455c3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b9a2658a3e8b
Commit: bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
https://github.com/llvm/llvm-project/commit/bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use inferScalarType in VPInstruction::ResumePhi codegen (NFC).
Use VPlan-based type analysis to retrieve type of phi node. Also adds
missing type inference for ResumePhi and ComputeReductionResult opcodes.
Commit: 1e146dfb4fc82229c17ba5a7da847d87de214351
https://github.com/llvm/llvm-project/commit/1e146dfb4fc82229c17ba5a7da847d87de214351
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::{is,get} (NFC) (#120829)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm moving the definitions of several functions to SemaConcept.cpp
because llvm::cast requires the full definitions of
NormalizedConstraintPair, which is used like so:
using CompoundConstraint = llvm::PointerIntPair<NormalizedConstraintPair
*, 1,
CompoundConstraintKind>;
Commit: 129f1001c3b1b5200de43917d53c0efbdf08f11f
https://github.com/llvm/llvm-project/commit/129f1001c3b1b5200de43917d53c0efbdf08f11f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[Dialect] Migrate away from PointerUnion::{is,get} (NFC) (#120818)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e072cffe3b639e8c433138b10ff68dc577497cf8
https://github.com/llvm/llvm-project/commit/e072cffe3b639e8c433138b10ff68dc577497cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Add immop_oneuse PatLeaf. Use it to replace some PatLeafs with ImmLeaf/IntImmLeaf. NFC (#120804)
If we needed a one use check of a constant, we used a PatLeaf instead of
an IntLeaf or IntImmLeaf so we could add the one use check.
Unfortunately, this required the custom code to be duplicated for GISel
too.
Instead we can use a PatLeaf that does the one use check and defers to
an IntLeaf or IntImmLeaf for the immediate check. This allows GISel to
automically import the IntLeaf/IntImmLeaf part and we only need the
custom GISel predicate in the immop_oneuse PatLeaf.
Commit: f7ba2bdf863b589140cb97a3fafb2f4688532456
https://github.com/llvm/llvm-project/commit/f7ba2bdf863b589140cb97a3fafb2f4688532456
Author: GrumpyPigSkin <130710602+GrumpyPigSkin at users.noreply.github.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
A llvm/test/Other/debugcounter-slsr.ll
Log Message:
-----------
[LLVM][SLSR] Add a debug counter (#119981)
Added debug counter and test for SLSR.
Fixes: https://github.com/llvm/llvm-project/issues/119770
Commit: fd784726db70a5155594c32ee839b8807fafd87d
https://github.com/llvm/llvm-project/commit/fd784726db70a5155594c32ee839b8807fafd87d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
Log Message:
-----------
[libc++] Rewrite minmax_element benchmark
The benchmark currently uses makeCartesianProductBenchmark, which
doesn't make a ton of sense, since minmax_element always goes through
every element one by one. The runtime doesn't depend on the values
of the elements.
Fixes #120758
Commit: 9b496deb90381f352a2bceb8794a0c7881a63bd5
https://github.com/llvm/llvm-project/commit/9b496deb90381f352a2bceb8794a0c7881a63bd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
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/preserve-dbg-loc-and-loop-metadata.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Set and use debug location for VPPredInstPHIRecipe.
Update the recipe it always set its debug location and use it during IR
generation.
Commit: bc23ef3feba9f1c0ca55bc12754017712252b64d
https://github.com/llvm/llvm-project/commit/bc23ef3feba9f1c0ca55bc12754017712252b64d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[LV] Add test showing incorrect debug location for scalar casts.
Commit: 3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
https://github.com/llvm/llvm-project/commit/3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/move.h
M libcxx/include/tuple
Log Message:
-----------
[libc++] Switch _LIBCPP_NODEBUG to [[gnu::nodebug]] (#120720)
This makes the placement of the attribute more consistent. This also
avoids clang dropping the attribute silently (see #120722).
Commit: 9b0c8ef37a344769e90d769dbeb0060afb260483
https://github.com/llvm/llvm-project/commit/9b0c8ef37a344769e90d769dbeb0060afb260483
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory_resource.h
Log Message:
-----------
[libc++] Don't declare pmr::polymorphic_allocator before C++17 (#120850)
Fixes #120790
Commit: 3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
https://github.com/llvm/llvm-project/commit/3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Decrease direct access to getContents()
to make it easier to store fragment contents out-of-line. Loosely based
on Alexis Engelke's prototype.
Commit: 40acaa394fa235796c2d98de87380887c59d5448
https://github.com/llvm/llvm-project/commit/40acaa394fa235796c2d98de87380887c59d5448
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix a crash in `QualifierAlignment: Right` (#120821)
Fixes #120793.
Commit: c9df8da659acde9445e1de5259d34ccf96948b44
https://github.com/llvm/llvm-project/commit/c9df8da659acde9445e1de5259d34ccf96948b44
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::get (NFC) (#120844)
Note that PointerUnion::get has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 9192367ad1af30c59d5b7adc0a099bd7e524e5dd
https://github.com/llvm/llvm-project/commit/9192367ad1af30c59d5b7adc0a099bd7e524e5dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
Log Message:
-----------
[Interfaces] Migrate away from PointerUnion::{is,get} (NFC) (#120845)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 530fe60bf8e94702541c581e7bc54a6031cd6f1e
https://github.com/llvm/llvm-project/commit/530fe60bf8e94702541c581e7bc54a6031cd6f1e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] Avoid repeated hash lookups (NFC) (#120848)
Commit: dce2245ba49fad419e551b0143f41431ec8e7f03
https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Lex/InitHeaderSearch.cpp
Log Message:
-----------
[clang][driver] Cleanup UEFI toolchain driver (#111473)
Updating UEFI header includes to not include system include directories,
adding includes from compiler resource directory and minor cleanups.
Commit: 037da010228436ef8f49399f1f0cf008c8428af8
https://github.com/llvm/llvm-project/commit/037da010228436ef8f49399f1f0cf008c8428af8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0175R1 as 'Nothing To Do'
The paper is purely editorial.
Fixes #99941
Commit: b41d50aaa93125b640823cf147740368f5bcc8aa
https://github.com/llvm/llvm-project/commit/b41d50aaa93125b640823cf147740368f5bcc8aa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Name `unique_ptr` function arguments `__ptr` and `__deleter`
This makes the code a bit more readable and users will see `ptr` and
`deleter` instead of `p` and `d` when using an IDE that shows the
argument names.
Commit: 86fa35ce7e9730e9a3840a77c4a14f175167d524
https://github.com/llvm/llvm-project/commit/86fa35ce7e9730e9a3840a77c4a14f175167d524
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
Log Message:
-----------
[LV][VPlan] Use opcode to retrieve the VPID of the CallRecipe, rather than underlying instruction (#120816)
This patch may cause the flags in the CallRecipe to be lost after EVL
transformation, and it has been addressed in the patch: #119847
Commit: 21e6f16517b9b9255729665806f5c0b395854146
https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
Log Message:
-----------
[libc++] Mark N4089 as complete
The paper has been implemented since at least LLVM 5, maybe earlier.
Commit: 49ecd665fcc311f7cd61e81d3f7a112cd287e292
https://github.com/llvm/llvm-project/commit/49ecd665fcc311f7cd61e81d3f7a112cd287e292
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[AArch64][GlobalISel] Legalize unhandled G_BITREVERSE by lowering.
This fixes fallbacks on <4 x s16> types.
Commit: 6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
https://github.com/llvm/llvm-project/commit/6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
Log Message:
-----------
[MC,CodeView] Postpone MCDataFragment creation to finish time
`StrTabFragment` created due to `.cv_stringtable` is not placed directly
into a section. This requires a funky ~CodeViewContext and does not fit
well with the future that moves MCFragment storage out-of-line.
Commit: 2cf3d059176d7d92a096c32b15946a101d037c59
https://github.com/llvm/llvm-project/commit/2cf3d059176d7d92a096c32b15946a101d037c59
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
[MC] Simplify WasmObjectWriter
and make it fit well with the future when MCFragment content is
out-of-line.
Commit: 90726652c930d9f286bad291ec11bccb2fb6b39a
https://github.com/llvm/llvm-project/commit/90726652c930d9f286bad291ec11bccb2fb6b39a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageViewOptions.h
Log Message:
-----------
Reformat
Commit: cac6777ca14e162eb6e97e20da266802846ab953
https://github.com/llvm/llvm-project/commit/cac6777ca14e162eb6e97e20da266802846ab953
Author: 天音あめ <i at amane-a.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/MacroExpander.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
Log Message:
-----------
[clang-format] Fix crashes when the macro expansion is empty (#119428)
An empty expansion should be valid, like `echo 'A()' | clang-format
--style='{Macros: [A(x)=x]}'`.
Fixes #119258.
Commit: 3bb0c73ab50121f518c8d66154283cfd50d6d31a
https://github.com/llvm/llvm-project/commit/3bb0c73ab50121f518c8d66154283cfd50d6d31a
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[AArch64][GlobalISel] Add more test coverage for bitreverse.
The IR tests show there's some missing optimizations to form rbit.
Commit: 7b86fbbab74a6301d99017364b5369b98bdd7985
https://github.com/llvm/llvm-project/commit/7b86fbbab74a6301d99017364b5369b98bdd7985
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Remove redundant MCSection::empty check. NFC
The section cannot be empty due to allocInitialFragment.
Commit: acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
https://github.com/llvm/llvm-project/commit/acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/if.cpp
Log Message:
-----------
[clang][bytecode] Create local scopes for if then/else statements (#120852)
In case those aren't compound statements.
Commit: 47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
https://github.com/llvm/llvm-project/commit/47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
Remove unused MCSection::empty
CurFragList->Head should be non-null, so empty() is not useful.
Commit: c1931241b088164bc96345f9dffae024affd3f56
https://github.com/llvm/llvm-project/commit/c1931241b088164bc96345f9dffae024affd3f56
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
Log Message:
-----------
[MC] Remove fixup_begin/fixup_end
Commit: 9423961f259f49007dc9cdea7344094a6fdf1afb
https://github.com/llvm/llvm-project/commit/9423961f259f49007dc9cdea7344094a6fdf1afb
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/nobits-non-zero-value.s
Log Message:
-----------
[MC] Test the "cannot have fixups" error
Commit: b68a952ae1c06b78790eab758574d992159e33b8
https://github.com/llvm/llvm-project/commit/b68a952ae1c06b78790eab758574d992159e33b8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc] Migrate away from PointerUnion::{is,get} (NFC) (#120872)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: b0e43f815ac69eaab503984a187d8099b5c4b707
https://github.com/llvm/llvm-project/commit/b0e43f815ac69eaab503984a187d8099b5c4b707
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120873)
Commit: e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
https://github.com/llvm/llvm-project/commit/e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Simplify redundant VPDerivedIVRecipe (NFC).
Split DerivedIV simplification off from
https://github.com/llvm/llvm-project/pull/112145 and use to remove the
need for extra checks in createScalarIVSteps. Required an extra
simplification run after IV transforms.
Commit: 1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
https://github.com/llvm/llvm-project/commit/1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Move PT_OPENBSD_NOBTCFI check to readConfigs() (#120678)
Commit: e8f1902cca2aeaa23db6080fe33fbc67ed203350
https://github.com/llvm/llvm-project/commit/e8f1902cca2aeaa23db6080fe33fbc67ed203350
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Add a test to make sure the type traits derive from integral_constant (#120732)
Commit: 6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
https://github.com/llvm/llvm-project/commit/6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0270R3 as Nothing To Do
The paper is fixing a wording bug, so there's nothing to do for
implementations.
Commit: d486b768238c84b3fea8cb35aaceab1ae5204f92
https://github.com/llvm/llvm-project/commit/d486b768238c84b3fea8cb35aaceab1ae5204f92
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
Log Message:
-----------
[AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)
Try to runtime-unroll loops with early-continues depending on
loop-varying loads; this helps with branch-prediction for the
early-continues and can significantly improve performance
for such loops
Builds on top of https://github.com/llvm/llvm-project/pull/118317.
PR: https://github.com/llvm/llvm-project/pull/118499.
Commit: a0f0a69b625748b97e40195c8d81b3746d30f985
https://github.com/llvm/llvm-project/commit/a0f0a69b625748b97e40195c8d81b3746d30f985
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/MachO/SymbolTable.cpp
Log Message:
-----------
[lld][MachO] Fix symbol insertion in `transplantSymbolsAtOffset` (#120737)
The existing comparison does not insert symbols in the intended place.
Closes #120559.
---------
Co-authored-by: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Commit: b2d7312d52f299a2f854c673796ad1a699e0d79f
https://github.com/llvm/llvm-project/commit/b2d7312d52f299a2f854c673796ad1a699e0d79f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Add const to some member functions & reformat (NFC) (#120899)
Add const to `import*Renderer` member functions and recursively to
functions called from them.
I didn't do that for `import*Matcher` functions because they mutate
class variables.
Commit: a4f5e90e319e8bf36ed421a0445218ff17d4de03
https://github.com/llvm/llvm-project/commit/a4f5e90e319e8bf36ed421a0445218ff17d4de03
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
Log Message:
-----------
[clang-tidy][NFC][doc] mention some range algorithms do not work for `vector<bool>` in C++20 (#120774)
Commit: f96337e04e0290426c72637325424a8be8e8de5d
https://github.com/llvm/llvm-project/commit/f96337e04e0290426c72637325424a8be8e8de5d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldConcatOfBoolMasks - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
https://github.com/llvm/llvm-project/commit/db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[LV] Add tests with dereferenceable assumptions.
Add a number of tests with dereferenceable assumptions and different
alignment info.
Commit: bf873aa3ecef93c8dc8eb792da9e73ceff120492
https://github.com/llvm/llvm-project/commit/bf873aa3ecef93c8dc8eb792da9e73ceff120492
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - add debug message for match
Helps with debugging to show to that the fold found the match.
Commit: eaf67e062c09c30afd05afd8417787cd6760d9a7
https://github.com/llvm/llvm-project/commit/eaf67e062c09c30afd05afd8417787cd6760d9a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr120906.ll
Log Message:
-----------
[X86] IsNOT - don't fold not(pcmpgt(C1, C2)) -> pcmpgt(C2, C1 - 1)
Interferes with constant folding of the pcmpgt node.
Yes another example where topological node sorting would have helped us.
Fixes #120906
Commit: c5492e3c65e40cdcab9771b692f9ad437c65aa04
https://github.com/llvm/llvm-project/commit/c5492e3c65e40cdcab9771b692f9ad437c65aa04
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Add a benchmark for std::num_get
Commit: 392651a7ec250b82cecabbe9c765c3e5d5677d75
https://github.com/llvm/llvm-project/commit/392651a7ec250b82cecabbe9c765c3e5d5677d75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[flang] Migrate away from PointerUnion::{is,get} (NFC) (#120880)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: d32509928ba6b4c78b02b8a8499dce056ae6fe52
https://github.com/llvm/llvm-project/commit/d32509928ba6b4c78b02b8a8499dce056ae6fe52
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Rewrite an isel pattern to make it more amenable to GISel. NFC
The result pattern created an i1 constant and then used
ImmSubFromXLen SDNodeXForm on it. GISel cannot handle this construct
the same way as SelectionDAG. The GISel equivalent of the SDNodeXForm
expects a G_CONSTANT, but the emitter can't create that.
Work aound this by splitting the pattern into RV32 and RV64 versions
and hard coding the constant.
Additional changes are needed to import the pattern for GISel so
there's no test.
Commit: b84218526d364cb9fda23bfca164d25a7b03a641
https://github.com/llvm/llvm-project/commit/b84218526d364cb9fda23bfca164d25a7b03a641
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Mark num_get.bench.cpp as unsupported in C++03
Commit: 8a51471d839d9ba8ea015ddd4c761d5c8946f881
https://github.com/llvm/llvm-project/commit/8a51471d839d9ba8ea015ddd4c761d5c8946f881
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Extract the implementation of transform Recipe to EVLRecipe into a small function. NFC (#119510)
Commit: 34d55df73b4b4662847210cef6f3f4a1c368b1a1
https://github.com/llvm/llvm-project/commit/34d55df73b4b4662847210cef6f3f4a1c368b1a1
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M compiler-rt/lib/tysan/tysan_interceptors.cpp
Log Message:
-----------
[tysan] Replace HandleEarlyAlloc with DlsymAlloc (#120563)
Commit: dd577c05ad0d382b444da01b6a1f56f8c2c15e07
https://github.com/llvm/llvm-project/commit/dd577c05ad0d382b444da01b6a1f56f8c2c15e07
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang] constexpr built-in reduce min/max function. (#120866)
Part of #51787.
This patch adds constexpr support for the built-in reduce min/max
function.
Commit: b1fab4f8491ae2c46ae77bcc21281296edfd458a
https://github.com/llvm/llvm-project/commit/b1fab4f8491ae2c46ae77bcc21281296edfd458a
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Initialize the variable 'VPID' of the createEVLRecipe (#120926)
Resolve the compilation error caused by the merge issue: #119510
Commit: 642c75bfc81577158d27139f04f6617befa5286c
https://github.com/llvm/llvm-project/commit/642c75bfc81577158d27139f04f6617befa5286c
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Make LazyReexportManager::KeyToReentryAddrs plural, use vector::insert.
Cleanup to recent LazyReexportManager changes: KeyToReentryAddr now maps to
multiple addrs, so make its name plural. Use vector insert rather than a for
loop.
NFC.
Commit: 98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
https://github.com/llvm/llvm-project/commit/98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
Log Message:
-----------
[JITLink][COFF] Use regular external symbol resolution for __ImageBase.
This fixes a concurrency bug in the COFF_x86_64 backend: lookupAsync was used
to find __ImageBase without blocking to wait for the result.
Rather than adding promises / futures, this patch just adds an external
__ImageBase symbol if needed. This is the canonical JITLink solution for
resolving external symbols, and is simpler and more concurrency friendly than
using promises / futures with lookupAsync.
Commit: 21a1dbb50320889ee0e116237c924ee1af3c3dd3
https://github.com/llvm/llvm-project/commit/21a1dbb50320889ee0e116237c924ee1af3c3dd3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir][NFC] Fix format of comments for `foldHook` (#118453)
Commit: 2b3aff8f92f8713c27791997df3ad5f2a8b51301
https://github.com/llvm/llvm-project/commit/2b3aff8f92f8713c27791997df3ad5f2a8b51301
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
Log Message:
-----------
[ORC] Don't notify condition variable when condition is not met.
Avoids waking threads when the condition to proceed won't be met. NFC.
Commit: edca1d9bad2a6f7c208e21f312d35ede33632ac1
https://github.com/llvm/llvm-project/commit/edca1d9bad2a6f7c208e21f312d35ede33632ac1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Use concurrent linking by default.
Adds a -threads option to llvm-jitlink. By default llvm-jitlink will now use a
DynamicThreadPoolTaskDispatcher with the number of materialization threads set
to whatever is returned by std::hardware_concurrency(). This brings the default
in-place linking behavior in line with the concurrent linking that is used for
-oop-executor and -oop-executor-connect mode.
In-place linking on the main thread can be forced by passing -threads=0.
Commit: 4f7ff6bb38c8952a24b5cbae07031d78e359e573
https://github.com/llvm/llvm-project/commit/4f7ff6bb38c8952a24b5cbae07031d78e359e573
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AArch64/armv8.3a-complex.s
M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
M llvm/test/MC/AArch64/armv8.3a-pauth.s
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/AArch64/armv8.4a-flagm.s
M llvm/test/MC/AArch64/armv8.6a-amvs.s
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
M llvm/test/MC/ARM/directive-object_arch-3.s
M llvm/test/MC/ARM/inst-directive-emit.s
M llvm/test/MC/Mips/dsp/valid.s
M llvm/test/MC/Mips/dspr2/valid.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-ld-sd.s
M llvm/test/MC/Mips/macro-seq.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/SystemZ/asm-match.s
M llvm/test/MC/SystemZ/gnu-attributes.s
M llvm/test/MC/WebAssembly/assembler-binary.ll
M llvm/test/MC/WebAssembly/basic-assembly.s
M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
Log Message:
-----------
[MC] Clean up tests that implicit .text MCAsmStreamer
Commit: 85a7989770136c8bcecffff960862045fbdb2161
https://github.com/llvm/llvm-project/commit/85a7989770136c8bcecffff960862045fbdb2161
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Adding a check for JAL argument in PIC mode to prevent crashing on getExpr (#120356)
Only an Expr is supported by JAL.
Let's check it before getExpr.
https://github.com/llvm/llvm-project/issues/80535
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Commit: 34531cff638a23f411324d010b3dacc1e9599cfb
https://github.com/llvm/llvm-project/commit/34531cff638a23f411324d010b3dacc1e9599cfb
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "[llvm-jitlink] Use concurrent linking by default."
This reverts commit edca1d9bad2 while I investigate bot failures,
e.g. https://lab.llvm.org/buildbot/#/builders/137/builds/10791.
Commit: 8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
https://github.com/llvm/llvm-project/commit/8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
Skip negative length while inferring initializes attr (#120874)
Bail out negative length while inferring initializes attr. Otherwise it
causes an assertion error:
`Attribute 'initializes' does not support unordered ranges`
Commit: 688acb13b1d1eb751c83466935ab12f2b8047930
https://github.com/llvm/llvm-project/commit/688acb13b1d1eb751c83466935ab12f2b8047930
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
M llvm/test/MC/AMDGPU/user-sgpr-count.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
AMDGPUTargetAsmStreamer::EmitDirectiveAMDGCNTarget called by
onBeginOfFile emits .amdgcn_target, which will not be before
.text when we change the .text parser to actually print .text .
The current .text is from initSections.
Commit: 8db73270e06a7925411870afa3953dafe997a35e
https://github.com/llvm/llvm-project/commit/8db73270e06a7925411870afa3953dafe997a35e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AsmParser/exprs-invalid.s
M llvm/test/MC/GOFF/ppa1.ll
M llvm/test/MC/XCOFF/inlineasm.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
https://github.com/llvm/llvm-project/commit/2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[TRI][RISCV] Add methods to get common register class of two registers (#118435)
Here we add two methods `getCommonMinimalPhysRegClass` and a LLT
version `getCommonMinimalPhysRegClassLLT`, which return the most
sub register class of the right type that contains these two input
registers.
We don't overload the `getMinimalPhysRegClass` as there will be
ambiguities.
We use it to simplify some code in RISC-V target.
Commit: 5712e293fb317b50166766ba86b969eb13fcd069
https://github.com/llvm/llvm-project/commit/5712e293fb317b50166766ba86b969eb13fcd069
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/commandline-metadata.ll
M llvm/test/CodeGen/AVR/sections.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
M llvm/test/CodeGen/Xtensa/simple.ll
Log Message:
-----------
[CodeGen] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 158a60051d2d41bc255224ccb57d076efb75822e
https://github.com/llvm/llvm-project/commit/158a60051d2d41bc255224ccb57d076efb75822e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Wait for reachable files to link before running checks.
ORC dependence tracking is fine-grained (i.e. per-symbol), however when running
-check mode we want to wait for all links triggered by the entry point lookup
to complete, regardless of whether the code / data in them is actually
reachable from the entry point. This simplifies test-cases, since authors don't
need to reason about per-symbol dependencies to know that additional files will
be linked (if referenced transitively in any way from the test-case).
The new Session::waitForFilesLinkedFromEntryPointFile utility does _not_ wait
for lazily linked (-lazy) files.
This will be used to fix buildbot errors caused by edca1d9bad2.
Commit: 7b23f413d1f76532825e470b523e971818d453ca
https://github.com/llvm/llvm-project/commit/7b23f413d1f76532825e470b523e971818d453ca
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/X86/header.ll
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
Log Message:
-----------
MCAsmStreamer: Omit initial ".text"
llvm-mc --assemble prints an initial `.text` from `initSections`.
This is weird for quick assembly tasks that do not specify `.text`.
Omit the .text by moving section directive printing from `changeSection`
to `switchSection`. switchSectionNoPrint now correctly calls the
`changeSection` hook (needed by MachO).
The initial directives of clang -S are now reordered. On ELF targets, we
get `.file "a.c"; .text` instead of `.text; .file "a.c"`.
If there is no function, `.text` will be omitted.
Commit: 6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
https://github.com/llvm/llvm-project/commit/6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
Author: Peng Xie <helianthus547 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/__memory_resource/monotonic_buffer_resource.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/memory_resource.cpp
Log Message:
-----------
[libc++] Refactor some code in monotonic_buffer_resource (#117271)
1. remove unused __default_buffer_alignment
2. two __try_allocate_from_chunk are same, put it together
This patch refactor some code in monotonic_buffer_resource.
Commit: 21996bd69c15cb1e5127f76254dfcda019ee432a
https://github.com/llvm/llvm-project/commit/21996bd69c15cb1e5127f76254dfcda019ee432a
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
Log Message:
-----------
[AMDGPU] Remove amdgpu-no-heap-ptr and amdgpu-no-lds-kernel-id attributes from lowered kernels in amdgpu-sw-lower-lds pass (#120887)
'amdgpu-sw-lower-lds' pass internally calls '__asan_malloc_impl' for
heap memory allocation.
Pass also uses 'amdgcn_lds_kernel_id' for non-kernel lds accesses
lowering.
This patch removes 'amdgpu-no-heap-ptr' and 'amdgpu-no-lds-kernel-id'
from all kernels lowered by the pass.
Commit: 4b35dd57b88a59b169c3471cbc398113d3bf98e8
https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/pr120277.cppm
Log Message:
-----------
[Serialization] Try to clean up PendingUndeducedFunctionDecls when
PendingUndeducedFunctionDecls is not empty
Close https://github.com/llvm/llvm-project/issues/120277
This turns out to be a simple oversight initially. See the analysis in
https://github.com/llvm/llvm-project/commit/ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
for the wider background.
Commit: aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
https://github.com/llvm/llvm-project/commit/aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
Log Message:
-----------
[lldb] Fix bad method call in `TestExprDiagnostics.py` (#120901)
Fixes
Traceback (most recent call last):
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1770, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py",
line 255, in test_command_expr_sbdata
self.assertEquals(error.GetType(), lldb.eErrorTypeExpression)
^^^^^^^^^^^^^^^^^
AttributeError: 'ExprDiagnosticsTestCase' object has no attribute
'assertEquals'. Did you mean: 'assertEqual'?
`assertEqual` is a method inherited from `unittest.TestCase`.
See #120784 and
https://github.com/llvm/llvm-project/pull/120784#issuecomment-2557871308
Commit: bda7aadfcd0596675c8b4b381f178f3d8f854f20
https://github.com/llvm/llvm-project/commit/bda7aadfcd0596675c8b4b381f178f3d8f854f20
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Fix importing frameindex node (#120921)
The existing test case is not representative. Even though TableGen
doesn't complain, the code generated from it is invalid and fails
verification with the message "Use not jointly dominated by defs.".
There is no way to magically transform `frameindex` to `tframeindex`
as it happens for some other leaf nodes. `frameindex` can only be
selected by custom C++ code or by using an `SDNodeXForm`.
This patch makes the test representative one and fixes the handling of
`G_FRAME_INDEX`, which shouldn't have set the operand's name.
It also fixes the type of the result of `G_FRAME_INDEX` in order to get
the correct type check (`GIM_CheckPointerToAny` instead of
`GIM_CheckType` with a scalar LLT argument).
Commit: 24fc8f01a40310e91838ab742b4940369786ba90
https://github.com/llvm/llvm-project/commit/24fc8f01a40310e91838ab742b4940369786ba90
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
Log Message:
-----------
[llvm][OpenMP][NFC] Cleanup AtomicInfo (#119199)
This PR refactors functionality from
llvm/include/llvm/Frontend/Atomic/Atomic.h into
llvm/lib/llvm/Frontend/Atomic/Atomic.cpp.
Commit: 657c5bf807e17ccab3f5b283824c7e6bb7a74707
https://github.com/llvm/llvm-project/commit/657c5bf807e17ccab3f5b283824c7e6bb7a74707
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/HLFIR/opt-variable-assign-omp.fir
Log Message:
-----------
[flang][AliasAnalysis] don't crash on load from blockarg (#120760)
Values can have no defining operation when the value is a blockarg. I
wrote this as a test for hlfir bufferization rather than alias analysis
because I couldn't find a way to add the test.ptr attribute to a block
argument.
Commit: 113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
https://github.com/llvm/llvm-project/commit/113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
Log Message:
-----------
[X86][AVX10.2] Fix wrong mask bits in cvtpbf8_ph intrinsics (#120927)
Found during review #120766
Commit: f70ab7d909d6861c7eec5ab40679bde16ab826c6
https://github.com/llvm/llvm-project/commit/f70ab7d909d6861c7eec5ab40679bde16ab826c6
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
Log Message:
-----------
[AArch64] Fix argument passing for SVE tuples (#118961)
The fix for passing Pure Scalable Types
(https://github.com/llvm/llvm-project/pull/112747) was incomplete,
it didn't handle correctly tuples of SVE vectors (e.g. `sveboolx2_t`,
`svfloat32x4_t`, etc).
These types are Pure Scalable Types and should be passed either entirely
in vector registers
or indirectly in memory, not split.
Commit: 2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
https://github.com/llvm/llvm-project/commit/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/mesa3d.ll
A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
Log Message:
-----------
[AMDGPU] Add some more GFX12 test coverage (#120581)
Commit: 6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)
Commit: 630b7f36731d9ddfdd1f1e17b7862dded902f02f
https://github.com/llvm/llvm-project/commit/630b7f36731d9ddfdd1f1e17b7862dded902f02f
Author: Cabbaken <cabbaken at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Remove some unneeded headers. (#120541)
Co-authored-by: qiuruoyu <qiuruoyu at xiaomi.com>
Commit: ce393beddfb810204ac0618c2fe365d4d21f5c32
https://github.com/llvm/llvm-project/commit/ce393beddfb810204ac0618c2fe365d4d21f5c32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Pattern-match frameindex (#120917)
Commit: ac5029499561a8f76e71325ffb5c59d92ff84709
https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
Revert "[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)"
This reverts commit 000febd0290698728abd9e23da6b27969c529177.
This is failing on the macOS public buildbots. It's unclear
to me why (I can't reproduce the failure on my local M1 machine).
I suspect the test might be relying on some non-deterministic
linker properties (such as order of entries in the debug-map
or something like that). The failure is as follows:
```
CHECK-NEXT: expected string not found in input
^
<stdin>:25:7: note: scanning from here
y = 2
^
<stdin>:27:4: note: possible intended match here
(lldb) exit
^
Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/Shell/Expr/TestObjCHiddenIvars.test
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
20: (lldb) expression *f
21: (Foo) $0 = {
22: NSObject = {
23: isa = Foo
24: }
25: y = 2
next:21'0 X error: no match found
26: }
next:21'0 ~~
27: (lldb) exit
next:21'0 ~~~~~~~~~~~~
next:21'1 ? possible intended match
>>>>>>
```
Commit: 944b6f8523677abb7f98556869d290f926d2dc62
https://github.com/llvm/llvm-project/commit/944b6f8523677abb7f98556869d290f926d2dc62
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][NFC] Fix typo in ReleaseNotes
Commit: 28d14904c00b74154b8dfa71d5b062a7e590c44c
https://github.com/llvm/llvm-project/commit/28d14904c00b74154b8dfa71d5b062a7e590c44c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Share GetDIEToType between SymbolFiles of a SymbolFileDWARFDebugMap (#120569)
The problem here manifests as follows:
1. We are stopped in main.o, so the first `ParseTypeFromDWARF` on
`FooImpl<char>` gets called on `main.o`'s SymbolFile. This adds a
mapping from *declaration die* -> `TypeSP` into `main.o`'s
`GetDIEToType` map.
2. We then `CompleteType(FooImpl<char>)`. Depending on the order of
entries in the debug-map, this might call `CompleteType` on `lib.o`'s
SymbolFile. In which case, `GetDIEToType().lookup(decl_die)` will return
a `nullptr`. This is already a bit iffy because some of the surrounding
code assumes we don't call `CompleteTypeFromDWARF` with a `nullptr`
`Type*`. E.g., `CompleteEnumType` blindly dereferences it (though enums
will never encounter this because their definition is fetched in
ParseEnum, unlike for structures).
3. While in `CompleteTypeFromDWARF`, we call `ParseTypeFromDWARF` again.
This will parse the member function `FooImpl::Create` and its return
type which is a typedef to `FooImpl*`. But now we're inside `lib.o`'s
SymbolFile, so we call it on the definition DIE. In step (2) we just
inserted a `nullptr` into `GetDIEToType` for the definition DIE, so we
trivially return a `nullptr` from `ParseTypeFromDWARF`. Instead of
reporting back this parse failure to the user LLDB trucks on and marks
`FooImpl::Ref` to be `void*`.
This test-case will trigger an assert in `TypeSystemClang::VerifyDecl`
even if we just `frame var` (but only in debug-builds). In release
builds where this function is a no-op, we'll create an incorrect Clang
AST node for the `Ref` typedef.
The proposed fix here is to share the `GetDIEToType` map between
SymbolFiles if a debug-map exists.
**Alternatives considered**
* Check the `GetDIEToType` map of the `SymbolFile` that the declaration
DIE belongs to. The assumption here being that if we called
`ParseTypeFromDWARF` on a declaration, the `GetDIEToType` map that the
result was inserted into was the one on that DIE's SymbolFile. This was
the first version of this patch, but that felt like a weaker version
sharing the map. It complicates the code in `CompleteType` and is less
consistent with the other bookkeeping structures we already share
between SymbolFiles
* Return from `SymbolFileDWARF::CompleteType` if there is no type in the
current `GetDIEToType`. Then `SymbolFileDWARFDebugMap::CompleteType`
could continue to the next `SymbolFile` which does own the type. But
that didn't quite work because we remove the
`GetForwardCompilerTypeToDie` entry in `SymbolFile::CompleteType`, which
`SymbolFileDWARFDebugMap::CompleteType` relies upon for iterating
Commit: c660b281b60085cbe40d73d692badd43d7708d20
https://github.com/llvm/llvm-project/commit/c660b281b60085cbe40d73d692badd43d7708d20
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Ignore Declaration when searching through UniqueDWARFASTTypeList in C++ (#120809)
This addresses an issue encountered when investigating
https://github.com/llvm/llvm-project/pull/120569.
In `ParseTypeFromDWARF`, we insert the parsed type into
`UniqueDWARFASTTypeMap` using the typename and `Declaration` obtained
with `GetUniqueTypeNameAndDeclaration`. For C++
`GetUniqueTypeNameAndDeclaration` will zero the `Declaration` info
(presumably because forward declaration may not have it, and for C++,
ODR means we can rely on fully qualified typenames for uniqueing). When
we then called `CompleteType`, we would first `MapDeclDIEToDefDIE`,
updating the `UniqueDWARFASTType` we inserted previously with the
`Declaration` of the definition DIE (without zeroing it). We would then
call into `ParseTypeFromDWARF` for the same type again, and search the
`UniqueDWARFASTTypeMap`. But we do the search using a zeroed declaration
we get from `GetUniqueTypeNameAndDeclaration`.
This particular example was fixed by
https://github.com/llvm/llvm-project/pull/120569 but this still feels a
little inconsistent. I'm not entirely sure we can get into that
situation after that patch anymore. So the only test-case I could come
up with was the unit-test which calls `MapDeclDIEToDefDIE` directly.
Commit: 3cc311ab8674eab6b9101cdf3823b55ea23d6535
https://github.com/llvm/llvm-project/commit/3cc311ab8674eab6b9101cdf3823b55ea23d6535
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: No target mat. for 1:N replacement (#117513)
During a 1:N replacement (`applySignatureConversion` or
`replaceOpWithMultiple`), the dialect conversion driver used to insert
two materializations:
* Argument materialization: convert N replacement values to 1 SSA value
of the original type `S`.
* Target materialization: convert original type to legalized type `T`.
The target materialization is unnecessary. Subsequent patterns receive
the replacement values via their adaptors. These patterns have their own
type converter. When they see a replacement value of type `S`, they will
automatically insert a target materialization to type `T`. There is no
reason to do this already during the 1:N replacement. (The functionality
used to be duplicated in `remapValues` and `insertNTo1Materialization`.)
Special case: If a subsequent pattern does not have a type converter, it
does *not* insert any target materializations. That's because the
absence of a type converter indicates that the pattern does not care
about type legality. Therefore, it is correct to pass an SSA value of
type `S` (or any other type) to the pattern.
Note: Most patterns in `TestPatterns.cpp` run without a type converter.
To make sure that the tests still behave the same, some of these
patterns now have a type converter.
This commit is in preparation of adding 1:N support to the conversion
value mapping. Before making any further changes to the mapping
infrastructure, I'd like to make sure that the code base around it (that
uses the mapping) is robust.
Commit: a35640f29e82dffbe87fb75af9b50c6e1312b455
https://github.com/llvm/llvm-project/commit/a35640f29e82dffbe87fb75af9b50c6e1312b455
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
Log Message:
-----------
[AArch64] Extend vecreduce to udot/sdot transformation to support usdot (#120094)
Commit: 5f98dd5dd5517b711bbb77655865a35904653820
https://github.com/llvm/llvm-project/commit/5f98dd5dd5517b711bbb77655865a35904653820
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update Wgmma.fence Ops to use intrinsics (#120956)
This PR updates the WgmmaFenceAlignedOp, WgmmaGroupSyncAlignedOp, and
WgmmaWaitGroupSyncOp Ops in the NVVM Dialect to lower to the
corresponding intrinsics instead of inline-ptx.
The existing test under Conversion/NVVMToLLVM is updated to check for
the new patterns and separate tests are added under Target/LLVMIR to
verify the lowered intrinsics.
Commit: 92f439c4b7f234583e52e529858365c1bf072879
https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)
Commit: 24eb1566e09080658d16649a0d3bb4f9565131c3
https://github.com/llvm/llvm-project/commit/24eb1566e09080658d16649a0d3bb4f9565131c3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Log Message:
-----------
[gn] port 24fc8f01a403 (and aec87a2143c01)
Commit: 11676da80874787a47856da87911234837c53f06
https://github.com/llvm/llvm-project/commit/11676da80874787a47856da87911234837c53f06
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Normalize debug messages for newTreeEntry. (#119514)
A debug message should follow after newTreeEntry.
Make ExtractValueInst and ExtractElementInst use setOperand directly.
Commit: df31fd8a3648a487aaec31bef059187b0d316d1f
https://github.com/llvm/llvm-project/commit/df31fd8a3648a487aaec31bef059187b0d316d1f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Fix use-after-return in #117513 (#120968)
Fix a use-after-return in #117513. Free-standing lambdas should not be
defined inside of the `LLVMTypeConverter` constructor because they go
out of scope.
Commit: c28a7c1efd89d3dbee5f7212313f836855dd08fd
https://github.com/llvm/llvm-project/commit/c28a7c1efd89d3dbee5f7212313f836855dd08fd
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/runtime/exceptions.cpp
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120747)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
https://github.com/llvm/llvm-project/commit/fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Remove extra ';' outside of a function (NFC)
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:51:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:97:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
2 errors generated.
Commit: adb849e79f144e132b169268a2784202d24e80ca
https://github.com/llvm/llvm-project/commit/adb849e79f144e132b169268a2784202d24e80ca
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R llvm/test/MC/RISCV/rv32c-valid.s
R llvm/test/MC/RISCV/rv32d-valid.s
R llvm/test/MC/RISCV/rv32e-invalid.s
R llvm/test/MC/RISCV/rv32e-valid.s
R llvm/test/MC/RISCV/rv32f-valid.s
R llvm/test/MC/RISCV/rv32i-valid.s
R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
R llvm/test/MC/RISCV/rv32ih-valid.s
R llvm/test/MC/RISCV/rv32m-valid.s
R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
R llvm/test/MC/RISCV/rv32zaamo-valid.s
R llvm/test/MC/RISCV/rv32zacas-valid.s
R llvm/test/MC/RISCV/rv32zalasr-valid.s
R llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv32zba-valid.s
R llvm/test/MC/RISCV/rv32zbb-valid.s
R llvm/test/MC/RISCV/rv32zbc-valid.s
R llvm/test/MC/RISCV/rv32zbkb-valid.s
R llvm/test/MC/RISCV/rv32zbkc-valid.s
R llvm/test/MC/RISCV/rv32zbkx-valid.s
R llvm/test/MC/RISCV/rv32zbs-valid.s
R llvm/test/MC/RISCV/rv32zcb-invalid.s
R llvm/test/MC/RISCV/rv32zcb-valid.s
R llvm/test/MC/RISCV/rv32zcmt-invalid.s
R llvm/test/MC/RISCV/rv32zcmt-valid.s
R llvm/test/MC/RISCV/rv32zdinx-valid.s
R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
R llvm/test/MC/RISCV/rv32zfh-valid.s
R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
R llvm/test/MC/RISCV/rv32zfhmin-valid.s
R llvm/test/MC/RISCV/rv32zfinx-valid.s
R llvm/test/MC/RISCV/rv32zhinx-valid.s
R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
R llvm/test/MC/RISCV/rv32zicbom-invalid.s
R llvm/test/MC/RISCV/rv32zicbom-valid.s
R llvm/test/MC/RISCV/rv32zicbop-invalid.s
R llvm/test/MC/RISCV/rv32zicbop-valid.s
R llvm/test/MC/RISCV/rv32zicboz-invalid.s
R llvm/test/MC/RISCV/rv32zicboz-valid.s
R llvm/test/MC/RISCV/rv32zicond-invalid.s
R llvm/test/MC/RISCV/rv32zicond-valid.s
R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
R llvm/test/MC/RISCV/rv32zihintntl-valid.s
R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
R llvm/test/MC/RISCV/rv32zihintpause-valid.s
R llvm/test/MC/RISCV/rv32zknh-valid.s
R llvm/test/MC/RISCV/rv32zksed-valid.s
R llvm/test/MC/RISCV/rv32zksh-valid.s
A llvm/test/MC/RISCV/rvc-valid.s
A llvm/test/MC/RISCV/rvd-valid.s
A llvm/test/MC/RISCV/rve-invalid.s
A llvm/test/MC/RISCV/rve-valid.s
A llvm/test/MC/RISCV/rvf-valid.s
A llvm/test/MC/RISCV/rvi-valid.s
A llvm/test/MC/RISCV/rvih-aliases-valid.s
A llvm/test/MC/RISCV/rvih-valid.s
A llvm/test/MC/RISCV/rvm-valid.s
A llvm/test/MC/RISCV/rvxtheadbs-valid.s
A llvm/test/MC/RISCV/rvzaamo-valid.s
A llvm/test/MC/RISCV/rvzacas-valid.s
A llvm/test/MC/RISCV/rvzalasr-valid.s
A llvm/test/MC/RISCV/rvzalrsc-valid.s
A llvm/test/MC/RISCV/rvzba-valid.s
A llvm/test/MC/RISCV/rvzbb-valid.s
A llvm/test/MC/RISCV/rvzbc-valid.s
A llvm/test/MC/RISCV/rvzbkb-valid.s
A llvm/test/MC/RISCV/rvzbkc-valid.s
A llvm/test/MC/RISCV/rvzbkx-valid.s
A llvm/test/MC/RISCV/rvzbs-valid.s
A llvm/test/MC/RISCV/rvzcb-invalid.s
A llvm/test/MC/RISCV/rvzcb-valid.s
A llvm/test/MC/RISCV/rvzcmt-invalid.s
A llvm/test/MC/RISCV/rvzcmt-valid.s
A llvm/test/MC/RISCV/rvzdinx-valid.s
A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-valid.s
A llvm/test/MC/RISCV/rvzfh-valid.s
A llvm/test/MC/RISCV/rvzfhmin-invalid.s
A llvm/test/MC/RISCV/rvzfhmin-valid.s
A llvm/test/MC/RISCV/rvzfinx-valid.s
A llvm/test/MC/RISCV/rvzhinx-valid.s
A llvm/test/MC/RISCV/rvzhinxmin-valid.s
A llvm/test/MC/RISCV/rvzicbom-invalid.s
A llvm/test/MC/RISCV/rvzicbom-valid.s
A llvm/test/MC/RISCV/rvzicbop-invalid.s
A llvm/test/MC/RISCV/rvzicbop-valid.s
A llvm/test/MC/RISCV/rvzicboz-invalid.s
A llvm/test/MC/RISCV/rvzicboz-valid.s
A llvm/test/MC/RISCV/rvzicond-invalid.s
A llvm/test/MC/RISCV/rvzicond-valid.s
A llvm/test/MC/RISCV/rvzihintntl-invalid.s
A llvm/test/MC/RISCV/rvzihintntl-valid.s
A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
A llvm/test/MC/RISCV/rvzihintntlc-valid.s
A llvm/test/MC/RISCV/rvzihintpause-valid.s
A llvm/test/MC/RISCV/rvzknh-valid.s
A llvm/test/MC/RISCV/rvzksed-valid.s
A llvm/test/MC/RISCV/rvzksh-valid.s
Log Message:
-----------
[RISCV][NFCI] Rename rv32+rv64 testcases (#120717)
All these testcases were called `rv32<something>.s`, but had equivalent
RUN lines for both riscv32 and riscv64. This made it hard to add tests
which are only valid on one of riscv32 or riscv64.
This change makes the tests follow a naming convention:
- `rv32*.s` means a test for riscv32-specific behaviour
- `rv64*.s` means a test for riscv64-specific behaviour
- `rv*.s` (without 64 or 32) means a test for both base architectures -
the majority of tests/behaviour.
This should make it easier to add and name extension-specific tests
which do depend on the base architecture.
Commit: 29c89d7265329c530a6a2cb0307218004cc2ba53
https://github.com/llvm/llvm-project/commit/29c89d7265329c530a6a2cb0307218004cc2ba53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, y, m1), (shuffle y, x, m2)" -> "shuffle x, y, m3" (#120959)
foldShuffleOfShuffles currently only folds unary shuffles to ensure we don't end up with a merged shuffle with more than 2 sources, but this prevented cases where both shuffles were sharing sources.
This patch generalizes the merge process to find up to 2 sources as it merges with the inner shuffles, it also moves the undef/poison handling stages into the merge loop as well.
Fixes #120764
Commit: 723aeaf336c3e6b09b74fc704b49b8a85ed91605
https://github.com/llvm/llvm-project/commit/723aeaf336c3e6b09b74fc704b49b8a85ed91605
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fixup for #119199, FrontendAtomic
Commit: d039ac3955f0809f880f2e22896c5814d724dd80
https://github.com/llvm/llvm-project/commit/d039ac3955f0809f880f2e22896c5814d724dd80
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Remove the second inclusion of the system header (#120946)
This was introduced in #119025 and not only seems unnecessary, it broke
the build with older versions of glibc.
Commit: 902e62cf15229a4ef32d12cd4ee083e3a58c447b
https://github.com/llvm/llvm-project/commit/902e62cf15229a4ef32d12cd4ee083e3a58c447b
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Fix the #endif comments (#120949)
The order of comments is swapped.
Commit: b85ddba421fa3bd078d6af7295d9f2bab6e4185c
https://github.com/llvm/llvm-project/commit/b85ddba421fa3bd078d6af7295d9f2bab6e4185c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
Log Message:
-----------
[AArch64] NFC: Fix inlining tests for SME ZA state.
By adding inline-asm to test, we now actually test the code-path they're
meant to test.
Commit: e3f8c229f5710b52d18300b561925e556407ebee
https://github.com/llvm/llvm-project/commit/e3f8c229f5710b52d18300b561925e556407ebee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - inserting into a poison base vector can be modelled as a single src shuffle
We already canonicalized an undef base vector to the RHS to improve further folding, this extends this to improve the shuffle cost estimate of the single src shuffle
Commit: 711419e3025678511e3d26c4c30d757f9029d598
https://github.com/llvm/llvm-project/commit/711419e3025678511e3d26c4c30d757f9029d598
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Transforms/loop-versioning.fir
Log Message:
-----------
[flang] Enable loop-versioning for slices. (#120344)
Loops resulting from array expressions like array(:,i)
may be versioned for the unit stride of the innermost dimension,
when the initial array is an assumed-shape array (which are contiguous
in many Fortran programs).
This speeds up facerec for about 12% due to further vectorization
of the innermost loop produced for the total SUM reduction.
Commit: dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
https://github.com/llvm/llvm-project/commit/dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120976)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This is in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: b8952d4b1b0c73bf39d6440ad3166a088ced563f
https://github.com/llvm/llvm-project/commit/b8952d4b1b0c73bf39d6440ad3166a088ced563f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][CG]Use processShuffleMasks for per-register shuffles
Patch adds usage of processShuffleMasks in in codegen
in lowerShuffleViaVRegSplitting. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions, unifies the code.
Reviewers: preames, topperc, lukel97, wangpc-pp
Reviewed By: wangpc-pp
Pull Request: https://github.com/llvm/llvm-project/pull/120803
Commit: 99dddef340e566e9d303010f1219f7d7d6d37a11
https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Clang][Sema] Process warnings conditionally (#120591)
There are a few functions that emit warnings related to positional
arguments in format strings. These functions use `getLocationOfByte()`
which has O(n) complexity and may lead to silent hang of compilation in
some cases. But such warnings is not widely used and actually don't emit
if user didn't pass the appropriate `-W...` flag, so if the flag is not
passed dont make the call to `EmitFormatDiagnostic` for such diags.
Fix #120462
Commit: d36836de0183b9b1939cc679d153e3b313e55c76
https://github.com/llvm/llvm-project/commit/d36836de0183b9b1939cc679d153e3b313e55c76
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Create descriptor in managed memory when emboxing fir.box_addr value (#120980)
Commit: d8e792931226b15d9d2424ecd24ccfe13adc2367
https://github.com/llvm/llvm-project/commit/d8e792931226b15d9d2424ecd24ccfe13adc2367
Author: Pranav Kant <prka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix -Werror,-Wundefined-bool-conversion after #117513 (#120985)
Commit: 2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
https://github.com/llvm/llvm-project/commit/2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Verifier/sme-attributes.ll
Log Message:
-----------
[AArch64] SME implementation for agnostic-ZA functions (#120150)
This implements the lowering of calls from agnostic-ZA functions to
non-agnostic-ZA functions, using the ABI routines
`__arm_sme_state_size`, `__arm_sme_save` and `__arm_sme_restore`.
This implements the proposal described in the following PRs:
* https://github.com/ARM-software/acle/pull/336
* https://github.com/ARM-software/abi-aa/pull/264
Commit: c2b89fc9e45d325282b8eb6536f6145282dc3fdf
https://github.com/llvm/llvm-project/commit/c2b89fc9e45d325282b8eb6536f6145282dc3fdf
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
M llvm/lib/Target/Hexagon/HexagonScheduleV75.td
A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v79_arch.s
Log Message:
-----------
[Hexagon] Add V79 support to compiler and assembler (#120983)
This patch introduces support for the Hexagon V79 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics. It also adds missing Hexagon v73
builtins to clang.
Commit: c7a777322dd8cc171cea9bbc8dbad14277b3587a
https://github.com/llvm/llvm-project/commit/c7a777322dd8cc171cea9bbc8dbad14277b3587a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace else-if dyn_cast with cast (NFC).
The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.
Commit: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938)
Refactoring before linking it only with CFI diag or VPTR.
Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed,
but it was unsupported before anyway.
Commit: 5b74fb75d90ef6620741af45f146cefacbd9ecef
https://github.com/llvm/llvm-project/commit/5b74fb75d90ef6620741af45f146cefacbd9ecef
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733 (#120997)
Device runtime build have been fixed. Attempt to re-land these patches
that have been approved before.
https://github.com/llvm/llvm-project/pull/118713
https://github.com/llvm/llvm-project/pull/118733
Commit: a60050cf1966eb8d46253c8da13df52ac8b9ec33
https://github.com/llvm/llvm-project/commit/a60050cf1966eb8d46253c8da13df52ac8b9ec33
Author: Hongren Zheng <i at zenithal.me>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[mlir][dataflow] Allow re-run all analyses in DataFlowSolver (#120881)
In downstream (check https://github.com/google/heir/pull/1228,
especially [this
commit](https://github.com/ZenithalHourlyRate/heir/commit/fbf0b2733f1f60e852c757602afac65a4364e30c);
also check https://github.com/google/heir/pull/1154) we often need to
re-run the analysis during the transformation pass as IR get changed
based on the analysis result and analysis continuously get invalidated.
There are solutions to it like `getOrCreateState` for newly created
`Value` (`AnchorT`), but warning is that the new state does not
propagate! This is quite unexpected as user of analysis would expect it
to propagate. We downstream used to use `solver->propagateIfChanged` but
that turned out to be not working, see detailed writeup in
https://github.com/google/heir/issues/1153.
Just call `initializeAndRun` repeatedly also does not solve the problem
as `analysisStates` is not cleared and the monotonicity of
`AnalysisState` will make the analysis invalid as `join` will not work
as expected (the first join is no longer `join(uninitialized, init
value)`, instead it becomes `join(higher value, init value)`.
To correctly re-run the analysis, either a new `DataFlowSolver` is
created, or we can just clear the `analysisState`.
Commit: 927a70daf31b1610627f346b0dc140eda72144b9
https://github.com/llvm/llvm-project/commit/927a70daf31b1610627f346b0dc140eda72144b9
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
Revert "[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)"
This reverts commit 919aead1db64b2f1444842bc75a3af7836238671.
It breaks following LLVM bots:
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/143
https://lab.llvm.org/buildbot/#/builders/17
Commit: fbdf652d970322a00f61333f1ca10facb72f0cbb
https://github.com/llvm/llvm-project/commit/fbdf652d970322a00f61333f1ca10facb72f0cbb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][COST]Add several test with known vlen, NFC
Commit: ba373096e8ac83a7136fc44bc4e71a7bc53417a6
https://github.com/llvm/llvm-project/commit/ba373096e8ac83a7136fc44bc4e71a7bc53417a6
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
[ObjectYAML][ELF] Report incorrect offset to generate notes (#118741)
All notes in the note section must be correctly aligned, including the
first. The tool should refuse to generate notes if the section offset is
incorrect in this respect.
Commit: 1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
https://github.com/llvm/llvm-project/commit/1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/test/CoverageMapping/single-byte-counters.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
M llvm/test/tools/llvm-cov/branch-c-general.test
R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/branch-logical-mixed.test
R llvm/test/tools/llvm-cov/branch-macros.cpp
A llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
R llvm/test/tools/llvm-cov/branch-templates.cpp
A llvm/test/tools/llvm-cov/branch-templates.test
R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
R llvm/test/tools/llvm-cov/threads.c
A llvm/test/tools/llvm-cov/threads.test
Log Message:
-----------
Introduce SingleByteCoverage tests (w/yaml2obj) (#113114)
Restructure some tests to split into `%.test` and Inputs/%.c*`.
Add test actions with `yaml2obj` for single byte coverage. `FileCheck`
lines are:
- Relax to accept both counter values and single values `1`. A few line
counting are greater than `1` due to `llvm-profdata merge`. They will be
fixed by #110972.
- Suppress matching with `--check-prefixes=CHECK,BRCOV`, since the
current implementation of single byte doesn't emit any branch coverages.
They will be integrated to `CHECK` finally.
- Some tests are not unified but use dedicated `CHECK` lines for single
byte, since old format is different (esp. "partial fold"). They will be
unified when `Inputs` will be regenerated.
Introduce llvm/test/tools/llvm-cov/Inputs/yaml.makefile for convenience.
`%-single.yaml` and `%-single.proftext` are generated by it. It could be
used to regenerate other files.
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 378e1793379c9c63a4265ecf55c47308410ed25d
https://github.com/llvm/llvm-project/commit/378e1793379c9c63a4265ecf55c47308410ed25d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/Properties.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][Properties] Shorten "Property" to "Prop" in most places (#120368)
Since the property system isn't currently in heavy use, it's probably
the right time to fix a choice I made when expanding ODS property
support.
Specifically, most of the property subclasses, like OptionalProperty or
IntProperty, wrote out the word "Property" in full. The corresponding
classes in the Attribute hierarchy uses the short-form "Attr" in those
cases, as in OptionalAttr or DefaultValuedAttr.
This commit changes all those uses of "Property" to "Prop" in order to
prevent excessively verbose tablegen files that needlessly repeat the
full name of a core concept that can be abbreviated.
So, this commit renames all the FooProperty classes to FooProp, and
keeps the existing names as alias with a Deprecated<> on them to warn
people.
In addition, this commit updates the documentation around properties to
mention the constraint support.
Commit: 5db5dd7689b39c1c50f229f22e9d23b5475d51e1
https://github.com/llvm/llvm-project/commit/5db5dd7689b39c1c50f229f22e9d23b5475d51e1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
Log Message:
-----------
[mlir][NFC] Document predicate field on properties (#120975)
Commit: ac586fd204e92b76b1ee255342ba26a45a29a1d9
https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
A clang/test/Driver/uefi-defines.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Introduce a new UEFI target predefine. (#111719)
Add a `__UEFI__` predefine for UEFI target.
Co-authored-by: RossComputerGuy
Commit: dbae7176a6ecf558dc5e92016cdda387c9d74d66
https://github.com/llvm/llvm-project/commit/dbae7176a6ecf558dc5e92016cdda387c9d74d66
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Reapply "[llvm]Add a simple Telemetry framework" (#120769) (#121003)
This reverts commit 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3.
New changes:
- Use explicit overloads of write(<int types>)
- Fix link error due to missing dependency (lib/Support)
- Updated tests and docs
Commit: 275a27703ec9100a4984d1d0a366d50d3dc887ea
https://github.com/llvm/llvm-project/commit/275a27703ec9100a4984d1d0a366d50d3dc887ea
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
Log Message:
-----------
[Coverage][Single] Round Counters to boolean after evaluation (#110972)
Rounding in merging segments has been done after #75425.
Depends on: #113114
Commit: 93d4b1f7a72f366c1ea91b2d65991266053be8d9
https://github.com/llvm/llvm-project/commit/93d4b1f7a72f366c1ea91b2d65991266053be8d9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)
Reapplies commit edca1d9bad2 which was reverted in 34531cff638 while I
investigated bot failures, (e.g.
https://lab.llvm.org/buildbot/#/builders/137/builds/10791).
Commit 158a60051d2 should address the -check failures on the bots, which
were caused by checks running earlier under the concurrent linking
scheme before all files referenced by the checks had been fully linked.
This patch also fixes the -threads option failure by renaming the option
to -num-threads to avoid clashing with the ThreadCount cl::opt variable
defined in ThinLTOCodeGenerator.cpp.
Commit: 9ab5474e560292d15cb53ed94d248d7e5f54787d
https://github.com/llvm/llvm-project/commit/9ab5474e560292d15cb53ed94d248d7e5f54787d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Rename `ToVectorTy` to `toVectorTy` (NFC) (#120404)
This is for consistency with other helpers (and also follows the LLVM
naming conventions).
Commit: 9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
https://github.com/llvm/llvm-project/commit/9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
Log Message:
-----------
[Telemetry] Add missing virtual destructors (#121015)
Fixes warnings after #121003.
Commit: 030829a7e53fad0eab9b87b5dd49427e9fb13303
https://github.com/llvm/llvm-project/commit/030829a7e53fad0eab9b87b5dd49427e9fb13303
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
Log Message:
-----------
[SLP]Drop samesign flag if the vector node has reduced bitwidth
If the operands of the icmp instructions has reduced bitwidth after
MinBitwidth analysis, need to drop samesign flag to preserve correctness
of the transformation.
Fixes #120823
Commit: 0d6a584f69f07cfb900cdf6c83a10e872a5861f9
https://github.com/llvm/llvm-project/commit/0d6a584f69f07cfb900cdf6c83a10e872a5861f9
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Add an abstract layer to manipulate Data Dependenc… (#109918)
…e Graph
In MachinePipeliner, a DAG class is used to represent the Data
Dependence Graph. Data Dependence Graph generally contains cycles, so
it's not appropriate to use DAG classes. In fact, some "hacks" are used
to express back-edges in the current implementation. This patch adds a
new class to provide a better interface for manipulating dependencies.
Our approach is as follows:
- To build the graph, we use the ScheduleDAGInstrs class as it is,
because it has powerful functions and the current implementation depends
heavily on it.
- After the graph construction is finished (i.e., during scheduling), we
use the new class DataDependenceGraph to manipulate the dependencies.
Since we don't change the dependencies during scheduling, the new class
only provides functions to read them. Also, this patch is just a
refactoring, i.e., scheduling results should not change with or without
this patch.
Commit: 7d166fa38470a23f3134a3793b9236b2a5c68fcf
https://github.com/llvm/llvm-project/commit/7d166fa38470a23f3134a3793b9236b2a5c68fcf
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Correct the number of blocks when setting the grid to `*` (#121000)
We set the `gridX` argument of `_FortranACUFLaunchKernel` to `-1` when
`*` is passed to the grid parameter. We store it in one of `dim3`
members. However, `dim3` members are unsigned, so positive-value checks
we use later, such as `gridDim.x > 0`, are invalid. This PR utilizes the
original gird-size arguments to compute the number of blocks.
Commit: 2c95e60df53ba1a5765b3fad9e8ddaff70f21994
https://github.com/llvm/llvm-project/commit/2c95e60df53ba1a5765b3fad9e8ddaff70f21994
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
TelemetryTest.cpp: Suppress a warning in #121003 [-Wunused-private-field]
Commit: 7ec139ad4bc09857ab2b93926feef0d110071668
https://github.com/llvm/llvm-project/commit/7ec139ad4bc09857ab2b93926feef0d110071668
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Revert "Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)"
Caused random failures.
This reverts commit 93d4b1f7a72f366c1ea91b2d65991266053be8d9.
(llvmorg-20-init-16299-g93d4b1f7a72f)
Commit: 4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
https://github.com/llvm/llvm-project/commit/4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Revert "Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733" (#121029)
This still cause issue for device runtime build.
Commit: df12983610dfb4f33ab4fa406a267f39d4c65248
https://github.com/llvm/llvm-project/commit/df12983610dfb4f33ab4fa406a267f39d4c65248
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] build fix (#121032)
Place floating point environment calls under '#ifdef __USE_GNU'.
Commit: ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
https://github.com/llvm/llvm-project/commit/ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
Author: David Green <david.green at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
Log Message:
-----------
[ARM] Fix MVE incrementing gather offset calculation
The code was checking the gep ptr type as opposed to the gep source element
type in calculating the offset scale.
Fixes #120993
Commit: c84f5a9e00c02e6a4349846ed59ec85154b65e3f
https://github.com/llvm/llvm-project/commit/c84f5a9e00c02e6a4349846ed59ec85154b65e3f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[Github] Skip MIR files for undef check (#120919)
This patch skips checking files with a .mir extension for the presence
of undef. This was creating false positives that got reported on
discourse.
Commit: b2073fb9b9282c0f59861a137660f6a0782d7468
https://github.com/llvm/llvm-project/commit/b2073fb9b9282c0f59861a137660f6a0782d7468
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
Log Message:
-----------
[AArch64] Prefer SVE2.2 zeroing forms of certain instructions with an all-true predicate (#120595)
When the predicate of a destructive operation is known to be all-true,
for example
fabs z0.s, p0/m, z1.s
then the entire output register is written and we can use a zeroing
(instead of a merging) form of the instruction, for example
fabs z0.s, p0/z, z1.s
thus eliminate the dependency on the input-output destination register
without the need to insert a `movprfx`.
This patch complements (and in the case of
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb,
fixes a regression) the following:
https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11)
(https://github.com/llvm/llvm-project/pull/116830)
https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11)
(https://github.com/llvm/llvm-project/pull/116829)
https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11)
(https://github.com/llvm/llvm-project/pull/116828)
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11)
(https://github.com/llvm/llvm-project/pull/116259)
Commit: c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
https://github.com/llvm/llvm-project/commit/c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Reland "[LoopVectorizer] Add support for partial reductions" (#120721)
This re-lands the reverted #92418
When the VF is small enough so that dividing the VF by the scaling
factor results in 1, the reduction phi execution thinks the VF is scalar
and sets the reduction's output as a scalar value, tripping assertions
expecting a vector value. The latest commit in this PR fixes that by
using `State.VF` in the scalar check, rather than the divided VF.
---------
Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>
Commit: 10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
https://github.com/llvm/llvm-project/commit/10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn
Log Message:
-----------
[gn] port dbae7176a6ec (LLVMTelemetry)
Commit: 8e1cb96db84a70b2c803c28a359c8bb71395f35e
https://github.com/llvm/llvm-project/commit/8e1cb96db84a70b2c803c28a359c8bb71395f35e
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
Log Message:
-----------
[analyzer] Split alpha core Identical Expression tests (#119543)
Split the remnant test from PR #114715, "Remove alpha.core.IdenticalExpr
Checker" into seperate tests for misc-redundant-expression and
bugprone-branch-clone per review comment requests.
---------
Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Commit: 334a5766d7591bfaadf6990b3d8568c9688e22a5
https://github.com/llvm/llvm-project/commit/334a5766d7591bfaadf6990b3d8568c9688e22a5
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test
Log Message:
-----------
[llvm-objcopy] Add support of symbol modification flags for MachO (#120895)
This patch adds support of the following llvm-objcopy flags for MachO:
- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.
Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.
Fixes #120894
Commit: ffc7380ff4808fcc21350a39caf7f34073b41697
https://github.com/llvm/llvm-project/commit/ffc7380ff4808fcc21350a39caf7f34073b41697
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory.h
M libcxx/include/__ostream/basic_ostream.h
Log Message:
-----------
[libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049)
Commit: 2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
https://github.com/llvm/llvm-project/commit/2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/index.rst
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
Log Message:
-----------
[clang-tidy] support parameters file in command line (#120547)
Fixes: #103499
Commit: 6bafbc99b0df7d5554af63115d78d0d97065862a
https://github.com/llvm/llvm-project/commit/6bafbc99b0df7d5554af63115d78d0d97065862a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect (more poisnous) reduction chain
Commit: f0f8dab712967b8fca5fcca4d7338b1d25017634
https://github.com/llvm/llvm-project/commit/f0f8dab712967b8fca5fcca4d7338b1d25017634
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP]Check if the first reduced value requires freeze/swap, if it may be too poisonous
If several reduced values are combined and the first reduced value is
just the original reduced value of the bool logical op, need to freeze
it to prevent the propagation of the poison value.
Fixes #114905
Commit: 8dbb33762cfb8d8606d28a71293f437ddffee4af
https://github.com/llvm/llvm-project/commit/8dbb33762cfb8d8606d28a71293f437ddffee4af
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
Log Message:
-----------
[analyzer] Simplify CallEvent castArgToParamTypeIfNeeded (#120981)
I noticed recently that this code (that I wrote xD) uses the
`getRuntimeDefinition()` which isn't quite necessary for the simple task
this function was designed for.
Why would it be better not using this API here?
I'm experimenting with improving how virtual functions are inlined,
where depending on our ability of deducing the dynamic type of the
object we may end up with inaccurate type information. Such inaccuracy
would mean that we may have multiple runtime definitions. After that,
this code would become ambiguous.
To resolve this, I decided to refactor this and use a simpler - but
equivalent approach.
Commit: 0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
https://github.com/llvm/llvm-project/commit/0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix strict weak ordering criterion in comparators
Fixes #121019
Commit: 852feea820f3f8b2fc44c851cc3ce5fe9576fa64
https://github.com/llvm/llvm-project/commit/852feea820f3f8b2fc44c851cc3ce5fe9576fa64
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Propagate AssumptionCache where possible
Commit: 6e3631d0e3316394ff4eae2913013d323e685790
https://github.com/llvm/llvm-project/commit/6e3631d0e3316394ff4eae2913013d323e685790
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
[mlir][scf] Track replacements using a listener in TileAndFuse (#120999)
This PR makes TileAndFuse explicitly track replacements using a listener
instead of assuming that the results always come from the outer most
tiling loop. scf::tileUsingInterface can introduce merge operations
whose results are the actual replacements to use, instead of the outer
most loop results.
Commit: 2d038caeebc8c5e49915c0db7c7eb21116c71de2
https://github.com/llvm/llvm-project/commit/2d038caeebc8c5e49915c0db7c7eb21116c71de2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
Log Message:
-----------
[VPlan] Remove stray space when printing VPWidenCastRecipe.
printFlags() already takes care of printing a single space if there are
no flags. Remove the extra space when printing a recipe without flags.
Commit: 07d284d4ebffd58d4b2934769b4e11fedd0b106e
https://github.com/llvm/llvm-project/commit/07d284d4ebffd58d4b2934769b4e11fedd0b106e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
Log Message:
-----------
[SLP]Add cost estimation for gather node reshuffling
Adds cost estimation for the variants of the permutations of the scalar
values, used in gather nodes. Currently, SLP just unconditionally emits
shuffles for the reused buildvectors, but in some cases better to leave
them as buildvectors rather than shuffles, if the cost of such
buildvectors is better.
X86, AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 912998.00 913238.00 0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 203070.00 203102.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1396320.00 1396448.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1396320.00 1396448.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 309790.00 309678.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12477607.00 12470807.00 -0.1%
CINT2006/445.gobmk - extra code vectorized
MiBench/consumer-lame - small variations
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vectorized code
Benchmarks/Bullet - extra code vectorized
CFP2017rate/526.blender_r - extra vector code
RISC-V, sifive-p670, -O3+LTO
CFP2006/433.milc - regressions, should be fixed by https://github.com/llvm/llvm-project/pull/115173
CFP2006/453.povray - extra vectorized code
CFP2017rate/508.namd_r - better vector code
CFP2017rate/510.parest_r - extra vectorized code
SPEC/CFP2017rate - extra/better vector code
CFP2017rate/526.blender_r - extra vectorized code
CFP2017rate/538.imagick_r - extra vectorized code
CINT2006/403.gcc - extra vectorized code
CINT2006/445.gobmk - extra vectorized code
CINT2006/464.h264ref - extra vectorized code
CINT2006/483.xalancbmk - small variations
CINT2017rate/525.x264_r - better vectorization
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/115201
Commit: f2334c5919ec077e6a8deeaf43a5b5188baf0251
https://github.com/llvm/llvm-project/commit/f2334c5919ec077e6a8deeaf43a5b5188baf0251
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Make benchmark pinning actually work
When originally writing this feature up, I apparently completely forgot
to actually make the test exercise it and left an extra exit in the
function implementing the functionality without the appropriate
preprocessor macros around it, causing things to never work. This patch
should fix that.
Commit: 4b3d439e7e7b4e794e523caea9863d67ff8cf85f
https://github.com/llvm/llvm-project/commit/4b3d439e7e7b4e794e523caea9863d67ff8cf85f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
M llvm/test/MC/RISCV/Zawrs-valid.s
M llvm/test/MC/RISCV/Ztso.s
M llvm/test/MC/RISCV/compress-cjal.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/compress-rv32d.s
M llvm/test/MC/RISCV/compress-rv32f.s
M llvm/test/MC/RISCV/compress-rv32i.s
M llvm/test/MC/RISCV/compress-rv64i.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/corev/XCValu-valid.s
M llvm/test/MC/RISCV/corev/XCVmac-valid.s
M llvm/test/MC/RISCV/debug-valid.s
M llvm/test/MC/RISCV/deprecated-csr-names.s
M llvm/test/MC/RISCV/fixups-binary-expression.s
M llvm/test/MC/RISCV/fixups.s
M llvm/test/MC/RISCV/fp-default-rounding-mode.s
M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
M llvm/test/MC/RISCV/hypervisor-csr-names.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/insn_c.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/test/MC/RISCV/option-nopic.s
M llvm/test/MC/RISCV/option-pic.s
M llvm/test/MC/RISCV/option-pushpop.s
M llvm/test/MC/RISCV/option-rvc.s
M llvm/test/MC/RISCV/print-imm-hex.s
M llvm/test/MC/RISCV/priv-valid.s
M llvm/test/MC/RISCV/relocations.s
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-user-csr-names.s
M llvm/test/MC/RISCV/rv32c-aliases-valid.s
M llvm/test/MC/RISCV/rv32c-only-valid.s
M llvm/test/MC/RISCV/rv32dc-valid.s
M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.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-only-valid.s
M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv32zbb-only-valid.s
M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-valid.s
M llvm/test/MC/RISCV/rv32zfa-only-valid.s
M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
M llvm/test/MC/RISCV/rv32zmmul-invaild.s
M llvm/test/MC/RISCV/rv32zmmul-valid.s
M llvm/test/MC/RISCV/rv64-machine-csr-names.s
M llvm/test/MC/RISCV/rv64-user-csr-names.s
M llvm/test/MC/RISCV/rv64a-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-hints-valid.s
M llvm/test/MC/RISCV/rv64c-valid.s
M llvm/test/MC/RISCV/rv64d-aliases-valid.s
M llvm/test/MC/RISCV/rv64d-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
M llvm/test/MC/RISCV/rv64e-valid.s
M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
M llvm/test/MC/RISCV/rv64f-aliases-valid.s
M llvm/test/MC/RISCV/rv64f-valid.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/rv64ih-valid.s
M llvm/test/MC/RISCV/rv64m-valid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rv64zalasr-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-valid.s
M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv64zcb-valid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-valid.s
M llvm/test/MC/RISCV/rv64zdinx-valid.s
M llvm/test/MC/RISCV/rv64zfh-valid.s
M llvm/test/MC/RISCV/rv64zfinx-valid.s
M llvm/test/MC/RISCV/rv64zhinx-valid.s
M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-valid.s
M llvm/test/MC/RISCV/rva-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
M llvm/test/MC/RISCV/rvc-valid.s
M llvm/test/MC/RISCV/rvd-aliases-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvdc-aliases-valid.s
M llvm/test/MC/RISCV/rve-valid.s
M llvm/test/MC/RISCV/rvf-aliases-valid.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvih-valid.s
M llvm/test/MC/RISCV/rvk-user-csr-name.s
M llvm/test/MC/RISCV/rvm-valid.s
M llvm/test/MC/RISCV/rvv-user-csr-names.s
M llvm/test/MC/RISCV/rvv/aliases.s
M llvm/test/MC/RISCV/rvv/fothers.s
M llvm/test/MC/RISCV/rvv/freduction.s
M llvm/test/MC/RISCV/rvv/load.s
M llvm/test/MC/RISCV/rvv/others.s
M llvm/test/MC/RISCV/rvv/store.s
M llvm/test/MC/RISCV/rvv/zvlsseg.s
M llvm/test/MC/RISCV/rvzaamo-valid.s
M llvm/test/MC/RISCV/rvzabha-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
M llvm/test/MC/RISCV/rvzacas-valid.s
M llvm/test/MC/RISCV/rvzalasr-valid.s
M llvm/test/MC/RISCV/rvzalrsc-valid.s
M llvm/test/MC/RISCV/rvzbb-valid.s
M llvm/test/MC/RISCV/rvzcb-invalid.s
M llvm/test/MC/RISCV/rvzcb-valid.s
M llvm/test/MC/RISCV/rvzcmt-invalid.s
M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
M llvm/test/MC/RISCV/rvzcmt-valid.s
M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzdinx-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzfinx-valid.s
M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzhinx-valid.s
M llvm/test/MC/RISCV/rvzhinxmin-valid.s
M llvm/test/MC/RISCV/rvzihintntl-valid.s
M llvm/test/MC/RISCV/rvzihintpause-valid.s
M llvm/test/MC/RISCV/smctr-ssctr-valid.s
M llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/test/MC/RISCV/supervisor-csr-names.s
M llvm/test/MC/RISCV/user-csr-names.s
M llvm/test/MC/RISCV/xqcia-valid.s
M llvm/test/MC/RISCV/xqcics-valid.s
M llvm/test/MC/RISCV/xqcicsr-valid.s
M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
M llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/test/MC/RISCV/xqcisls-valid.s
M llvm/test/MC/RISCV/xsifive-valid.s
M llvm/test/MC/RISCV/xwchc-compress.s
M llvm/test/MC/RISCV/xwchc-valid.s
M llvm/test/MC/RISCV/zfa-double-invalid.s
M llvm/test/MC/RISCV/zfa-half-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
M llvm/test/MC/RISCV/zicfilp-invalid.s
M llvm/test/MC/RISCV/zicfilp-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
Log Message:
-----------
[test] Replace -riscv-no-alises with -M no-aliases
The new option from https://reviews.llvm.org/D103004 is preferred.
Commit: 24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
https://github.com/llvm/llvm-project/commit/24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
Log Message:
-----------
[llvm-exegesis][Docs] Add documentation on benchmark-process-cpu option
This patch adds documentation on the benchmark-process-cpu option. I
apparently did not add any documentation when originally implementing
the feature.
Commit: 48a6e51445d61101fa42ffbf9997e5d54a02fc18
https://github.com/llvm/llvm-project/commit/48a6e51445d61101fa42ffbf9997e5d54a02fc18
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Fix typo in f2334c5919ec077e6a8deeaf43a5b5188baf0251
This should have been in the original commit, but I somehow forgot to
run git add && git commit --amend --no-edit between making the change in
my editor, saving the file, and pushing the commit.
Commit: cd66c9b6a04689659348c0a3ff4c1205b1133fe9
https://github.com/llvm/llvm-project/commit/cd66c9b6a04689659348c0a3ff4c1205b1133fe9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/hwasan/CMakeLists.txt
M compiler-rt/lib/msan/CMakeLists.txt
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
Log Message:
-----------
[Ubsan][Driver] Remove UBSAN C++ runtime from other sanitizers (#121006)
Linking this runtime requires C++ ABI, which breaks -nostdlib++ builds.
However, UBSAN C++ runtime is only needed for CFI and VPTR checks.
Unblocks #120370.
Commit: 34f8573a514915222630cf21e8a0c901a25f4ca0
https://github.com/llvm/llvm-project/commit/34f8573a514915222630cf21e8a0c901a25f4ca0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
M clang/test/Driver/openmp-offload-gpu.c
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Reduction.cpp
M openmp/docs/ReleaseNotes.rst
Log Message:
-----------
[OpenMP] Use generic IR for the OpenMP DeviceRTL (#119091)
Summary:
We previously built this for every single architecture to deal with
incompatibility. This patch updates it to use the 'generic' IR that
`libc` and other projects use. Who knows if this will have any
side-effects, probably worth testing more but it passes the tests I
expect to pass on my side.
Commit: 970f65a98a681831e308860e7004e066f5152791
https://github.com/llvm/llvm-project/commit/970f65a98a681831e308860e7004e066f5152791
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/test/Preprocessor/predefined-win-macros.c
Log Message:
-----------
[Clang][MIPS] Create specific targets for MIPS PE/COFF (#121040)
Implement GNU and MSVC variants.
When using them, _WIN32 and _M_MRX000/_MIPS_ macros are correctly
defined.
Commit: 88d04be815bd289c691ab81061ac8a573ad15677
https://github.com/llvm/llvm-project/commit/88d04be815bd289c691ab81061ac8a573ad15677
Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[AArch64][docs] Add release notes for FUJITSU-MONAKA support (#120684)
Adds release notes for the FUJITSU-MONAKA support introduced in PR #118432.
These notes were missing from the original PR.
Commit: b5f0ec80d59d054617994f0de409c38fabc8c207
https://github.com/llvm/llvm-project/commit/b5f0ec80d59d054617994f0de409c38fabc8c207
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Remove redundant printing final in VPlan::execute (#121048)
Multiple prints will cause problems when testing ir-bb
Commit: ac1d560709d2ecfe83a98285d4a13afae6db4316
https://github.com/llvm/llvm-project/commit/ac1d560709d2ecfe83a98285d4a13afae6db4316
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M libcxx/docs/Hardening.rst
M libcxx/include/bitset
M libcxx/include/valarray
A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
Log Message:
-----------
[libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685)
Add a `valid-element-access` check to `valarray::operator[]` and
`bitset::operator[]`.
Commit: 56600c11add12aababdd313c43650facf2a0338f
https://github.com/llvm/llvm-project/commit/56600c11add12aababdd313c43650facf2a0338f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
Log Message:
-----------
MCAsmInfo: replace HLASM-specific variables with IsHLASM
HLASM is very different from the gas syntax. We don't expect other
targets to customize the differences. Unify the numerous variables.
Commit: 34f70007348d2d1a0e59fc0996e90a0b6fba1933
https://github.com/llvm/llvm-project/commit/34f70007348d2d1a0e59fc0996e90a0b6fba1933
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
Log Message:
-----------
[clang-tidy]link LLVMTargetParser (#121072)
Fix build issue introduced in #120547
Commit: d3846eca2061e6e9a8d654551153f7362c27b59a
https://github.com/llvm/llvm-project/commit/d3846eca2061e6e9a8d654551153f7362c27b59a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Transforms/sccp.mlir
Log Message:
-----------
[mlir] Guard sccp pass from crashing with different source type (#120656)
Vector::BroadCastOp expects the identical element type in folding. It
causes the crash if the different source type is given to the SCCP pass.
We need to guard the pass from crashing if the nonidentical element type
is given, but still compatible. (e.g. index vs integer type)
https://github.com/llvm/llvm-project/issues/120193
Commit: 1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
https://github.com/llvm/llvm-project/commit/1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Log Message:
-----------
[ubsan] Remove UBSAN_CAN_USE_CXXABI (#121082)
It's should be enough to provide weak implementation.
Fixes solaris and android linking after #121006.
Commit: a1328c077c9bae5c3b3cb952fe817c4881569cbc
https://github.com/llvm/llvm-project/commit/a1328c077c9bae5c3b3cb952fe817c4881569cbc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/tests/CMakeLists.txt
Log Message:
-----------
[ubsan] Fix android build
Broken by #121006.
Commit: 6a7687c455125f6597a9719227a0efcb7f71e572
https://github.com/llvm/llvm-project/commit/6a7687c455125f6597a9719227a0efcb7f71e572
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/cmake/modules/AddMLIRPython.cmake
Log Message:
-----------
[mlir][python] Support `CLANG_CL` (#121075)
Commit: 141c544c03702ac7c50522373ad781ede3685e0a
https://github.com/llvm/llvm-project/commit/141c544c03702ac7c50522373ad781ede3685e0a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Skip line splices when sorting C++ includes (#120680)
Fixes #109864.
Commit: 5d81b1490022d04eb8862791fbcb25018a6860e3
https://github.com/llvm/llvm-project/commit/5d81b1490022d04eb8862791fbcb25018a6860e3
Author: Pranav Kant <prka at google.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[clang-tidy][bazel] Fix #120547
Commit: 25bb6592c974aed8702767cad4a64de9b5c60aed
https://github.com/llvm/llvm-project/commit/25bb6592c974aed8702767cad4a64de9b5c60aed
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCAsmInfo: replace AIX-specific variables with IsAIX
AIX assembly is very different from the gas syntax. We don't expect
other targets to share these differences. Unify the numerous,
essentially AIX-specific variables.
Commit: 32962f2b77c4298f9ef58182581edf56c76ac685
https://github.com/llvm/llvm-project/commit/32962f2b77c4298f9ef58182581edf56c76ac685
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
Log Message:
-----------
[ubsan] Try to fix Windows
Commit: e3846c0fecb5992110788be18cd04f70103bc778
https://github.com/llvm/llvm-project/commit/e3846c0fecb5992110788be18cd04f70103bc778
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Fix missing SHLIB definition in standalone builds (#120907)
Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by
`configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that
would otherwise be unable to find MLIR's runtime shared libraries (e.g.
`libmlir_runner_utils.so`). The logic is copied verbatim from Clang.
Commit: 6b471b30d7dbce589af16b39f9eb960195a8cd02
https://github.com/llvm/llvm-project/commit/6b471b30d7dbce589af16b39f9eb960195a8cd02
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Fix unittests in standalone builds (#120910)
Fix the logic used to run unit tests to account for `llvm_gtest` targets
being installed, since 91b3ca39667b6341a8c1983a1467fae14b58318b. This
involves removing a rule that would cause a duplicate `llvm_gtest`
target being created, and updates the method for determining whether
unittests can be run to checking whether the target is present, rather
than the source directory (that is no longer actually necessary).
Commit: 9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
https://github.com/llvm/llvm-project/commit/9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Do not add dependencies on llvm tools in standalone builds (#120911)
Since LLVM tools are installed system-wide, adding dependencies on them
is unnecessary. Furthermore, it is problematic for multilib builds,
where the tools are only built once, for the native ABI, and therefore
are not listed in CMake files for non-native ABIs.
Commit: 319b89197348b7cad1215e235bdc7b5ec8f9b72c
https://github.com/llvm/llvm-project/commit/319b89197348b7cad1215e235bdc7b5ec8f9b72c
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
Log Message:
-----------
MCAsmInfo: remove unused DwarfSectionSizeRequired
Commit: 74496b03f7db43caae4c3bda79379623a4657a00
https://github.com/llvm/llvm-project/commit/74496b03f7db43caae4c3bda79379623a4657a00
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/hwasan/CMakeLists.txt
Log Message:
-----------
[asan][hwasan] Link RTUbsan_cxx into shared runtime
There is no shared version RTUbsan_cxx.
Fix android after #121006.
Commit: 2d3d62d77e2d011c9dbdb12732aca3070efc83ca
https://github.com/llvm/llvm-project/commit/2d3d62d77e2d011c9dbdb12732aca3070efc83ca
Author: Ivan Aksamentov <ivan.aksamentov at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
Log Message:
-----------
[flang] fix: split ifndef for CHECK and CHECK_MSG (#114707)
Resolves https://github.com/llvm/llvm-project/issues/114703
I think it's the best practice that each macro has it's own `ifndef`
check and this way the build issue is resolved for me.
I also find the names of these macro a bit too generic - an easy recipe
for conflicts. In my case, the error was likely caused by something else
defining `CHECK` but not `CHECK_MSG`, so likely these `CHECK` and
`CHECK_MSG` weren't actually working at all because the result of
`ifndef` is always false.
As a definitive fix, perhaps it makes sense to rename them to something
more specific, e.g. `FLANG_CHECK` and `FLANG_CHECK_MSG`.
Commit: c29536b0336586b2ed7bafedf82c9f4e254cfaa6
https://github.com/llvm/llvm-project/commit/c29536b0336586b2ed7bafedf82c9f4e254cfaa6
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
R llvm/test/TableGen/ContextlessPredicates.td
R llvm/test/TableGen/DefaultOpsGlobalISel.td
R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-setcc.td
R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
R llvm/test/TableGen/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
A llvm/test/TableGen/GlobalISelEmitter/Flags.td
A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
A llvm/test/TableGen/GlobalISelEmitter/immarg.td
A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/setcc.td
A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
R llvm/test/TableGen/GlobalISelEmitterFlags.td
R llvm/test/TableGen/GlobalISelEmitterHwModes.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
R llvm/test/TableGen/GlobalISelEmitterSubreg.td
R llvm/test/TableGen/GlobalISelEmitterVariadic.td
R llvm/test/TableGen/gisel-physreg-input.td
R llvm/test/TableGen/immarg-predicated.td
R llvm/test/TableGen/immarg.td
Log Message:
-----------
[test] Group GlobalISelEmitter tests under a subdirectory (#121093)
Remove extra command line arguments while here.
Commit: c870632ef6162fbdccaad8cd09420728220ad344
https://github.com/llvm/llvm-project/commit/c870632ef6162fbdccaad8cd09420728220ad344
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CharacterTest.cpp
Log Message:
-----------
[flang] Fix some memory leaks (#121050)
This commit fixes some but not all memory leaks in Flang. There are
still 91 tests that fail with ASAN.
- Use `mlir::OwningOpRef` instead of `std::unique_ptr`. The latter does
not free allocations of nested blocks.
- Pass `ModuleOp` as value instead of reference.
- Add few missing deallocations in test cases and other places.
Commit: 2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
https://github.com/llvm/llvm-project/commit/2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
Author: Alexey Gerenkov <alexey at espressif.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
A clang/lib/Basic/Targets/Xtensa.cpp
A clang/lib/Basic/Targets/Xtensa.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[Clang][Xtensa] Add Xtensa target. (#118008)
This PR implements support for generic Xtensa target in CLang.
Co-authored-by: Andrei Safronov <safronov at espressif.com>
Commit: ae435adabba2f137fe50749c0581157a89019b5e
https://github.com/llvm/llvm-project/commit/ae435adabba2f137fe50749c0581157a89019b5e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn build] Port 2d6e7c2b359d
Commit: 5fb57131b744c52f74919f9487f4a9fa69f455fb
https://github.com/llvm/llvm-project/commit/5fb57131b744c52f74919f9487f4a9fa69f455fb
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/negative.ll
Log Message:
-----------
[DFAJumpThreading] Don't bail early after encountering unpredictable values (#119774)
After #96127 landed, mshockwave reported that the pass was no longer
threading SPEC2006/perlbench.
After 96127 we started bailing out in `getStateDefMap` and rejecting the
transformation because one of the unpredictable values was coming from
inside the loop. There was no fundamental change in that function except
that we started calling `Loop->contains(IncomingBB)` instead of
`LoopBBs.count(IncomingBB)`. After some analysis I came to the
conclusion that even before 96127 we would reject the transformation if
we provided large enough limits on the path traversal (large enough so
that LoopBBs contained blocks corresponding to that unpredictable
value).
In this patch I changed `getStateDefMap` to not terminate early on
finding an unpredictable value, this is because
`getPathsFromStateDefMap`, later, actually has checks to ensure that the
final list of paths only have predictable values. As a result we can now
partially thread functions like `negative6` in the tests that have some
predictable paths.
This patch does not really have any compile-time impact on the test
suite without `-dfa-early-exit-heuristic=false` (early exit is enabled
by default).
Change-Id: Ie1633b370ed4a0eda8dea52650b40f6f66ef49a3
Commit: 676b48d1ccd8223bb0bd889cce13e6faecd20c6d
https://github.com/llvm/llvm-project/commit/676b48d1ccd8223bb0bd889cce13e6faecd20c6d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/Parse/Parser.cpp
M clang/test/CXX/basic/basic.link/p3.cpp
A clang/test/Modules/pr121066.cpp
Log Message:
-----------
[C++20] [Modules] Diagnose if import statement lakcs a semicolon
Close https://github.com/llvm/llvm-project/issues/121066
Now we will diagnose that the import statement lacks a semicolon as
expected. Note that the original "not found" diagnose message remains.
I meant to remove that, but the test shows it might be more complex
process (other unexpected diagnose shows up). Given the importance of
the issue, I chose to not dig deeper.
Commit: 7226b39926b5df6452d13e83f61e35a71dbe448d
https://github.com/llvm/llvm-project/commit/7226b39926b5df6452d13e83f61e35a71dbe448d
Author: xilinbai-intel <xilin.bai at intel.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
Log Message:
-----------
[X86] Support vectorized llvm.fmaximum/fminimum.vXf16 lowering (#120988)
Support the lowering of vectorized FMINIMUM and FMAXIMUM to vminph and
vmaxph on types v8f16, v16f16 when AVX512FP, AVX512VL features are
present, and on type v32f16 when AVX512FP is present.
Commit: 4884b1b08a13af430620e7104aa58710a70f618c
https://github.com/llvm/llvm-project/commit/4884b1b08a13af430620e7104aa58710a70f618c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)
Commit: 3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
https://github.com/llvm/llvm-project/commit/3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt.ll
Log Message:
-----------
[SelectOpt] Optimise big select groups in the latch of a non-inner loop to branches (#119728)
Loop latches often have a loop-carried dependency, and if they have
several SelectLike instructions in one select group, it is usually
profitable to convert it to branches rather than keep selects.
Commit: 6d7cf5206f1238139b7a967dea555514a62f7d83
https://github.com/llvm/llvm-project/commit/6d7cf5206f1238139b7a967dea555514a62f7d83
Author: adam-bzowski <adam.bzowski at intel.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
Log Message:
-----------
[ValueTracking] Improve KnownBits for signed min-max clamping (#120576)
A signed min-max clamp is the sequence of smin and smax intrinsics,
which constrain a signed value into the range: smin <= value <= smax.
The patch improves the calculation of KnownBits for a value subjected to
the signed clamping.
Commit: 8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
https://github.com/llvm/llvm-project/commit/8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
Log Message:
-----------
[clang][RISCV] Remove unneeded RISCV tuple code (#121024)
These code are no longer needed because we've modeled tuple type using
target extension type rather than structure of scalable vectors.
Commit: dd9c5c118230fc9adde668f2c96323b73a677400
https://github.com/llvm/llvm-project/commit/dd9c5c118230fc9adde668f2c96323b73a677400
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)
Commit: ff97daadcd05ad3373f8398948d2962e88a0f61b
https://github.com/llvm/llvm-project/commit/ff97daadcd05ad3373f8398948d2962e88a0f61b
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
Revert "[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)" (#121113)
This reverts commit dd9c5c118230fc9adde668f2c96323b73a677400.
Commit: 70965ef259a161a6e9ccfb8bd841dd2246c56c37
https://github.com/llvm/llvm-project/commit/70965ef259a161a6e9ccfb8bd841dd2246c56c37
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx20-decomposition.cpp
Log Message:
-----------
[Clang] Prevent assignment to captured structured bindings inside immutable lambda (#120849)
For structured bindings, a call to getCapturedDeclRefType(...) was
missing. This PR fixes that behavior and adds the related diagnostics
too.
This fixes https://github.com/llvm/llvm-project/issues/95081.
Commit: d6e435362d5984052531a425a1e4c7e594a8503e
https://github.com/llvm/llvm-project/commit/d6e435362d5984052531a425a1e4c7e594a8503e
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
Log Message:
-----------
[Xtensa] Fix Code Density test. (#121073)
Fix dissambler test for Code Density feature.
Commit: cea738bc9a9e4835f9a076145953ed1369dcad7d
https://github.com/llvm/llvm-project/commit/cea738bc9a9e4835f9a076145953ed1369dcad7d
Author: DaPorkchop_ <daporkchop at daporkchop.net>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
Log Message:
-----------
[SimplifyCFG] Replace unreachable switch lookup table holes with poison (#94990)
As discussed in #94468, this causes switch lookup table entries which
are unreachable to be poison instead of filling them with a value from
one of the reachable cases.
---------
Co-authored-by: DianQK <dianqk at dianqk.net>
Commit: 6f72d28dd94c84b28275dbe61f5b2021df752e55
https://github.com/llvm/llvm-project/commit/6f72d28dd94c84b28275dbe61f5b2021df752e55
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Don't copy dead def from a sub-instruction to the root (#121094)
Sub-instruction can have a def with the same name as a def in a
top-level instruction.
Previously this could result in both defs copied to the instruction
being built.
Commit: a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
https://github.com/llvm/llvm-project/commit/a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Refactor node renderers emission (#121071)
Split importExplicitUseRenderer into several smaller functions and
add a bunch of TODOs and FIXMEs.
This is an NFCI change to simplify review of future functional changes.
Pull Request: https://github.com/llvm/llvm-project/pull/121071
Commit: a72bfc5a1e5381012213df36389524f74ef7c8a3
https://github.com/llvm/llvm-project/commit/a72bfc5a1e5381012213df36389524f74ef7c8a3
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/test/tools/llvm-dlltool/machine-opt.def
Log Message:
-----------
[llvm-dlltool] Handle MIPS R4000 architecture (#114621)
Commit: 03093b62d4c9ff43b0f9422db1ff97e5050d7664
https://github.com/llvm/llvm-project/commit/03093b62d4c9ff43b0f9422db1ff97e5050d7664
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M polly/CMakeLists.txt
Log Message:
-----------
[Polly] Fix gtest logic for standalone builds (#121114)
Fix the gtest logic to account for llvm_gtest being installed as part of
LLVM, as of 91b3ca39667b6341a8c1983a1467fae14b58318b.
Commit: abd91023447d146f36357326fc97c458b49e40af
https://github.com/llvm/llvm-project/commit/abd91023447d146f36357326fc97c458b49e40af
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
A libc/cmake/modules/compiler_features/check_cfloat128.cpp
A libc/cmake/modules/compiler_features/check_cfloat16.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/complex/cimagf128.h
M libc/src/complex/cimagf16.h
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
M libc/src/complex/cprojf128.h
M libc/src/complex/cprojf16.h
M libc/src/complex/crealf128.h
M libc/src/complex/crealf16.h
M libc/src/complex/generic/cimagf128.cpp
M libc/src/complex/generic/cimagf16.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/crealf128.cpp
M libc/src/complex/generic/crealf16.cpp
M libc/test/src/complex/cimagf128_test.cpp
M libc/test/src/complex/cimagf16_test.cpp
M libc/test/src/complex/conjf128_test.cpp
M libc/test/src/complex/conjf16_test.cpp
M libc/test/src/complex/cprojf128_test.cpp
M libc/test/src/complex/cprojf16_test.cpp
M libc/test/src/complex/crealf128_test.cpp
M libc/test/src/complex/crealf16_test.cpp
Log Message:
-----------
[libc][complex] add cfloat16 and cfloat128 compiler flags (#121140)
Proper fix for the temporary fix in #114696
Commit: 9f75b6664f1eaec1517f6cb620b34100b7b54857
https://github.com/llvm/llvm-project/commit/9f75b6664f1eaec1517f6cb620b34100b7b54857
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc][complex] fix buildbot errors (#121141)
Fix buildbot errors due to #121140
Commit: cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
https://github.com/llvm/llvm-project/commit/cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang] Add translation support for MutexInOutSet and InOutSet (#120715)
Implementatoin details:
Both Mutexinoutset and Inoutset is recognized as flag=0x4
and 0x8 respectively, the flags is set to `kmp_depend_info` and
passed as argument to `__kmpc_omp_task_with_deps` runtime call
Commit: 698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
https://github.com/llvm/llvm-project/commit/698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
Author: Hongren Zheng <i at zenithal.me>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/docs/TargetLLVMIR.md
Log Message:
-----------
[mlir][docs] Add C example for C-compatible wrapper for LLVM IR (#120955)
`TargetLLVMIR` documentation introduced the C-compatible wrapper
function for a MLIR function and ways to generate it, but did not
demonstrate the corresponding C function signature for them.
The C function signature is not obvious, in that
* `MemrefDescriptor` should be passed as _pointer_.
+ For example, MLIR function could return a new Descriptor, so pointer
is a must.
+ Surprisingly, directly pass the struct, by C convention, is also a
pointer so some function will work, but that is implicit and
error-prone.
* for `@foo() -> memref<>`, the return type becomes the first argument
in `_mlir_ciface_foo(%arg0: !llvm.ptr)`.
+ This is described in
https://github.com/llvm/llvm-project/blob/f70ab7d909d6861c7eec5ab40679bde16ab826c6/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L110-L167
Especially by code `size_t argOffset = resultStructType ? 1 : 0;` saying
the actual argument starts at 1 when result is a struct (memref)
Users using the wrong signature will get incorrect results. LLVM
discourse has some example of it
*
https://discourse.llvm.org/t/how-to-compile-and-link-with-other-c-c-programs/4835/10
*
https://discourse.llvm.org/t/segmentation-fault-on-memref-store/80286/3
* https://discourse.llvm.org/t/memref-store-storing-a-memref-load/80307
Cc @ftynse for relevent commit history. Cc @charitha22 and @Wheest from
discourse post.
Commit: 1b476ecdcf4b544af1436341fc923c0b73793cbe
https://github.com/llvm/llvm-project/commit/1b476ecdcf4b544af1436341fc923c0b73793cbe
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
Log Message:
-----------
[lldb] A few more pieces towards OpenBSD support (#121051)
Commit: 889215a30ed60474e573f9632d1fa362dfa1b04e
https://github.com/llvm/llvm-project/commit/889215a30ed60474e573f9632d1fa362dfa1b04e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP]Followup fix for the poisonous logical op in reductions
If the VectorizedTree still may generate poisonous value, but it is not
the original operand of the reduction op, need to check if Res still the
operand, to generate correct code.
Fixes #114905
Commit: c21a3776c94eef46ea43192c6d0b8df6258b6489
https://github.com/llvm/llvm-project/commit/c21a3776c94eef46ea43192c6d0b8df6258b6489
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Log Message:
-----------
[GlobalIsel] [Utility] [NFC] Added isConstantOrConstantSplatVectorFP to handle float constants. (#120935)
Needed for #120104
Commit: 4a92c27f9d29d065156647f9bcc44a8418c98efa
https://github.com/llvm/llvm-project/commit/4a92c27f9d29d065156647f9bcc44a8418c98efa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Remove check for LLT when emitting renderers (#121144)
Types used in the destination DAG of a pattern should not matter for
GlobalISel. All necessary checks are emitted in the form of matchers
when traversing the source DAG.
In particular, the check prevented importing patterns containing iPTR in
the middle of the destination DAG.
This reduces the number of skipped patterns on Mips and RISCV:
```
Mips 1270 -> 1212 (-58)
RISCV 42165 -> 42088 (-77)
```
Most of these patterns are for atomic operations.
Commit: d21f300f06d56a46e96d1e594522ab0ac362f074
https://github.com/llvm/llvm-project/commit/d21f300f06d56a46e96d1e594522ab0ac362f074
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Fix incorrect argument type of m_Type (#121074)
m_Type is supposed to extract the underlying value type (equality type
comparison is covered by m_SpecificType), therefore it should take a LLT
reference as its argument rather than passing by value.
This was originated from de256478e61d6488db751689af82d280ba114a6f, which
refactored out a good chunk of LLT reference usages. And it's just so
happen that (for some reasons) no one is using m_Type and no test was
covering it.
Commit: 831e1ac12e766ae8c94d8d735d8f32c8d319e576
https://github.com/llvm/llvm-project/commit/831e1ac12e766ae8c94d8d735d8f32c8d319e576
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Add m_GUMin and m_GUMax (#121068)
And make all unsigned and signed versions of min/max matchers
commutative, since we already made a precedent of m_GAdd that is
commutative by default.
Commit: 8906b7be918be653d3c5f2ef3dbd923561603969
https://github.com/llvm/llvm-project/commit/8906b7be918be653d3c5f2ef3dbd923561603969
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
Log Message:
-----------
Enable custom alloc-like ops in `promoteBufferResultsToOutParams` (#120288)
In `buffer-results-to-out-params`, when `hoist-static-allocs` option is
enabled the pass was looking for `memref.alloc`s in order to attempt to
avoid copies when it can. Which makes it not extensible to external ops
that have allocation like properties. This patch simply changes
`memref::AllocOp` to `AllocationOpInterface` in the check to enable for
any allocation op.
Moreover, for function call updates, we enable setting an allocation
function callback in `BufferResultsToOutParamsOpts` to allow users to
emit their own alloc-like op.
Commit: 6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
https://github.com/llvm/llvm-project/commit/6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
Author: Franklin <zhangfenglei at huawei.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-exceptions.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/linux-version.S
Log Message:
-----------
[BOLT] Detect Linux kernel version if the binary is a Linux kernel (#119088)
This makes it easier to handle differences (e.g. of exception table
entry size) between versions of Linux kernel
Commit: 62c39d773422fd7193758c325085c864a67a55cc
https://github.com/llvm/llvm-project/commit/62c39d773422fd7193758c325085c864a67a55cc
Author: Davide Italiano <dcci at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
Log Message:
-----------
[BOLT/docs] The support for macro-op fusion was removed. (#121158)
Update the documentation accordingly.
Commit: 776ac21c7f95e092759ba39e5533aad90d63c86e
https://github.com/llvm/llvm-project/commit/776ac21c7f95e092759ba39e5533aad90d63c86e
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
Log Message:
-----------
[mlir] minor documentation fix in GPUTransformOps.td (#121157)
- do not refer to handles as `PDLOperation`, this is an outdated and
incorrect vision of what they are based on the type used in the early
days;
- use backticks around inline code.
Commit: b59a0a6f404a82b71802eceaf3addb94ce728ce9
https://github.com/llvm/llvm-project/commit/b59a0a6f404a82b71802eceaf3addb94ce728ce9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][Driver] Define %{filecheck} as suggested on #121081 (#121159)
We will introduce `--implicit-check-not=libclang_rt` in #121081,
this let us to avoid repeating the flag.
Commit: 377755c87e9d5494237f0e2e88f70886b5107342
https://github.com/llvm/llvm-project/commit/377755c87e9d5494237f0e2e88f70886b5107342
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)
These are not Windows tests
Commit: 2dfe1b404213c6676b9ac55cb89c0a709a712208
https://github.com/llvm/llvm-project/commit/2dfe1b404213c6676b9ac55cb89c0a709a712208
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove stray space when printing reverse vector pointer.
printFlags() takes care of printing the required space, remove the extra
printed space between flags and operands.
Commit: 7ecbeace0192963482beb6520706ef98ae4d8c0d
https://github.com/llvm/llvm-project/commit/7ecbeace0192963482beb6520706ef98ae4d8c0d
Author: hill <hill at hilll.dev>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/clang-tidy/index.rst
Log Message:
-----------
[clang-tidy] fix incorrect argument names in documentation for ExtraArgs and ExtraArgsBefore (#120963)
Commit: ca28fcc6fce516129d117f5f5a14ba7f54a045d8
https://github.com/llvm/llvm-project/commit/ca28fcc6fce516129d117f5f5a14ba7f54a045d8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)"
Revert #121160.
It fails Android targets on Windows.
This reverts commit 377755c87e9d5494237f0e2e88f70886b5107342.
Commit: 8e9fda1c1140e067c5344c61df56c34167296f17
https://github.com/llvm/llvm-project/commit/8e9fda1c1140e067c5344c61df56c34167296f17
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Reapply "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)" (#121162)
This reverts commit ca28fcc6fce516129d117f5f5a14ba7f54a045d8.
Android targets pass on Windows buildbots, but fails on buildkite
https://buildkite.com/llvm-project/github-pull-requests/builds/132244
Re-apply #121160
Commit: 7deaed975eecf78797649b731506478f3d6ccd59
https://github.com/llvm/llvm-project/commit/7deaed975eecf78797649b731506478f3d6ccd59
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Reduce binary size for baremetal targets (#121164)
For `math` functions we must choose size optimized implementations.
Removing framepointers will also help with binary size savings.
Commit: 5d529c32cc2d5342a0d183881b6c3023435ed5d3
https://github.com/llvm/llvm-project/commit/5d529c32cc2d5342a0d183881b6c3023435ed5d3
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
A llvm/test/tools/llvm-lib/Inputs/mips.ll
A llvm/test/tools/llvm-lib/infer-machine.test
A llvm/test/tools/llvm-lib/machine-opt.test
Log Message:
-----------
[llvm-lib] Handle MIPS architecture (#121007)
- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs
Commit: 6b53a9546c56c805eaf86ac564083bf846570312
https://github.com/llvm/llvm-project/commit/6b53a9546c56c805eaf86ac564083bf846570312
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith] DCE `getPredicateByName` (#121165)
Commit: 9d3f9f47e6e630b8308562297757e0911be03a18
https://github.com/llvm/llvm-project/commit/9d3f9f47e6e630b8308562297757e0911be03a18
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
R llvm/test/tools/llvm-lib/Inputs/mips.ll
R llvm/test/tools/llvm-lib/infer-machine.test
R llvm/test/tools/llvm-lib/machine-opt.test
Log Message:
-----------
Revert "[llvm-lib] Handle MIPS architecture (#121007)"
This reverts commit 5d529c32cc2d5342a0d183881b6c3023435ed5d3.
Commit: 47e1c87a613d7453b6d5addc2e23e26bea10c0ce
https://github.com/llvm/llvm-project/commit/47e1c87a613d7453b6d5addc2e23e26bea10c0ce
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll
Log Message:
-----------
[VPlan] Set debug location for VPReduction/VPWidenIntrinsicRecipe. (#120054)
This patch add missing debug location for
VPReduction/VPWidenIntrinsicRecipe.
Commit: 179344d9a85934ff83bed1f657c91d4c1ba12460
https://github.com/llvm/llvm-project/commit/179344d9a85934ff83bed1f657c91d4c1ba12460
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[MC] Move AIX specific function to PPCAsmPrinter
https://reviews.llvm.org/D95518 used switchSectionNoPrint,
which seems buggy as .ll -> .s -> .o will be different from
.ll -> .o, but this change intends to be a NFC.
Commit: c6ea7fb2f85346eb786f2690355db830c455bfc0
https://github.com/llvm/llvm-project/commit/c6ea7fb2f85346eb786f2690355db830c455bfc0
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRDevices.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
R llvm/test/CodeGen/AVR/branch-relaxation-long.ll
Log Message:
-----------
[AVR] Wrap out-of-bounds relative jumps (#118015)
This commit improves the relative jumps, so that we are able to emit
`rjmp` that wraps around the memory boundary on devices with 8KB flash.
Commit: f51db95e064c97860910d1ca17a8c29eb23d8623
https://github.com/llvm/llvm-project/commit/f51db95e064c97860910d1ca17a8c29eb23d8623
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][Driver] Use global --implicit-check-not=libclang_rt (#121081)
To simplify and improve precision of the test.
Commit: 8230b8a60e8763a90b85a83cfd4ceeac1174ac84
https://github.com/llvm/llvm-project/commit/8230b8a60e8763a90b85a83cfd4ceeac1174ac84
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
Log Message:
-----------
test/llvm-cov/branch-noShowBranch.test: Align `CHECK-NOT`s to branch-c-general.test's in #113114
Commit: 3d9f9684a56ff049b5d5454bdb73f406c5af3959
https://github.com/llvm/llvm-project/commit/3d9f9684a56ff049b5d5454bdb73f406c5af3959
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
Log Message:
-----------
llvm-cov: Split out `sumRegions()` from `FunctionCoverageSummary::get()`. NFC.
Commit: cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
https://github.com/llvm/llvm-project/commit/cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Add more tests to rv*xtheadba.ll. NFC
XTheadba has similarities with Zba and shares some of the same
codegen code and has similar isel patterns. This patch makes the
testing more similar.
Commit: 814902a03a2bb4114fd61c05e0e599fc98d61dbb
https://github.com/llvm/llvm-project/commit/814902a03a2bb4114fd61c05e0e599fc98d61dbb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Fix XTheadba patterns broken since cfc574a6cd13d2d0b77110b579c5cfcec744129f.
Adding an OperandTransform to CSImm12MulBy4 and CSImm12MulBy8 for
Zba broke these patterns. They should have been changed in the same,
but we lacked sufficient testing.
Commit: 5807d0efb963ab591a1ae569b538724299d6acdc
https://github.com/llvm/llvm-project/commit/5807d0efb963ab591a1ae569b538724299d6acdc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Drive] Don't match libclang_rt.builtins
Fixes fuchsia bots.
Commit: bca055f2ac075d43f6f316927947b2a493f93bdb
https://github.com/llvm/llvm-project/commit/bca055f2ac075d43f6f316927947b2a493f93bdb
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M lldb/source/Host/posix/MainLoopPosix.cpp
Log Message:
-----------
[lldb] AIX Changes for MainLoop polling (#120378)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Dropping changes for MainLoop polling in AIX, as `ppoll` is not
supported in AIX currently.
This change is part of the couple of minimal changes required to build a
minimal `lldb` binary on AIX
Commit: 2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
https://github.com/llvm/llvm-project/commit/2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
Log Message:
-----------
[mlir][sparse_tensor] Migrate `SparseIterationToScf.cpp` to dialect conversion (#121054)
Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.
Commit: 1ead15512872b1f9eec0b69a7d8283e752a747e6
https://github.com/llvm/llvm-project/commit/1ead15512872b1f9eec0b69a7d8283e752a747e6
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
Log Message:
-----------
[lldb] clang-format changes for some basic #if _AIX changes (#120978)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added clang-format changes for changes related to some base #if _AIX
changes:
- https://github.com/llvm/llvm-project/pull/120979
Commit: ac8bb7353a7fe79cd99b3c041d5a153517c31abc
https://github.com/llvm/llvm-project/commit/ac8bb7353a7fe79cd99b3c041d5a153517c31abc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
Log Message:
-----------
Attributor: Do not treat pointer vectors as valid for unsupported attributes (#121149)
The memory attributes, noalias, and dereferenceable do not support
vectors of pointers according to the IR verifier, so don't report
them as valid.
Commit: 223521b13e7465bc177f43e22de526b777d6ff74
https://github.com/llvm/llvm-project/commit/223521b13e7465bc177f43e22de526b777d6ff74
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageViewOptions.h
M llvm/tools/llvm-cov/SourceCoverageView.h
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
llvm-cov: Introduce `--binary-counters` (#120841)
In `llvm-cov show`, this option rounds counters (line, branch) to
`[1,0]` at rendering. This will be useful when the number of counts
doesn't interest but **Covered/uncoverd** does.
Commit: aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
https://github.com/llvm/llvm-project/commit/aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/tools/llvm-cov/SourceCoverageView.h
Log Message:
-----------
[Coverage] Move SingleByteCoverage out of CountedRegion (#110966)
`SingleByteCoverage` is not per-region attribute at least.
Move it into `CoverageData` since it comes from `profdata`.
Depends on: #120841
Commit: ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
https://github.com/llvm/llvm-project/commit/ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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/RISCV/interleaved-accesses.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
[LV]: Teach LV to recursively (de)interleave. (#89018)
Currently available intrinsics are only ld2/st2, which don't support interleaving factor > 2.
This patch teaches the LV to use ld2/st2 recursively to support high
interleaving factors.
Commit: 5ad4213ef48253a6be1f9880f17555fc36efdd19
https://github.com/llvm/llvm-project/commit/5ad4213ef48253a6be1f9880f17555fc36efdd19
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir][Linalg] Allow PartialReductionOpInterface ops in tile_reduction_using_for (#120118)
The API used internally expects PartialReductionOpInterface. This patch
allows any operation implementing this interface to use this transform
op (instead of just LinalgOp).
Commit: 9ab16d49c99966f33900d68ed5370f19927ca52c
https://github.com/llvm/llvm-project/commit/9ab16d49c99966f33900d68ed5370f19927ca52c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][IntRangeInference] Fix `arith.ceildivsi` range inference when it includes `INT_MIN` (#121062)
There is a special case in `arith.ceildivsi` range inference for
handling `lhs.smin()==INT_MIN`, but when `lhs` is not a single value, it
can cause it to skip entire negative range. Add `lhs.smin() + 1` check
to handle it.
Commit: 07ba4575250b692b28d0fd5105e028b9f4c8e07f
https://github.com/llvm/llvm-project/commit/07ba4575250b692b28d0fd5105e028b9f4c8e07f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add dump of combined entries, where applicable
Commit: 91bbebc7e118cceae1fc0e349de08094a3cd2fe7
https://github.com/llvm/llvm-project/commit/91bbebc7e118cceae1fc0e349de08094a3cd2fe7
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
Log Message:
-----------
[mlir][scf] Add getPartialResultTilePosition to PartialReductionOpInterface (#120465)
This PR adds a new interface method to PartialReductionOpInterface which
allows it to query the result tile position for the partial result.
Previously, tiling the reduction dimension with
SplitReductionOuterReduction when the result has transposed parallel
dimensions would produce wrong results.
Other fixes that were needed to make this PR work:
- Instead of ad-hoc logic to decide where to place the new reduction
dimensions in the partial result based on the iteration space, the
reduction dimensions are always appended to the partial result tensor.
- Remove usage of PartialReductionOpInterface in Mesh dialect. The
implementation was trying to just get a neutral element, but ended up
trying to use PartialReductionOpInterface for it, which is not right. It
was also passing the wrong sizes to it.
Commit: 8caeb2e0c2fb8a5f1689c11775b81ceee76de958
https://github.com/llvm/llvm-project/commit/8caeb2e0c2fb8a5f1689c11775b81ceee76de958
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Always create initial blocks in constructor (NFC).
Update C++ unit tests to use VPlanTestBase to construct initial VPlan,
using a constructor that creates the VP blocks directly in the
constructor.
Split off from and in preparation for
https://github.com/llvm/llvm-project/pull/120918.
Commit: 1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
https://github.com/llvm/llvm-project/commit/1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
Author: kleines Filmröllchen <28656157+kleinesfilmroellchen at users.noreply.github.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
Log Message:
-----------
[clangd] Allow specifying what headers are always included via "" or <> (#67749)
Projects can now add config fragments like this to their .clangd:
```yaml
Style:
QuotedHeaders: "src/.*"
AngledHeaders: ["path/sdk/.*", "third-party/.*"]
```
to force headers inserted via the --header-insertion=iwyu mode matching
at least one of the regexes to have <> (AngledHeaders) or ""
(QuotedHeaders) around them, respectively. For other headers (and in
conflicting cases where both styles have a matching regex), the current
system header detection remains.
Fixes https://github.com/clangd/clangd/issues/1247
Commit: 4d8f9594b20ae7063863e948907f4f8ef8ce07bd
https://github.com/llvm/llvm-project/commit/4d8f9594b20ae7063863e948907f4f8ef8ce07bd
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Revert "Reland "[LoopVectorizer] Add support for partial reductions" (#120721)"
This reverts commit c858bf620c3ab2a4db53e84b9365b553c3ad1aa6 as it casuse optimization crash on -O2, see https://github.com/llvm/llvm-project/pull/120721#issuecomment-2563192057
Commit: 815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
https://github.com/llvm/llvm-project/commit/815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
Log Message:
-----------
[CGData][Merger] Avoid merging the attached call target (#121030)
For global function merging, the target of the arc-attached call must be
a constant and cannot be parameterized.
This change adds a check to bypass this case in `canParameterizeCallOperand()`.
Commit: b2fd0a7a7065658ab4a3355399978523c1370615
https://github.com/llvm/llvm-project/commit/b2fd0a7a7065658ab4a3355399978523c1370615
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Fix implicit-check-not regex (#121221)
We need to exclude more than builtins, but it's
tricky with FileCheck regex. So switching to list
of libs we want to check.
Commit: 48bf0a9457fd60d0872d9b9b4804a95c833a72e1
https://github.com/llvm/llvm-project/commit/48bf0a9457fd60d0872d9b9b4804a95c833a72e1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add `dependentScopeDeclRefExpr` matcher (#120996)
Fixes https://github.com/llvm/llvm-project/issues/120937
Commit: 092966a44d1793e6bd53c191efeb5a5425fecde3
https://github.com/llvm/llvm-project/commit/092966a44d1793e6bd53c191efeb5a5425fecde3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Make regex stricter (#121243)
Follow up to #121221.
Commit: edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
https://github.com/llvm/llvm-project/commit/edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Migrate away from PointerUnion::get
Commit: 39e8953f892a51816aa1fde70829a61d7e756a51
https://github.com/llvm/llvm-project/commit/39e8953f892a51816aa1fde70829a61d7e756a51
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Move a local variable to a later point (#121250)
We don't need `E` before.
Commit: 5bec2b71b44ddff44aa4d8534b58a5561389bb1d
https://github.com/llvm/llvm-project/commit/5bec2b71b44ddff44aa4d8534b58a5561389bb1d
Author: 4m4n-x-B4w4ne <125849251+4m4n-x-B4w4ne at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp
Log Message:
-----------
Added options to readability-implicit-bool-conversion (#120087)
As given in the issue #36323 , I added two new options in the
clang-tools-extra/clan-tidy/readibility/ImplicitBoolConversionCheck.cpp
and header file.
I have also written new test cases to test these new options in
test/readibility directory.
Commit: 537d4e9d21be1f5e40a780f570663b04572765af
https://github.com/llvm/llvm-project/commit/537d4e9d21be1f5e40a780f570663b04572765af
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
R clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp
Log Message:
-----------
Revert "Added options to readability-implicit-bool-conversion (#120087)"
This reverts commit 5bec2b71b44ddff44aa4d8534b58a5561389bb1d.
(llvmorg-20-init-16425-g5bec2b71b44d)
This broke tests.
Commit: 811e1f4661bca4a2b5c93d30f54c3aa338f175e9
https://github.com/llvm/llvm-project/commit/811e1f4661bca4a2b5c93d30f54c3aa338f175e9
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/test/CoverageMapping/single-byte-counters.cpp
Log Message:
-----------
clang/test/CoverageMapping/single-byte-counters.cpp: Align to the final form to fill linefeeds.
Commit: ee6f10d37232627137ce97388a5eb21b90907bfb
https://github.com/llvm/llvm-project/commit/ee6f10d37232627137ce97388a5eb21b90907bfb
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] Make `MCDCRecord::Folded` as `[false/true]` with BitVector. NFC. (#121190)
For merging `MCDCRecord`s, `Folded` is expected to be promoted as
"Non-folded".
Commit: a21f13bde2564a691a2da49adb773816f6c4e06b
https://github.com/llvm/llvm-project/commit/a21f13bde2564a691a2da49adb773816f6c4e06b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.h
Log Message:
-----------
llvm-cov: Refactor CoverageSummaryInfo. NFC. (#121189)
- Let subfunctions return `CoverageInfo` objects w/o accumulating
reference values.
- Introduce `CoverageDataSummary` for handling `CoverageData`-oriented
metrics.
Commit: 52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
https://github.com/llvm/llvm-project/commit/52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed TLSDESC (#113813)
Depends on #120010
`TLSDESC_AUTH_CALLSEQ` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.
```
adrp x0, :tlsdesc_auth:var
ldr x16, [x0, #:tlsdesc_auth_lo12:var]
add x0, x0, #:tlsdesc_auth_lo12:var
blraa x16, x0
(TPIDR_EL0 offset now in x0)
```
Only SelectionDAG ISel is supported.
Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.
Commit: f68dbbbd57dd0947730300d1e827ad16c2dfffb5
https://github.com/llvm/llvm-project/commit/f68dbbbd57dd0947730300d1e827ad16c2dfffb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] Add test coverage for #121110
Commit: f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
https://github.com/llvm/llvm-project/commit/f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - only accept exact matching cmp predicates
m_SpecificCmp allowed equivalent predicate+flags which don't necessarily work after being folded from "shuffle (cmpop), (cmpop)" into "cmpop (shuffle), (shuffle)"
Fixes #121110
Commit: 8e965d89c9624c184c48806dc39d50209265f0f8
https://github.com/llvm/llvm-project/commit/8e965d89c9624c184c48806dc39d50209265f0f8
Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
A clang/test/Analysis/PR121201.cpp
Log Message:
-----------
[analyzer] Fix zext assertion failure in loop unrolling (#121203)
The current implementation of APInt extension in the code can trigger an
assertion failure when the `zext` function is called with a target width
smaller than the current bit width. For example:
```cpp
if (InitNum.getBitWidth() != BoundNum.getBitWidth()) {
InitNum = InitNum.zext(BoundNum.getBitWidth());
BoundNum = BoundNum.zext(InitNum.getBitWidth());
}
```
This logic does not guarantee that the `zext` target width is always
greater than or equal to the current bit width, leading to potential
crashes.
Expected Behavior:
- Ensure InitNum and BoundNum are extended to the maximum of their respective widths.
- Prevent assertion failures by enforcing correct `zext` usage.
Fixes #121201
Commit: 7e749d4fb7327ce2da307ed020c02a07e8279992
https://github.com/llvm/llvm-project/commit/7e749d4fb7327ce2da307ed020c02a07e8279992
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
Log Message:
-----------
[mlir][bufferization]-Add ControlBuildSubsetExtractionFn to TensorEmptyElimination (#120851)
This PR Adds a `ControlBuildSubsetExtractionFn` to the tensor empty
elimination util, This will control the building of the subsets
extraction of the
`SubsetInsertionOpInterface`.
This control function returns the subsets extraction value that will
replace the `emptyTensorOp` use
which is being consumed by a specefic user (which the
util expects to eliminate it).
The default control function will stay like today's behavior without any
additional changes.
Commit: e86b68ff560aaf5fc723eaa8d8418892b2456e12
https://github.com/llvm/llvm-project/commit/e86b68ff560aaf5fc723eaa8d8418892b2456e12
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Add support for typeid pointers (#121251)
Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the typeid
expression.
Commit: 3496e96f78c46f5b94c1892f97c470fd89293795
https://github.com/llvm/llvm-project/commit/3496e96f78c46f5b94c1892f97c470fd89293795
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Add a missing break
Commit: 088d636136a42d738e15f2f0a85e1b77a8f2de35
https://github.com/llvm/llvm-project/commit/088d636136a42d738e15f2f0a85e1b77a8f2de35
Author: adam-bzowski <adam.bzowski at intel.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
Log Message:
-----------
[ValueTracking] Fix a bug for signed min-max clamping (#121206)
Correctly handle the case where the clamp is over the full range.
This fixes an issue introduced in #121206.
Commit: 4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
https://github.com/llvm/llvm-project/commit/4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc] DCE unimplemented decls (#121253)
Commit: f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
https://github.com/llvm/llvm-project/commit/f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCF.h
Log Message:
-----------
[mlir][scf] DCE unimplemented decls in TDs (#121237)
More dead code in headers...
Commit: 8e329593313bb792592529ee825a52683108df99
https://github.com/llvm/llvm-project/commit/8e329593313bb792592529ee825a52683108df99
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream initial attribute support (#121069)
Upstream several ClangIR-specific MLIR attributes, in particular
attributes for integer, floating-point, and null pointer constants.
These are the first ClangIR attributes to be upstreamed, so
infrastructure changes are included, such as the table-gen file
`CIRAttrs.td`.
Attributes can be used as the initial values for global variables. The
existing automated test global-var-simple.cpp includes initial values
for some of the global variables in the test.
Commit: cb1ad985b53c87b53974e37bba60129acb294f0d
https://github.com/llvm/llvm-project/commit/cb1ad985b53c87b53974e37bba60129acb294f0d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
Log Message:
-----------
[mlir][llvmir] implement missing attrs `getChecked` (#121248)
Commit: de294c968bf292794ca9f0a6a481d3dff3bcc2eb
https://github.com/llvm/llvm-project/commit/de294c968bf292794ca9f0a6a481d3dff3bcc2eb
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
M compiler-rt/test/profile/lit.cfg.py
Log Message:
-----------
[profile] Enable testing Continuous mode on Linux (#121238)
Based on #115987, with the introduction of `REQUIRES: continuous-mode`.
Also Linux assumes `runtime_reloc`.
FIXME: image-with-no-counters.c is still excluded.
Commit: 02e8972c378bf60cc16a85815d29faafdbad7180
https://github.com/llvm/llvm-project/commit/02e8972c378bf60cc16a85815d29faafdbad7180
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test" again (#121280)
This reverts #121162, which was a reapply of the previous revert earlier
in #121160 - The change blatantly breaks tests on windows and it isn't
clear why it's being made.
Note that I needed to add the optional .exe suffix to a few more check
lines that were added as a follow up.
This reverts commit 8e9fda1c1140e067c5344c61df56c34167296f17.
Commit: 1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
https://github.com/llvm/llvm-project/commit/1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
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
A llvm/test/MC/RISCV/xqciac-invalid.s
A llvm/test/MC/RISCV/xqciac-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciac (Load-Store Adress calculation) extension (#121037)
This extension adds 3 instructions that perform load-store address
calculation.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
---------
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: 66dd7e63d8a1860c11f3b9acf011cad4e18f0195
https://github.com/llvm/llvm-project/commit/66dd7e63d8a1860c11f3b9acf011cad4e18f0195
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/PostRASchedulerList.cpp
Log Message:
-----------
Simplify enablePostRAScheduler and test enablePostRAScheduler() early
Commit: ff29f38c02eb425a6809dec26f221cea3d99b57c
https://github.com/llvm/llvm-project/commit/ff29f38c02eb425a6809dec26f221cea3d99b57c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/test/COFF/guard-warnings.s
A lld/test/COFF/loadcfg-short.test
A lld/test/COFF/loadcfg-size.test
A lld/test/COFF/loadcfg-uninitialized.test
Log Message:
-----------
[LLD][COFF] Store and validate load config in SymbolTable (#120324)
Improve diagnostics for invalid load configurations.
Commit: e45e091b90896023584b303539bd8ae16d8932b3
https://github.com/llvm/llvm-project/commit/e45e091b90896023584b303539bd8ae16d8932b3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
Log Message:
-----------
[clang-tidy] swap cppcoreguidelines-narrowing-conversions and bugprone-narrowing-conversions (#120245)
According to #116591.
> Coding guidelines should "cherry-pick" (and posddsibly
configure/harden/make more strict) base checks.
We should move narrowing conversion to bugprone and keep alias in
cppcoreguidelines
Commit: 412e30b2274a134c01c2140ac7c7579be70f0896
https://github.com/llvm/llvm-project/commit/412e30b2274a134c01c2140ac7c7579be70f0896
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: Add 1:N op replacement test case (#121271)
This commit adds a test case that performs two back-to-back 1:N
replacements: `(i16) -> (i16, i16) -> ((i16, i16), (i16, i16))`. For the
moment, 3 argument materializations are inserted. In the future (when
the conversion value mapping supports 1:N), a single target
materialization will be inserted. Addresses a
[comment](https://github.com/llvm/llvm-project/pull/116524#discussion_r1894629711)
in #116524.
Commit: b34ed25dd5c74abcb46872cbaab34b91e27a0bda
https://github.com/llvm/llvm-project/commit/b34ed25dd5c74abcb46872cbaab34b91e27a0bda
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
Log Message:
-----------
[clang-tidy][NFC] add link libs for bugprone module
Fixed bug issue introduced in #120245
Commit: 7144325109353f9153780f93ec5a8fee8fdc0927
https://github.com/llvm/llvm-project/commit/7144325109353f9153780f93ec5a8fee8fdc0927
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Prepare both load configs on ARM64X (#120326)
Commit: db7123fbbc530587941ea3c78666103233282120
https://github.com/llvm/llvm-project/commit/db7123fbbc530587941ea3c78666103233282120
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/Inputs/loadconfig-arm64.s
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Use EC symbol table for CHPE metadata (#120328)
Copy CHPE metadata pointer from EC load config to native configuration.
Commit: 6cbc64ed922cc69bc292d394ba5c681fa309f404
https://github.com/llvm/llvm-project/commit/6cbc64ed922cc69bc292d394ba5c681fa309f404
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Fix IMPLICIT_DEF operand being added as a use (#121283)
`IMPLICIT_DEF` has one operand that is a def, not a use.
Commit: 01c8cd664a9bea23a49c863a39351949ac11a4fd
https://github.com/llvm/llvm-project/commit/01c8cd664a9bea23a49c863a39351949ac11a4fd
Author: David Green <david.green at arm.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
Log Message:
-----------
[AArch64][GlobalISel] Full reverse shuffles. (#119083)
A full shuffle reverse needs to use EXT+REV64. This adds handling for more types than SDAG so long as the mask is isReverseMask to make the patterns simpler.
Commit: 08e2c15a287df132ca2186f2d56669219a7ed8a1
https://github.com/llvm/llvm-project/commit/08e2c15a287df132ca2186f2d56669219a7ed8a1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[mlir][python] disable nanobind leak warnings (#121099)
Commit: 8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
https://github.com/llvm/llvm-project/commit/8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Log Message:
-----------
[mlir][shape] DCE unimplemented extra decl (#121275)
Commit: c3ef6d469d89accd152c216ed8644783fb221c90
https://github.com/llvm/llvm-project/commit/c3ef6d469d89accd152c216ed8644783fb221c90
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
Log Message:
-----------
Move two LLVM_DEBUG banners after skippers
so that they don't show in -debug output when they are not run.
Commit: 7f3428d3ed71d87a2088b77b6cab9f3d86544234
https://github.com/llvm/llvm-project/commit/7f3428d3ed71d87a2088b77b6cab9f3d86544234
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.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/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.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.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/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Compute induction end values in VPlan. (#112145)
Use createDerivedIV to compute IV end values directly in VPlan, instead
of creating them up-front.
This allows updating IV users outside the loop as follow-up.
Depends on https://github.com/llvm/llvm-project/pull/110004 and
https://github.com/llvm/llvm-project/pull/109975.
PR: https://github.com/llvm/llvm-project/pull/112145
Commit: d2e71c92b86895781172c3320e6ce828b1df5127
https://github.com/llvm/llvm-project/commit/d2e71c92b86895781172c3320e6ce828b1df5127
Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
A libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
R libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc] Improve qsort (#120450)
Commit: 6a769638b840385fa691f514e3764cc899f64570
https://github.com/llvm/llvm-project/commit/6a769638b840385fa691f514e3764cc899f64570
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Remove XTHeadba pattern that is covered by DAG combine.
Mul by 200 is converted to multiple RISCVISD::SHL_ADD in ExpandMul
Commit: c557ce9f27feccdbda3588555fcb3303d1f81935
https://github.com/llvm/llvm-project/commit/c557ce9f27feccdbda3588555fcb3303d1f81935
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Use add_like_non_imm12 in XTheadba patterns to match Zba.
Commit: 82ffdf317ee52e8679d58361dfe39930600839d1
https://github.com/llvm/llvm-project/commit/82ffdf317ee52e8679d58361dfe39930600839d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Swap rs1 and rs2 names in TH_ADDSL patterns. NFC
The names should match the operand order of the final instruction.
I assume these patterns were somewhat copied from Zba where rs1 is
shifted, but for th.addsl, rs2 is shifted.
Commit: 0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
https://github.com/llvm/llvm-project/commit/0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
R libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
A libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
Revert "[libc] Improve qsort" (#121303)
Reverts llvm/llvm-project#120450
Commit: 6230f1ba945a1bc795a34cd438c6df3b987f359f
https://github.com/llvm/llvm-project/commit/6230f1ba945a1bc795a34cd438c6df3b987f359f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add `dependentNameType` AST matcher (#121263)
Fixes: https://github.com/llvm/llvm-project/issues/121240
Commit: 9efa7d7af3decfc5223963b19e1b85cacac48084
https://github.com/llvm/llvm-project/commit/9efa7d7af3decfc5223963b19e1b85cacac48084
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
Log Message:
-----------
Remove -print-lsr-output in favor of --stop-after=loop-reduce
Pull Request: https://github.com/llvm/llvm-project/pull/121305
Commit: 49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
https://github.com/llvm/llvm-project/commit/49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
Log Message:
-----------
[NFC][Clang] Auto generate check lines for `clang/test/CodeGenCXX/matrix-vector-bit-int.cpp`
Commit: b53866fec80d8676705409140b8ed2147ec44fad
https://github.com/llvm/llvm-project/commit/b53866fec80d8676705409140b8ed2147ec44fad
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
Log Message:
-----------
[LoongArch] Modify expanding code sequence for PseudoLA_TLS_LE (#119696)
Before this commit, PseudoLA_TLS_LE for normal/medium code model expand
normally to:
```
lu12i.w $rd, %le_hi20(sym)
ori $rd, $rd, %le_lo12(sym)
```
This commit changes the result to:
```
lu12i.w $rd, %le_hi20_r(sym)
add.w/d $rd, $rd, $tp, %le_add_r(sym)
addi.w/d $rd, $rd, %le_lo12_r(sym)
```
This aims to be optimized by linker relaxation in the future.
This commit makes no change to PseudoLA_TLS_LE in large code model.
Commit: 91c5de7fb8f95132043ed08056e58238383cfcb9
https://github.com/llvm/llvm-project/commit/91c5de7fb8f95132043ed08056e58238383cfcb9
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Fix the broken bazel build for clang-tidy after e45e091b90896023584b303539bd8ae16d8932b3
Commit: 486ec4bd7466cda444a7da6386a1bbb2db89a33f
https://github.com/llvm/llvm-project/commit/486ec4bd7466cda444a7da6386a1bbb2db89a33f
Author: Galen Elias <gelias at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
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/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add `AllowShortNamespacesOnASingleLine` option (#105597)
This fixes #101363 which is a resurrection of a previously opened but
never completed review: https://reviews.llvm.org/D11851
The feature is to allow code like the following not to be broken across
multiple lines:
```
namespace foo { class bar; }
namespace foo { namespace bar { class baz; } }
```
Code like this is commonly used for forward declarations, which are
ideally kept compact. This is also apparently the format that
include-what-you-use will insert for forward declarations.
Also, fix an off-by-one error in `CompactNamespaces` code. For nested
namespaces with 3 or more namespaces, it was incorrectly compacting
lines which were 1 or two spaces over the `ColumnLimit`, leading to
incorrect formatting results.
Commit: 998bdae7f5ce8c5aa31b376592c9693fc95f02e3
https://github.com/llvm/llvm-project/commit/998bdae7f5ce8c5aa31b376592c9693fc95f02e3
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/utils/mlgo-utils/CMakeLists.txt
Log Message:
-----------
[MLGO] Only configure tests with LLVM_INCLUDE_TESTS (#121293)
This allows downstream customers to remove all test directories and save
quite some space when only building with LLVM_INCLUDE_TESTS=OFF.
Commit: 39e93eee76ab86c9892540e2d4ad881c41ad54d4
https://github.com/llvm/llvm-project/commit/39e93eee76ab86c9892540e2d4ad881c41ad54d4
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
Log Message:
-----------
[TOSA] Handle dialect check more efficiently (#120960)
Commit: 60d20603e43a53b1d495d199ea020c3a56a6866f
https://github.com/llvm/llvm-project/commit/60d20603e43a53b1d495d199ea020c3a56a6866f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
Log Message:
-----------
[mlir][xegpu] DCE decl in TD (#121249)
Commit: 16d19aaedf347f452c22c7254934753b19803d5d
https://github.com/llvm/llvm-project/commit/16d19aaedf347f452c22c7254934753b19803d5d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
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/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Manage created blocks directly in VPlan. (NFC) (#120918)
This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.
The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.
This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.
PR: https://github.com/llvm/llvm-project/pull/120918
Commit: 50a457d9e89142e89a9b66de5c23c515b50d1f96
https://github.com/llvm/llvm-project/commit/50a457d9e89142e89a9b66de5c23c515b50d1f96
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Add getOperandInfo for saturating signed multiply (#120351)
These instructions are covered by the existing tests. We don't add them to
isSupported because of VXSAT. This decision was made in #120358.
Commit: ff936ce62bda2f9148575caae527cc4c6ab282a5
https://github.com/llvm/llvm-project/commit/ff936ce62bda2f9148575caae527cc4c6ab282a5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/test/Driver/hip-device-libs.hip
Log Message:
-----------
[Clang][Driver][AMDGPU] Add missing space in missing device-libs error message (#121335)
Before/After:
> cannot find ROCm device **libraryfor** ABI version 6
> cannot find ROCm device **library for** ABI version 6
Commit: 42dfaa15a60cea6cd75a2efb419aa2c206d2a127
https://github.com/llvm/llvm-project/commit/42dfaa15a60cea6cd75a2efb419aa2c206d2a127
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
Log Message:
-----------
[clang-tidy] add depercation warning for non-whitelisted global options (#121057)
We plan to depercate `StrictMode` and `IgnoreMacros` global options
after 2 major versions and support local options only for them.
This patch introduces the depercation warning.
Commit: 79af7bdd4e415aa8a94263a4507b51862fba882f
https://github.com/llvm/llvm-project/commit/79af7bdd4e415aa8a94263a4507b51862fba882f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add `AllElementTypesMatch` trait for `tosa.transpose` (#120964)
This PR adds `AllElementTypesMatch` trait for `tosa.transpose` to ensure
output tensor of same type as the input tensor. Fixes #119364.
Commit: b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
https://github.com/llvm/llvm-project/commit/b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
Log Message:
-----------
[DAG] Don't allow implicit truncation in extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) fold
Limits #117900 to only fold when scalar_to_vector doesn't perform implicit truncation, as the scaled shift calculation doesn't currently account for this - this can be addressed in a future update.
Fixes #121306
Commit: c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
https://github.com/llvm/llvm-project/commit/c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
A mlir/utils/pygments/README.md
A mlir/utils/pygments/mlir_lexer.py
Log Message:
-----------
[mlir] add a simple pygments lexer (#120942)
This enables syntax highlighting of MLIR using the Pygments package in
Python, which is in turn usable from LaTeX via the minted package.
Commit: a74f825a7acec4962bb4c172da7ed0028f7b4d44
https://github.com/llvm/llvm-project/commit/a74f825a7acec4962bb4c172da7ed0028f7b4d44
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Add m_DeferredReg/Type (#121218)
This pattern does the same thing as m_SpecificReg/Type except the value
it matches against origniated from an earlier pattern in the same
mi_match expression.
This patch also changes how commutative patterns are handled: in order
to support m_DefferedReg/Type, we always have to run the LHS-pattern
before the RHS one.
Commit: c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
https://github.com/llvm/llvm-project/commit/c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Add additional tests with induction users.
Adds test coverage of post-inc IV users with different opcodes.
Commit: a77d119f76c45561f86528b27cf391c61d1ad69f
https://github.com/llvm/llvm-project/commit/a77d119f76c45561f86528b27cf391c61d1ad69f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Remove redundant types from TableGen patterns (NFC) (#120986)
These types in the output dag of a Pat do not impact the generated
matcher code at all. Removing them makes for more concise and readable
code.
Commit: af83093933ca73bc82c33130f8bda9f1ae54aae2
https://github.com/llvm/llvm-project/commit/af83093933ca73bc82c33130f8bda9f1ae54aae2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands
As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.
This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.
Pulled out of #120984
Commit: 65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
https://github.com/llvm/llvm-project/commit/65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Log Message:
-----------
[sanitizer] Fix type in some Min() calls (#119248)
This is a follow-up to 6dec33834d1fd89f16e271dde9607c1de9554144 and
#116957 and #119114.
Commit: accd4a4ad5ec7a8682dc701fd7072610d40cc436
https://github.com/llvm/llvm-project/commit/accd4a4ad5ec7a8682dc701fd7072610d40cc436
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
Log Message:
-----------
[LLDB][Minidump] Make workaround for the Dynamic loader issue (#120166)
In #119598 my recent TLS feature seems to break crashpad symbols. I have
a few ideas on how this is happening, but for now as a mitigation I'm
checking if the Minidump was LLDB generated, and if so leveraging the
dynamic loader.
Commit: d9111f19d2ea53d8ce105b3d09425394ccf37969
https://github.com/llvm/llvm-project/commit/d9111f19d2ea53d8ce105b3d09425394ccf37969
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
Log Message:
-----------
[mlir][bufferization]-Refactor findValueInReverseUseDefChain to accept opOperand (#121304)
Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.
Commit: fb365ac86c8032e65586b0eb055a7f1646304f89
https://github.com/llvm/llvm-project/commit/fb365ac86c8032e65586b0eb055a7f1646304f89
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][linalg] DCE unimplemented extra decl (#121272)
Commit: 9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
https://github.com/llvm/llvm-project/commit/9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/tysan/CMakeLists.txt
Log Message:
-----------
[TYSan][CMake] CMake build fixes (#121224)
TYSan CMake build follows patterns used by other sanitizers, but there's
also a number of issues, like referring to undefined variables, which
breaks the build in some cases (such as cross-compiling). This change
addresses the issues.
Commit: 5373ed0e79c3eaf8a11a0fd747aa80556f203211
https://github.com/llvm/llvm-project/commit/5373ed0e79c3eaf8a11a0fd747aa80556f203211
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M compiler-rt/test/fuzzer/noasan-strcmp.test
Log Message:
-----------
[fuzzer][test] Disable noasan-strcmp test for AArch64
This patch disables the `noasan-strcmp.test` for AArch64 Linux as it
consistently fails on the buildbot machine while passing on other
AArch64 Linux systems.
We have seen similar issues on noasan-strncmp.test in past which had
random failures on certain machines/environments.
Following buildbot is failing in both check stage1 and stage2:
https://lab.llvm.org/buildbot/#/builders/121/builds/711
Commit: b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
https://github.com/llvm/llvm-project/commit/b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Check IR generated for both interleaving and vectorizing in test.
Currently the tests would in some cases would only check the vectorized
IR, but not the interleaved IR, if they are different.
Commit: 08f77241c0d90737f1818b948978876a0822be32
https://github.com/llvm/llvm-project/commit/08f77241c0d90737f1818b948978876a0822be32
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
Log Message:
-----------
[clang-tidy][doc] mention smart ptr in bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField option (#121316)
Commit: d5a96eb125eaf661f7f9aad4cd184973fe750528
https://github.com/llvm/llvm-project/commit/d5a96eb125eaf661f7f9aad4cd184973fe750528
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
Revert af83093933ca73bc82c33130f8bda9f1ae54aae2 "[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands"
Reports of hung builds, but I don't have time to investigate at the moment.
Commit: 332d2647ff128af166f5b0f235c723888c3cd793
https://github.com/llvm/llvm-project/commit/332d2647ff128af166f5b0f235c723888c3cd793
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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/RISCV/interleaved-accesses.ll
R llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
Revert "[LV]: Teach LV to recursively (de)interleave. (#89018)"
This reverts commit ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a.
This breaks LLVM build on AArch64 SVE Linux buildbots
https://lab.llvm.org/buildbot/#/builders/143/builds/4462
https://lab.llvm.org/buildbot/#/builders/17/builds/4902
https://lab.llvm.org/buildbot/#/builders/4/builds/4399
https://lab.llvm.org/buildbot/#/builders/41/builds/4299
Commit: 28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
https://github.com/llvm/llvm-project/commit/28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/truncxfhf2.c
A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
Log Message:
-----------
Add truncxfhf2 with tests to compiler-rt (#120372)
Fixes #105181
Commit: 70c9152f99818ffd0342260ae12d709268031235
https://github.com/llvm/llvm-project/commit/70c9152f99818ffd0342260ae12d709268031235
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
Log Message:
-----------
[libc] Fix non-calls to cpp::is_complex_type_same (#121257)
Some uses were not actually calls, just references to the name.
Commit: 0897373f1a329a7a02f8ce3c501a05d2f9c89390
https://github.com/llvm/llvm-project/commit/0897373f1a329a7a02f8ce3c501a05d2f9c89390
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Clang][test] Relax checking for libclang_rt.asan.so and libclang_rt.asan_static.a on arm android. (#121361)
This fixes test breakage on clang bots. See comment
https://github.com/llvm/llvm-project/pull/121081#issuecomment-2565933062
Commit: 9abcca5e25296aea49288ad63901f9e0a332dad4
https://github.com/llvm/llvm-project/commit/9abcca5e25296aea49288ad63901f9e0a332dad4
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/docs/dev/header_generation.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/full_cross_build.rst
R libc/hdrgen/CMakeLists.txt
R libc/hdrgen/class_implementation/classes/enumeration.py
R libc/hdrgen/class_implementation/classes/function.py
R libc/hdrgen/class_implementation/classes/macro.py
R libc/hdrgen/class_implementation/classes/object.py
R libc/hdrgen/class_implementation/classes/type.py
R libc/hdrgen/gpu_headers.py
R libc/hdrgen/header.py
R libc/hdrgen/tests/expected_output/test_header.h
R libc/hdrgen/tests/input/test_small.h.def
R libc/hdrgen/tests/input/test_small.yaml
R libc/hdrgen/tests/test_integration.py
R libc/hdrgen/yaml/arpa/inet.yaml
R libc/hdrgen/yaml/assert.yaml
R libc/hdrgen/yaml/complex.yaml
R libc/hdrgen/yaml/ctype.yaml
R libc/hdrgen/yaml/dirent.yaml
R libc/hdrgen/yaml/dlfcn.yaml
R libc/hdrgen/yaml/elf.yaml
R libc/hdrgen/yaml/errno.yaml
R libc/hdrgen/yaml/fcntl.yaml
R libc/hdrgen/yaml/features.yaml
R libc/hdrgen/yaml/fenv.yaml
R libc/hdrgen/yaml/float.yaml
R libc/hdrgen/yaml/inttypes.yaml
R libc/hdrgen/yaml/limits.yaml
R libc/hdrgen/yaml/link.yaml
R libc/hdrgen/yaml/locale.yaml
R libc/hdrgen/yaml/malloc.yaml
R libc/hdrgen/yaml/math.yaml
R libc/hdrgen/yaml/pthread.yaml
R libc/hdrgen/yaml/sched.yaml
R libc/hdrgen/yaml/search.yaml
R libc/hdrgen/yaml/setjmp.yaml
R libc/hdrgen/yaml/signal.yaml
R libc/hdrgen/yaml/spawn.yaml
R libc/hdrgen/yaml/stdbit.yaml
R libc/hdrgen/yaml/stdckdint.yaml
R libc/hdrgen/yaml/stdfix.yaml
R libc/hdrgen/yaml/stdint.yaml
R libc/hdrgen/yaml/stdio.yaml
R libc/hdrgen/yaml/stdlib.yaml
R libc/hdrgen/yaml/string.yaml
R libc/hdrgen/yaml/strings.yaml
R libc/hdrgen/yaml/sys/auxv.yaml
R libc/hdrgen/yaml/sys/epoll.yaml
R libc/hdrgen/yaml/sys/ioctl.yaml
R libc/hdrgen/yaml/sys/mman.yaml
R libc/hdrgen/yaml/sys/prctl.yaml
R libc/hdrgen/yaml/sys/random.yaml
R libc/hdrgen/yaml/sys/resource.yaml
R libc/hdrgen/yaml/sys/select.yaml
R libc/hdrgen/yaml/sys/sendfile.yaml
R libc/hdrgen/yaml/sys/socket.yaml
R libc/hdrgen/yaml/sys/stat.yaml
R libc/hdrgen/yaml/sys/statvfs.yaml
R libc/hdrgen/yaml/sys/syscall.yaml
R libc/hdrgen/yaml/sys/time.yaml
R libc/hdrgen/yaml/sys/types.yaml
R libc/hdrgen/yaml/sys/utsname.yaml
R libc/hdrgen/yaml/sys/wait.yaml
R libc/hdrgen/yaml/termios.yaml
R libc/hdrgen/yaml/threads.yaml
R libc/hdrgen/yaml/time.yaml
R libc/hdrgen/yaml/uchar.yaml
R libc/hdrgen/yaml/unistd.yaml
R libc/hdrgen/yaml/wchar.yaml
R libc/hdrgen/yaml_functions_sorted.py
R libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/src/math/docs/add_math_function.md
M libc/utils/CMakeLists.txt
A libc/utils/hdrgen/CMakeLists.txt
A libc/utils/hdrgen/README.rst
A libc/utils/hdrgen/class_implementation/classes/enumeration.py
A libc/utils/hdrgen/class_implementation/classes/function.py
A libc/utils/hdrgen/class_implementation/classes/macro.py
A libc/utils/hdrgen/class_implementation/classes/object.py
A libc/utils/hdrgen/class_implementation/classes/type.py
A libc/utils/hdrgen/gpu_headers.py
A libc/utils/hdrgen/header.py
A libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/test_small.h.def
A libc/utils/hdrgen/tests/input/test_small.yaml
A libc/utils/hdrgen/tests/test_integration.py
A libc/utils/hdrgen/yaml/arpa/inet.yaml
A libc/utils/hdrgen/yaml/assert.yaml
A libc/utils/hdrgen/yaml/complex.yaml
A libc/utils/hdrgen/yaml/ctype.yaml
A libc/utils/hdrgen/yaml/dirent.yaml
A libc/utils/hdrgen/yaml/dlfcn.yaml
A libc/utils/hdrgen/yaml/elf.yaml
A libc/utils/hdrgen/yaml/errno.yaml
A libc/utils/hdrgen/yaml/fcntl.yaml
A libc/utils/hdrgen/yaml/features.yaml
A libc/utils/hdrgen/yaml/fenv.yaml
A libc/utils/hdrgen/yaml/float.yaml
A libc/utils/hdrgen/yaml/inttypes.yaml
A libc/utils/hdrgen/yaml/limits.yaml
A libc/utils/hdrgen/yaml/link.yaml
A libc/utils/hdrgen/yaml/locale.yaml
A libc/utils/hdrgen/yaml/malloc.yaml
A libc/utils/hdrgen/yaml/math.yaml
A libc/utils/hdrgen/yaml/pthread.yaml
A libc/utils/hdrgen/yaml/sched.yaml
A libc/utils/hdrgen/yaml/search.yaml
A libc/utils/hdrgen/yaml/setjmp.yaml
A libc/utils/hdrgen/yaml/signal.yaml
A libc/utils/hdrgen/yaml/spawn.yaml
A libc/utils/hdrgen/yaml/stdbit.yaml
A libc/utils/hdrgen/yaml/stdckdint.yaml
A libc/utils/hdrgen/yaml/stdfix.yaml
A libc/utils/hdrgen/yaml/stdint.yaml
A libc/utils/hdrgen/yaml/stdio.yaml
A libc/utils/hdrgen/yaml/stdlib.yaml
A libc/utils/hdrgen/yaml/string.yaml
A libc/utils/hdrgen/yaml/strings.yaml
A libc/utils/hdrgen/yaml/sys/auxv.yaml
A libc/utils/hdrgen/yaml/sys/epoll.yaml
A libc/utils/hdrgen/yaml/sys/ioctl.yaml
A libc/utils/hdrgen/yaml/sys/mman.yaml
A libc/utils/hdrgen/yaml/sys/prctl.yaml
A libc/utils/hdrgen/yaml/sys/random.yaml
A libc/utils/hdrgen/yaml/sys/resource.yaml
A libc/utils/hdrgen/yaml/sys/select.yaml
A libc/utils/hdrgen/yaml/sys/sendfile.yaml
A libc/utils/hdrgen/yaml/sys/socket.yaml
A libc/utils/hdrgen/yaml/sys/stat.yaml
A libc/utils/hdrgen/yaml/sys/statvfs.yaml
A libc/utils/hdrgen/yaml/sys/syscall.yaml
A libc/utils/hdrgen/yaml/sys/time.yaml
A libc/utils/hdrgen/yaml/sys/types.yaml
A libc/utils/hdrgen/yaml/sys/utsname.yaml
A libc/utils/hdrgen/yaml/sys/wait.yaml
A libc/utils/hdrgen/yaml/termios.yaml
A libc/utils/hdrgen/yaml/threads.yaml
A libc/utils/hdrgen/yaml/time.yaml
A libc/utils/hdrgen/yaml/uchar.yaml
A libc/utils/hdrgen/yaml/unistd.yaml
A libc/utils/hdrgen/yaml/wchar.yaml
A libc/utils/hdrgen/yaml_functions_sorted.py
A libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Move hdrgen into utils/ subdirectory (#121256)
Commit: f385542f62fa1f57001c95c476165e1618cb54ba
https://github.com/llvm/llvm-project/commit/f385542f62fa1f57001c95c476165e1618cb54ba
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/tools/include-mapping/cppreference_parser.py
Log Message:
-----------
[Tooling/Inclusion] Modify the Python script to open the C++ reference with UTF-8 encoding. (#121341)
This will prevent the error on systems with a default encoding other
than utf-8.
```
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb6 in position 12958: illegal multibyte sequence
```
Commit: 07e13b764d6a5002f5bd9a41bf514106607f13f1
https://github.com/llvm/llvm-project/commit/07e13b764d6a5002f5bd9a41bf514106607f13f1
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
R libc/utils/hdrgen/class_implementation/classes/enumeration.py
R libc/utils/hdrgen/class_implementation/classes/function.py
R libc/utils/hdrgen/class_implementation/classes/macro.py
R libc/utils/hdrgen/class_implementation/classes/object.py
R libc/utils/hdrgen/class_implementation/classes/type.py
A libc/utils/hdrgen/enumeration.py
A libc/utils/hdrgen/function.py
A libc/utils/hdrgen/macro.py
A libc/utils/hdrgen/object.py
A libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Remove unnecessary subdirectory layers in utils/hdrgen (#121363)
Two extra layers of subdirectory for a handful of single-symbol
Python source files did not improve anything, and it complicated
integration of the hdrgen Python outside the LLVM CMake build.
Commit: fe1f64e7e935c9905a115842183ea29dd1312dfe
https://github.com/llvm/llvm-project/commit/fe1f64e7e935c9905a115842183ea29dd1312dfe
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/tool/ClangdMain.cpp
Log Message:
-----------
[clangd] Make EnableFunctionArgSnippets option string-typed (#121178)
Fixes https://github.com/clangd/clangd/issues/2232
Commit: e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
https://github.com/llvm/llvm-project/commit/e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
Log Message:
-----------
[Clang][Sema] Expose static inline functions from GMF (#104701)
In C, it is a common pattern to have `static inline` functions in
headers to avoid ODR issues. Currently, when those headers are included
in a GMF, the names are not found when two-phase name lookup and ADL is
involved. Those names are removed by `Sema::AddOverloadCandidate`.
Similarly, in C++, sometimes people use templates with internal linkage
in headers.
As the GMF was designed to be a transitional mechanism for headers,
special case those functions in `Sema::AddOverloadCandidate`.
This fixes <https://github.com/llvm/llvm-project/issues/98021>.
Commit: f590963db836ccbf7c547a3dea9dc719f24444d1
https://github.com/llvm/llvm-project/commit/f590963db836ccbf7c547a3dea9dc719f24444d1
Author: Philipp van Kempen <philipp.van-kempen at tum.de>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
Log Message:
-----------
[RISCV] Implement RISCVTTIImpl::getPreferredAddressingMode for HasVendorXCVmem (#120533)
For a simple matmult kernel this heuristic reduces the length of the
critical basic block from 15 to 20 instructions, resulting in a 20%
speedup.
**Without heuristic:**
```
13688: 001b838b cv.lb t2, (s7), 0x1
1368c: 09cdbcab cv.lb s9, t3(s11)
13690: 089db62b cv.lb a2, s1(s11)
13694: 092dbdab cv.lb s11, s2(s11)
13698: 001d028b cv.lb t0, (s10), 0x1
1369c: 00f282b3 add t0, t0, a5
136a0: 9072b52b cv.mac a0, t0, t2
136a4: 9192bfab cv.mac t6, t0, s9
136a8: 90c2beab cv.mac t4, t0, a2
136ac: 91b2bf2b cv.mac t5, t0, s11
136b0: fffc0c13 addi s8, s8, -0x1
136b4: 018e0633 add a2, t3, s8
136b8: 91b2b0ab cv.mac ra, t0, s11
136bc: 000b8d93 mv s11, s7
136c0: fc0614e3 bnez a2, 0x13688 <muriscv_nn_vec_mat_mult_t_s8+0x2f0>
#instrs = 15
```
**With heuristic:**
```
7bc0: 001c860b cv.lb a2, (s9), 0x1
7bc4: 001e0d0b cv.lb s10, (t3), 0x1
7bc8: 001e808b cv.lb ra, (t4), 0x1
7bcc: 0015038b cv.lb t2, (a0), 0x1
7bd0: 001c028b cv.lb t0, (s8), 0x1
7bd4: 00f282b3 add t0, t0, a5
7bd8: 90c2bfab cv.mac t6, t0, a2
7bdc: 91a2b92b cv.mac s2, t0, s10
7be0: 9012b5ab cv.mac a1, t0, ra
7be4: 9072b9ab cv.mac s3, t0, t2
7be8: 9072b72b cv.mac a4, t0, t2
7bec: fc851ae3 bne a0, s0, 0x7bc0 <muriscv_nn_vec_mat_mult_t_s8+0x338>
#instrs = 12
improvement = 1 - 12/15 = 0.2 = 20%
```
Commit: 2e3d3903e624edd5bb32cdd9a9654c907d4f1744
https://github.com/llvm/llvm-project/commit/2e3d3903e624edd5bb32cdd9a9654c907d4f1744
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M polly/lib/Support/ScopHelper.cpp
A polly/test/ScopDetect/dom-tree-crash.ll
Log Message:
-----------
[polly] Skip instructions of different function in isHoistableLoad. (#118963)
After patch 5ce47a5, some assert crashes occur in Polly. This issue
arises because an instruction from one function queries the Dominator
Tree (DT) of another function. To fix this, the `isHoistableLoad`
function now skips instructions that belong to different function while
iterating.
Commit: 6f3d1d3018448fcad1071e2dc308632c19486f65
https://github.com/llvm/llvm-project/commit/6f3d1d3018448fcad1071e2dc308632c19486f65
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M libc/src/compiler/generic/__stack_chk_fail.cpp
Log Message:
-----------
[libc] add __stack_chk_guard to generic (#121121)
Commit: 5b5ef254a341768283035718262a9cad6cc743e8
https://github.com/llvm/llvm-project/commit/5b5ef254a341768283035718262a9cad6cc743e8
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Fix typo: vmv.x.i -> vmv.v.i
Commit: e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
https://github.com/llvm/llvm-project/commit/e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV] Add missing ReadFMA16Addend in UnsupportedSchedZfh
Commit: f035351af785b7349ab7bcd55149c781ceca24cb
https://github.com/llvm/llvm-project/commit/f035351af785b7349ab7bcd55149c781ceca24cb
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
Log Message:
-----------
[SCEV] Make sure starting block is marked as visited when recursively collecting loop guards. (#120749)
When `collectFromBlock` is called without a predecessor (in particular
for loops that don't have a unique predecessor outside the loop) we
never start climbing the predecessor chain, and thus don't mark the
starting block as visited.
Fixes https://github.com/llvm/llvm-project/issues/120615.
Commit: b35d3453ddf14e9564a6b65bd325051f4492311c
https://github.com/llvm/llvm-project/commit/b35d3453ddf14e9564a6b65bd325051f4492311c
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Log Message:
-----------
[AArch64] Add an option for sve-prefer-fixed-over-scalable-if-equal. NFC
Add a new option to control preferFixedOverScalableIfEqualCost, useful for
testing.
Commit: f0d60170cc501447c999569db8fe91aacaad5fe2
https://github.com/llvm/llvm-project/commit/f0d60170cc501447c999569db8fe91aacaad5fe2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check memove/memcpy for available elements (#121383)
Both destination and source pointer need to have at least as many
elements as requested.
Commit: 31613de9cf22b2915cb39bfb043d957d513bd1cd
https://github.com/llvm/llvm-project/commit/31613de9cf22b2915cb39bfb043d957d513bd1cd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
Log Message:
-----------
[mlir][ArmSME] Migrate `arm-sme-vector-legalization` to dialect conversion (#121101)
Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.
Commit: 80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
https://github.com/llvm/llvm-project/commit/80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
Log Message:
-----------
[mlir][Transforms] Mark 1:N conversion driver as deprecated (#121102)
The 1:N conversion driver will be removed soon.
Note for LLVM integration: Please migrate your code base to the regular dialect conversion driver.
Commit: 1d5154663509b6200038a2f0b0ac958ea556fa9e
https://github.com/llvm/llvm-project/commit/1d5154663509b6200038a2f0b0ac958ea556fa9e
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[SystemZ][z/OS] Open YAML files for read as text files (#121340)
This patch makes sure YAML files are opened for reading as text file to
trigger auto-conversion from EBCDIC encoding into expected ASCII
encoding on z/OS platform. This is required to fix the following lit
tests:
```
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
LLVM :: Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
```
Commit: ddef380cd6c30668cc6f6d952b4c045f724f8d57
https://github.com/llvm/llvm-project/commit/ddef380cd6c30668cc6f6d952b4c045f724f8d57
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Move simplifyRecipe(s) definitions up to allow re-use (NFC)
Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.
Commit: 6279d2e0f33ed1aa686aace48da6ccf912ab4b28
https://github.com/llvm/llvm-project/commit/6279d2e0f33ed1aa686aace48da6ccf912ab4b28
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
Log Message:
-----------
AArch64ABIInfo::passAsAggregateType - don't directly dereference getAs<> result. NFC.
Reported by coverity static analyzer - we know the type is a BuiltinType so use castAs<>
Commit: b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
https://github.com/llvm/llvm-project/commit/b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] scalarizeLoadExtract - consistently use LoadInst and ExtractElementInst specific operand getters. NFC
Noticed while investigating the hung builds reported after af83093933ca73bc82c33130f8bda9f1ae54aae2
Commit: d1e5e6735a845f1281f11389da1e5a55a0d2e87a
https://github.com/llvm/llvm-project/commit/d1e5e6735a845f1281f11389da1e5a55a0d2e87a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/PhaseOrdering/pr32544.ll
M llvm/test/Transforms/PhaseOrdering/pr45682.ll
M llvm/test/Transforms/PhaseOrdering/pr62311.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/rotate.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
Log Message:
-----------
[PhaseOrdering] Update test RUN lines to use `-passes="default<O3>"` to allow evaluation by DOS batch scripts. NFC.
`-passes='default<O3>'` isn't correctly parsed on DOS, so when update_test_checks.py runs a system call on the opt RUN line, it fails to evaluate properly - use `-passes="default<O3>"` instead.
Commit: 0b08e095cc05288d1209cf051988621f6935c940
https://github.com/llvm/llvm-project/commit/0b08e095cc05288d1209cf051988621f6935c940
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[mlir][nfc] GpuToROCDL: Remove some dead code (#121395)
Commit: 018b32ca1fd0214e4a359ed8388a2c859d0fc841
https://github.com/llvm/llvm-project/commit/018b32ca1fd0214e4a359ed8388a2c859d0fc841
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
Revert "[mlir][nfc] GpuToROCDL: Remove some dead code" (#121402)
Reverts llvm/llvm-project#121395
Commit: ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
https://github.com/llvm/llvm-project/commit/ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
Author: Angus Lees <gus at inodes.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/utils/lit/tests/shtest-format.py
Log Message:
-----------
[lit] Cope with more cat variants (#121376)
BusyBox `cat` has yet another slight variation of error formatting:
```console
$ cat --help 2>&1 | head -1
BusyBox v1.37.0 (2024-09-30 10:39:57 UTC) multi-call binary.
$ cat does-not-exist
cat: can't open 'does-not-exist': No such file or directory
```
Rather than extend the test result regex with a third case,
recognise that we only really care about the filename and errno string.
Weaken the regex to ignore all "noise" around the filename.
Note this also corrects what looks like a bug with the previous regex.
Previously, the `cannot open does-not-exist` alternate did not assert
the following errno message. This was introduced in
https://reviews.llvm.org/D60553 (apparently) due to differences in the
`cat` command on AIX. That bug doesn't include the specific
AIX output, so it's unclear if this omission was intended.
Commit: 40e734e041fa4d5369197e88ce6d354238695e0c
https://github.com/llvm/llvm-project/commit/40e734e041fa4d5369197e88ce6d354238695e0c
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][MachO] Allow separate --irpgo-profile flag (#121354)
Commit: 8e8d0c149960c7d37e5c4487f434cdd41b1d3866
https://github.com/llvm/llvm-project/commit/8e8d0c149960c7d37e5c4487f434cdd41b1d3866
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M compiler-rt/test/builtins/Unit/truncxfhf2_test.c
Log Message:
-----------
Fix integer suffix in truncxfhf2_test (#121388)
Fixes error introduced by #120372.
Commit: a5f3058caae37471f7d2b55a4f621b104c52658f
https://github.com/llvm/llvm-project/commit/a5f3058caae37471f7d2b55a4f621b104c52658f
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
Log Message:
-----------
[AArch64][NFC] Remove redundant comments in SMEInstrInfo
Commit: 0e23cb0cc5b087f7039e35595a16ae549a42aada
https://github.com/llvm/llvm-project/commit/0e23cb0cc5b087f7039e35595a16ae549a42aada
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[mlir][nfc] GpuToROCDL: Remove some dead code (#121403)
Commit: 2cee9034adb389a20937f0a77d51675ff5a105f8
https://github.com/llvm/llvm-project/commit/2cee9034adb389a20937f0a77d51675ff5a105f8
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
Log Message:
-----------
[AArch64] Add some tests for csel/subs with swapped conditions. NFC
Commit: 5056a4b556077da79afe34f54b5447c19a77d97d
https://github.com/llvm/llvm-project/commit/5056a4b556077da79afe34f54b5447c19a77d97d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
Log Message:
-----------
[lldb] Update two API tests to fix x86 Darwin failures (#121380)
The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/pull/108663 where four general
purpose registers are sent by debugserver when in certain process
states. But most processes (nearly all in the testsuite) do not have
these registers available, so we will get register read failures when
requesting those four. These two tests would flag those as errors. There
would have been an additional problem with the g/G packet (which lldb
doesn't use w/ debugserver, but the testsuite tests) if placeholder
values were not included in the full register context bytes; I fixed
that issue with the SME patch to debugserver recently already.
Commit: 71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
https://github.com/llvm/llvm-project/commit/71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
Log Message:
-----------
[AArch64][GlobalISel] Lower shuffle vector with scalar destinations. (#121384)
I believe these are usually canonicalized to vector extracts in most
situations, but under -O0 we might trigger failures in the widening code
if we do not handle scalar destinations correctly. The simplest solution
should be to lower the shuffle to an extract.
Fixes #121365.
Commit: b06a45c66fee13fa9bcab422534cba86541f3dab
https://github.com/llvm/llvm-project/commit/b06a45c66fee13fa9bcab422534cba86541f3dab
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
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
Log Message:
-----------
[VPlan] Add all blocks to outer loop if present during ::execute (NFCI).
This ensures that all blocks created during VPlan execution are properly
added to an enclosing loop, if present.
Split off from https://github.com/llvm/llvm-project/pull/108378 and also
needed once more of the skeleton blocks are created directly via VPlan.
This also allows removing the custom logic for early-exit loop
vectorization added as part of
https://github.com/llvm/llvm-project/pull/117008.
Commit: 7d6ec3b9680a53e58235743080bf223067050fbc
https://github.com/llvm/llvm-project/commit/7d6ec3b9680a53e58235743080bf223067050fbc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[LV] Add more tests for vector loop removal.
Add missing test coverage of loops where the vector loop region can be
removed that include replicate recipes as well as nested loops.
Extra test coverage for https://github.com/llvm/llvm-project/pull/108378.
Commit: 3026ecaff54b220409ecc254b4f6209801a251b9
https://github.com/llvm/llvm-project/commit/3026ecaff54b220409ecc254b4f6209801a251b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[LV] Also verify loops in vector loop removal tests.
Also verify loop info in tests added in 7d6ec3b9680.
Commit: 1d0f40ba05b76ff028c69054899f88f1c7452b4b
https://github.com/llvm/llvm-project/commit/1d0f40ba05b76ff028c69054899f88f1c7452b4b
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M libc/src/compiler/generic/__stack_chk_fail.cpp
Log Message:
-----------
[libc] fix generic __stack_check_fail for fuchsia (#121401)
Commit: 2feffecb8853b1cdd38a0653df63d70412e65c12
https://github.com/llvm/llvm-project/commit/2feffecb8853b1cdd38a0653df63d70412e65c12
Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/test/CodeGen/AArch64/fpm-helpers.c
M llvm/lib/IR/ConstantRange.cpp
A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Estimate tighter lower (upper) bounds for masked binary and (or) (#120352)
Fixes #118108.
Co-author: Yingwei Zheng (@dtcxzyw)
Commit: f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
https://github.com/llvm/llvm-project/commit/f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
Log Message:
-----------
[AMDGPU] Pre-commit tests for "lshr + mad" fold (#119509)
Commit: 283806695a6deeacd5d3eaf88becec2b627ab56f
https://github.com/llvm/llvm-project/commit/283806695a6deeacd5d3eaf88becec2b627ab56f
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Add combine for select with constants (#121088)
The SelectionDAG Isel supports the both version of combines mentioned
below :
```
select Cond, Pow2, 0 --> (zext Cond) << log2(Pow2)
select Cond, 0, Pow2 --> (zext !Cond) << log2(Pow2)
```
The GlobalIsel for now only supports the first one defined in it's
generic combinerHelper.cpp. This patch adds the missing second one.
Commit: eafbab6facb0627e11757efb1eae98f806387b55
https://github.com/llvm/llvm-project/commit/eafbab6facb0627e11757efb1eae98f806387b55
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
Log Message:
-----------
[EntryExitInstrumenter][AArch64][RISCV][LoongArch] Pass `__builtin_return_address(0)` into `_mcount` (#121107)
On RISC-V, AArch64, and LoongArch, the `_mcount` function takes
`__builtin_return_address(0)` as an argument since
`__builtin_return_address(1)` is not available on these platforms. This
patch fixes the argument passing to match the behavior of glibc/gcc.
Closes https://github.com/llvm/llvm-project/issues/121103.
Commit: a29bd8cbab7390e5a9e3182e6e87908f4e7daced
https://github.com/llvm/llvm-project/commit/a29bd8cbab7390e5a9e3182e6e87908f4e7daced
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Record parameterized machine pass names to PIC (#120554)
Required for `{start|stop}-{after-before}` cli
Commit: 1623c435948ae305220e638066e968cb3296e567
https://github.com/llvm/llvm-project/commit/1623c435948ae305220e638066e968cb3296e567
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprCXX.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Resolved type of expression indexing into pack of values of a non-dependent type (#121405)
Commit: ca2ab74838c41a4146835b5bcc91ce4732273f7d
https://github.com/llvm/llvm-project/commit/ca2ab74838c41a4146835b5bcc91ce4732273f7d
Author: xtex <xtex at envs.net>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/DependencyFile.cpp
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/VFS/external-names.c
Log Message:
-----------
[clang] Canonicalize absolute paths in dependency file (#117458)
This fixes #117438.
If paths in dependency file are not absoulte, make (or ninja) will
canonicalize them.
While their canonicalization does not involves symbolic links expansion
(for IO performance concerns), leaving a non-absolute path in dependency
file may lead to unexpected canonicalization.
For example, '/a/../b', where '/a' is a symlink to '/c/d', it should be
'/c/b' but make (and ninja) canonicalizes it as '/b', and fails for file
not found.
Commit: 50054ba2f446c29b46f0fe55e7b8c48b3818a23f
https://github.com/llvm/llvm-project/commit/50054ba2f446c29b46f0fe55e7b8c48b3818a23f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
Log Message:
-----------
[CodeGen] LiveRegMatrix: Use allocator through a unique_ptr (#120556)
`LIU::Matrix` holds on to a pointer to the allocator in LiveRegMatrix and is left hanging when the allocator moves with the LiveRegMatrix.
This extends the lifetime of the allocator so that it does not get destroyed when moving a LiveRegMatrix object.
Commit: ed572f2003275da8e06a634b4d6658b7921e8334
https://github.com/llvm/llvm-project/commit/ed572f2003275da8e06a634b4d6658b7921e8334
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
Reapply "[libc++] Explicitly convert to masks in SIMD code (#107983)" (#121352)
This reverts commit 0ea40bf02138c02e7680ce6fa8169502f2a8bd42.
Passes with https://github.com/llvm/llvm-project/issues/121365 fix:
https://lab.llvm.org/buildbot/#/builders/55/builds/4930
Commit: fac6be61c6ccbae15647f4f2485415f630341e2a
https://github.com/llvm/llvm-project/commit/fac6be61c6ccbae15647f4f2485415f630341e2a
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] Prepend include directories before LLVM includes (#121223)
Prepend mlir's include directories before system LLVM include
directories. This is particularly important for standalone builds, where
system include directory may contain the previous version of mlir, and
therefore various mlir targets (particularly tablegen) end up using the
headers from the previous version over the fresh ones. The new logic is
copied from clang.
Commit: 6d3d952f11d350f6ad2cd6199681af158f4bd397
https://github.com/llvm/llvm-project/commit/6d3d952f11d350f6ad2cd6199681af158f4bd397
Author: Tomer Shafir <86107951+tomershafir at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml
Log Message:
-----------
[XRay][account] add account test for nonempty exit mismatch (#93564)
- Add `llvm-xray account` regression test for an exit mismatch with a
non empty stack (its a different code path than empty stack).
- Align empty stack test case name.
Commit: 2a90efd854f5bcce65a7b0fe5a75860160dc103b
https://github.com/llvm/llvm-project/commit/2a90efd854f5bcce65a7b0fe5a75860160dc103b
Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[NFC][ConstraintElimination] Optimize code styles (#121422)
This patch does following things,
- prefer early exits;
- add missing std::move;
- avoid duplicate map lookups;
- prefer emplace_back to avoid unnecessary copies.
Commit: 1135d36f869541f14934471e255c6e2631d6eebe
https://github.com/llvm/llvm-project/commit/1135d36f869541f14934471e255c6e2631d6eebe
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/utils/lit/tests/shtest-format.py
Log Message:
-----------
[AIX] [lit] Fix shtest-format.py to account for behaviour on AIX (#121426)
The changes from https://github.com/llvm/llvm-project/pull/121376 has
broken the ppc64 aix bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1835. Adjusted the
testcase to account for `cat` behaviour on AIX prior to the changes
Commit: 8435225374e1dc17fddf618eec3cf8c396ac669f
https://github.com/llvm/llvm-project/commit/8435225374e1dc17fddf618eec3cf8c396ac669f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Move addFile implementation to LinkerDriver (NFC) (#121342)
The addFile implementation does not rely on the SymbolTable object. With
#119294, the symbol table for input files is determined during the
construction of the objects representing them. To clarify that
relationship, this change moves the implementation from the SymbolTable
class to the LinkerDriver class.
Commit: 684052173971868aab0e6b62d7770a6299e84141
https://github.com/llvm/llvm-project/commit/684052173971868aab0e6b62d7770a6299e84141
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
Revert "[RISCV][CG]Use processShuffleMasks for per-register shuffles"
This reverts commit b8952d4b1b0c73bf39d6440ad3166a088ced563f.
spec x264 fails to build in all VLS configurations, with the assertion
failure: clang: ../llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5246: llvm::SDValue lowerShuffleViaVRegSplitting(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&, const llvm::RISCVSubtarget&): Assertion `RegCnt == NumOfDestRegs && "Whole vector must be processed"' failed.
I can reduce a failing piece of IR, but the failure appears pretty
broad, so I suspect any reasonable vls build will hit it.
Commit: 0cbe28df7100bf4384f84542d602f90cb783a2d4
https://github.com/llvm/llvm-project/commit/0cbe28df7100bf4384f84542d602f90cb783a2d4
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port 28ae2ff2a44c
Commit: bd154e823eba4d62366dfa3d56ae0b99ab171b96
https://github.com/llvm/llvm-project/commit/bd154e823eba4d62366dfa3d56ae0b99ab171b96
Author: Peng Huang <shawn.p.huang at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)
The problem in original change is because OHOS::getCompilerRT()
pickes a wrong builtin runtime
`./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a`,
if `./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a` exist on the
test filesystem. It shouldn't happen with a clean build.
Commit: 418dedc2341e807fe7501ad95526b0d7c2f167c4
https://github.com/llvm/llvm-project/commit/418dedc2341e807fe7501ad95526b0d7c2f167c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Remove redundant setting of insert point in ::executePlan (NFC).
The entry block is a VPIRBasicBkock wrapping the original loop's
preheader, so the insert point doesn't need to be set.
Commit: c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
https://github.com/llvm/llvm-project/commit/c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Replace VPBBs with VPIRBBs during skeleton creation (NFC).
Move replacement of VPBBs for vector preheader, middle block and scalar
preheader from VPlan::execute to skeleton creation, which actually
creates the IR basic blocks.
For now, the vector preheader can only be replaced after
prepareToExecute as it may create new instructions in the vector
preheader.
Commit: cd239493c1023cbccfe6b1e9be32e68592a7f304
https://github.com/llvm/llvm-project/commit/cd239493c1023cbccfe6b1e9be32e68592a7f304
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Format/MatchFilePath.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
Log Message:
-----------
[clang-format] Support globstar in .clang-format-ignore (#121404)
Closes #110160.
Closes #114969.
Commit: 62cd050b635cbb201dd08188696448cf5ab23260
https://github.com/llvm/llvm-project/commit/62cd050b635cbb201dd08188696448cf5ab23260
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libc/docs/dev/header_generation.rst
M libc/include/CMakeLists.txt
A libc/include/arpa/inet.yaml
A libc/include/assert.yaml
A libc/include/complex.yaml
A libc/include/ctype.yaml
A libc/include/dirent.yaml
A libc/include/dlfcn.yaml
A libc/include/elf.yaml
A libc/include/errno.yaml
A libc/include/fcntl.yaml
A libc/include/features.yaml
A libc/include/fenv.yaml
A libc/include/float.yaml
A libc/include/inttypes.yaml
A libc/include/limits.yaml
A libc/include/link.yaml
A libc/include/locale.yaml
A libc/include/malloc.yaml
A libc/include/math.yaml
A libc/include/pthread.yaml
A libc/include/sched.yaml
A libc/include/search.yaml
A libc/include/setjmp.yaml
A libc/include/signal.yaml
A libc/include/spawn.yaml
A libc/include/stdbit.yaml
A libc/include/stdckdint.yaml
A libc/include/stdfix.yaml
A libc/include/stdint.yaml
A libc/include/stdio.yaml
A libc/include/stdlib.yaml
A libc/include/string.yaml
A libc/include/strings.yaml
A libc/include/sys/auxv.yaml
A libc/include/sys/epoll.yaml
A libc/include/sys/ioctl.yaml
A libc/include/sys/mman.yaml
A libc/include/sys/prctl.yaml
A libc/include/sys/random.yaml
A libc/include/sys/resource.yaml
A libc/include/sys/select.yaml
A libc/include/sys/sendfile.yaml
A libc/include/sys/socket.yaml
A libc/include/sys/stat.yaml
A libc/include/sys/statvfs.yaml
A libc/include/sys/syscall.yaml
A libc/include/sys/time.yaml
A libc/include/sys/types.yaml
A libc/include/sys/utsname.yaml
A libc/include/sys/wait.yaml
A libc/include/termios.yaml
A libc/include/threads.yaml
A libc/include/time.yaml
A libc/include/uchar.yaml
A libc/include/unistd.yaml
A libc/include/wchar.yaml
M libc/src/math/docs/add_math_function.md
R libc/utils/hdrgen/yaml/arpa/inet.yaml
R libc/utils/hdrgen/yaml/assert.yaml
R libc/utils/hdrgen/yaml/complex.yaml
R libc/utils/hdrgen/yaml/ctype.yaml
R libc/utils/hdrgen/yaml/dirent.yaml
R libc/utils/hdrgen/yaml/dlfcn.yaml
R libc/utils/hdrgen/yaml/elf.yaml
R libc/utils/hdrgen/yaml/errno.yaml
R libc/utils/hdrgen/yaml/fcntl.yaml
R libc/utils/hdrgen/yaml/features.yaml
R libc/utils/hdrgen/yaml/fenv.yaml
R libc/utils/hdrgen/yaml/float.yaml
R libc/utils/hdrgen/yaml/inttypes.yaml
R libc/utils/hdrgen/yaml/limits.yaml
R libc/utils/hdrgen/yaml/link.yaml
R libc/utils/hdrgen/yaml/locale.yaml
R libc/utils/hdrgen/yaml/malloc.yaml
R libc/utils/hdrgen/yaml/math.yaml
R libc/utils/hdrgen/yaml/pthread.yaml
R libc/utils/hdrgen/yaml/sched.yaml
R libc/utils/hdrgen/yaml/search.yaml
R libc/utils/hdrgen/yaml/setjmp.yaml
R libc/utils/hdrgen/yaml/signal.yaml
R libc/utils/hdrgen/yaml/spawn.yaml
R libc/utils/hdrgen/yaml/stdbit.yaml
R libc/utils/hdrgen/yaml/stdckdint.yaml
R libc/utils/hdrgen/yaml/stdfix.yaml
R libc/utils/hdrgen/yaml/stdint.yaml
R libc/utils/hdrgen/yaml/stdio.yaml
R libc/utils/hdrgen/yaml/stdlib.yaml
R libc/utils/hdrgen/yaml/string.yaml
R libc/utils/hdrgen/yaml/strings.yaml
R libc/utils/hdrgen/yaml/sys/auxv.yaml
R libc/utils/hdrgen/yaml/sys/epoll.yaml
R libc/utils/hdrgen/yaml/sys/ioctl.yaml
R libc/utils/hdrgen/yaml/sys/mman.yaml
R libc/utils/hdrgen/yaml/sys/prctl.yaml
R libc/utils/hdrgen/yaml/sys/random.yaml
R libc/utils/hdrgen/yaml/sys/resource.yaml
R libc/utils/hdrgen/yaml/sys/select.yaml
R libc/utils/hdrgen/yaml/sys/sendfile.yaml
R libc/utils/hdrgen/yaml/sys/socket.yaml
R libc/utils/hdrgen/yaml/sys/stat.yaml
R libc/utils/hdrgen/yaml/sys/statvfs.yaml
R libc/utils/hdrgen/yaml/sys/syscall.yaml
R libc/utils/hdrgen/yaml/sys/time.yaml
R libc/utils/hdrgen/yaml/sys/types.yaml
R libc/utils/hdrgen/yaml/sys/utsname.yaml
R libc/utils/hdrgen/yaml/sys/wait.yaml
R libc/utils/hdrgen/yaml/termios.yaml
R libc/utils/hdrgen/yaml/threads.yaml
R libc/utils/hdrgen/yaml/time.yaml
R libc/utils/hdrgen/yaml/uchar.yaml
R libc/utils/hdrgen/yaml/unistd.yaml
R libc/utils/hdrgen/yaml/wchar.yaml
Log Message:
-----------
[libc] Move hdrgen yaml files into include/ (#121443)
The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/. As with the .h.def files, there
is no need for a yaml/ subdirectory under include/. This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.
Commit: 508929d42a8735b05815b5332a4733ed8d0bf1eb
https://github.com/llvm/llvm-project/commit/508929d42a8735b05815b5332a4733ed8d0bf1eb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libc/utils/hdrgen/gpu_headers.py
Log Message:
-----------
[libc] Make GpuHeaderFile a subclass (#121445)
Replace copy&paste from HeaderFile to GpuHeaderFile with
subclassing. Only the __str__ method differs.
Commit: 1a0d0ae234544dc4978f1e12730408cb83f6b923
https://github.com/llvm/llvm-project/commit/1a0d0ae234544dc4978f1e12730408cb83f6b923
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 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/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add `VariableTemplates` option (#121318)
Closes #120148.
Commit: 23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
https://github.com/llvm/llvm-project/commit/23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Lower fmininum/fmaximum to VMINMAX* (#121373)
Commit: 096551537b2a747a3387726ca618ceeb3950e9bc
https://github.com/llvm/llvm-project/commit/096551537b2a747a3387726ca618ceeb3950e9bc
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
"Reapply "[llvm-jitlink] Use concurrent linking by default." with more fixes.
This reapplies edca1d9bad2 which was reverted in 7ec139ad4bc due to bot
failures.
LocalDependencyPropagation.s is updated to use -num-threads=0 in order to
avoid interleaving debugging output.
ELFNixPlatform.h is updated to protect the deferred runtime function calls
map during bootstrap.
Commit: bc87a537d9b8117cfd63d5d9b798d6017a99097f
https://github.com/llvm/llvm-project/commit/bc87a537d9b8117cfd63d5d9b798d6017a99097f
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/Matchers.h
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
Log Message:
-----------
[clangd] Remove clangd's HasValue GMock matcher (#121309)
An equivalent matcher under the name Optional has since been added
upstream to GMock.
Fixes https://github.com/llvm/llvm-project/issues/121308
Commit: 0c68155002edb30d6b0df3f17fe1f44a01afacd9
https://github.com/llvm/llvm-project/commit/0c68155002edb30d6b0df3f17fe1f44a01afacd9
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Fix llvm-jitlink for LLVM_ENABLE_THREADS=Off.
Commit edca1d9bad2 enabled threaded linking by default in llvm-jitlink, but we
need to handle the case where LLVM is built with -DLLVM_ENABLE_THREADS=Off.
This patch updates the llvm-jitlink tool to switch back to materialization on
the main thread (equivalent to llvm-jitlink -num-threads=0 ...) when LLVM is
built without thread support.
Commit: 641a786bedc054e71764f69f6f448ad4e090c9a4
https://github.com/llvm/llvm-project/commit/641a786bedc054e71764f69f6f448ad4e090c9a4
Author: David Green <david.green at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
A llvm/test/CodeGen/AArch64/shuffle-select.ll
Log Message:
-----------
[AArch64] Add codegen shuffle-select test. NFC
This splits the shuffle-select CostModel test into a seperate CodeGen test and
removes the codegen from the CostModel version. An extra fp16 test is added
too.
Commit: 45e874e39030bc622ea43fbcfc4fcdd1dd404353
https://github.com/llvm/llvm-project/commit/45e874e39030bc622ea43fbcfc4fcdd1dd404353
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/CodeGen/builtin-memfns.c
Log Message:
-----------
[clang][bytecode] Check for memcpy/memmove dummy pointers earlier (#121453)
Commit: a3744f065a3ce38deaf650a8f92941c19980b32a
https://github.com/llvm/llvm-project/commit/a3744f065a3ce38deaf650a8f92941c19980b32a
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_immcheck_incl.td
M clang/lib/Sema/SemaARM.cpp
Log Message:
-----------
[clang][AArch64] Remove references to vector size in SVE immediate range checking. NFC
Commit: d5c8af492f2d8620b04330024d46a5f48db546fe
https://github.com/llvm/llvm-project/commit/d5c8af492f2d8620b04330024d46a5f48db546fe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Consider start index when copying composite array (#121461)
... elements.
Commit: 34097c07e151fef0e5c645e1dac7f4872774317b
https://github.com/llvm/llvm-project/commit/34097c07e151fef0e5c645e1dac7f4872774317b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Consider unknown-size arrays in memcpy/memcmp (#121462)
When emitting diagnostics for the number of elements.
Commit: 4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
https://github.com/llvm/llvm-project/commit/4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
Log Message:
-----------
[JITLink][LoongArch] Add R_LARCH_{B16,B21} relocations support (#121096)
Commit: 3ddc9f06ae61e916b333b096cef3560f0f5c6272
https://github.com/llvm/llvm-project/commit/3ddc9f06ae61e916b333b096cef3560f0f5c6272
Author: David Green <david.green at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
M llvm/test/CodeGen/AArch64/shuffle-select.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
Log Message:
-----------
[AArch64] Additional shuffle subvector-extract cost tests. NFC
A Phase Ordering test for intrinsic shuffles is also added, showing a recent
regression from vector combining.
Commit: 460e7d5f3054855af83e50f32a81ce71cac55a04
https://github.com/llvm/llvm-project/commit/460e7d5f3054855af83e50f32a81ce71cac55a04
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang][debug] Correct pointer size. (#120781)
We were passing size in bytes for the sizeInBits field in
DIDerivedTypeAttr with DW_TAG_pointer_type. Although this field is
un-used in this case but better to be accurate.
Commit: 328ff042e33767d9abdc56bf62132e00b832ecc4
https://github.com/llvm/llvm-project/commit/328ff042e33767d9abdc56bf62132e00b832ecc4
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang][NFC] Replace dyn_cast_or_null with dyn_cast_if_present. (#120785)
Commit: 450c6b02d224245656c41033cc0c849bde2045f3
https://github.com/llvm/llvm-project/commit/450c6b02d224245656c41033cc0c849bde2045f3
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)
Switch from rewrite patterns to conversion patterns. This allows to
perform type conversions together with other parts of the IR. For
example, this allows to convert from index to emit.size_t types.
Commit: df728cf1d7959e214af68dbf4d6e3750fc7b5b13
https://github.com/llvm/llvm-project/commit/df728cf1d7959e214af68dbf4d6e3750fc7b5b13
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
Revert "[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)"
This reverts commit 450c6b02d224245656c41033cc0c849bde2045f3.
Commit: 76a4c4593ba9f8cad894d80ea75687cd86be3cdd
https://github.com/llvm/llvm-project/commit/76a4c4593ba9f8cad894d80ea75687cd86be3cdd
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
Log Message:
-----------
[InstCombine] Fix constant swap case of fcmp + fadd + sel xfrm (#119419)
The fcmp + fadd + sel => fcmp + sel + fadd xfrm performs incorrect
transformation when select branch values are swapped. This change fixes
this.
Commit: 1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
https://github.com/llvm/llvm-project/commit/1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Emit warnings for missing load config on EC targets (#121339)
ARM64EC and ARM64X images require a load configuration to be valid.
Commit: 207e485f4b7e8113b8b329ddcde423aafc0a8832
https://github.com/llvm/llvm-project/commit/207e485f4b7e8113b8b329ddcde423aafc0a8832
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Track VectorPH during skeleton creation. (NFC)
Split off from https://github.com/llvm/llvm-project/pull/108378.
This ensures that the logic works even if now vector region exits.
Commit: 67c974bfd6b3dbba83865e8319a3e9d3274a44e9
https://github.com/llvm/llvm-project/commit/67c974bfd6b3dbba83865e8319a3e9d3274a44e9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove redundant parameter to ParseChildParameters (#121033)
This was never set to anything other than `true`.
Commit: 02b30128e8e87795b9262035a48990648cbec586
https://github.com/llvm/llvm-project/commit/02b30128e8e87795b9262035a48990648cbec586
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Always return false for invalid bcp results (#121467)
Commit: 8178e7218833bcbcf4263016252681c81fb167db
https://github.com/llvm/llvm-project/commit/8178e7218833bcbcf4263016252681c81fb167db
Author: Marius Brehler <marius.brehler at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
Log Message:
-----------
[mlir][func] Fix return op example (#121470)
Similiar to #121112.
Commit: 9cd774d1e49f792b7546e5309c7b27d653b37132
https://github.com/llvm/llvm-project/commit/9cd774d1e49f792b7546e5309c7b27d653b37132
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][NFC] Move "_Int" after "k"/"kz" (#121450)
Address comment at
https://github.com/llvm/llvm-project/pull/121373#discussion_r1900402932
Commit: 4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
https://github.com/llvm/llvm-project/commit/4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld/COFF] Fix comment typo to cycle bots
Commit: d622b66a820a0e5e61c131e9ae5b4db35292aa14
https://github.com/llvm/llvm-project/commit/d622b66a820a0e5e61c131e9ae5b4db35292aa14
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
Re-introduce Type Conversion on EmitC (#121476)
This PR reintroduces https://github.com/llvm/llvm-project/pull/118940
with a fix for the build issues on
cd9caf3aeed55280537052227f08bb1b41154efd
Commit: a4deb809be8f5ec3adec3626e9d700f6168d0e9f
https://github.com/llvm/llvm-project/commit/a4deb809be8f5ec3adec3626e9d700f6168d0e9f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Revert "Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)"
This reverts commit bd154e823eba4d62366dfa3d56ae0b99ab171b96.
Test fails with -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF, see
https://github.com/llvm/llvm-project/pull/120159#issuecomment-2567836727
Commit: 6d604ba36326de849ccf00f30351ce21fde19471
https://github.com/llvm/llvm-project/commit/6d604ba36326de849ccf00f30351ce21fde19471
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Log Message:
-----------
[gn build] Port e45e091b9089
Commit: 073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
https://github.com/llvm/llvm-project/commit/073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
Author: John Brawn <john.brawn at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
Log Message:
-----------
[LoopVectorize] Make needsExtract notice scalarized instructions (#119720)
LoopVectorizationCostModel::needsExtract should recognise instructions
that have been widened by scalarizing as scalar instructions, and thus
not needing an extract when used by later scalarized instructions.
This fixes an incorrect cost calculation in computePredInstDiscount,
where we are adding a scalarization overhead cost when we shouldn't,
though I haven't come up with a test case where it makes a difference.
It will make a difference when the cost model switches to using the cost
kind TCK_CodeSize for optsize, as not doing this causes the test
LoopVectorize/X86/small-size.ll to get worse.
Commit: a9a3fb5b1a23e336a1656046ba1a36832e020d4e
https://github.com/llvm/llvm-project/commit/a9a3fb5b1a23e336a1656046ba1a36832e020d4e
Author: Bart Chrzaszcz <bart.chr at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel due to PR #121476
Breaks bazel builds due to missing dependency
Commit: bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/loop-assumptions.c
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/Analysis/misc-ps-region-store.m
Log Message:
-----------
[analyzer] Don't assume third iteration in loops (#119388)
This commit ensures that if the loop condition is opaque (the analyzer
cannot determine whether it's true or false) and there were at least two
iterations, then the analyzer doesn't make the unjustified assumption
that it can enter yet another iteration.
Note that the presence of a loop suggests that the developer thought
that two iterations can happen (otherwise an `if` would've been
sufficient), but it does not imply that the developer expected three or
four iterations -- and in fact there are many false positives where a
loop iterates over a two-element (or three-element) data structure, but
the analyzer cannot understand the loop condition and blindly assumes
that there may be three or more iterations. (In particular, analyzing
the FFMPEG project produces 100+ such false positives.)
Moreover, this provides some performance improvements in the sense that
the analyzer won't waste time on traversing the execution paths with 3
or 4 iterations in a loop (which are very similar to the paths with 2
iterations) and therefore will be able to traverse more branches
elsewhere on the `ExplodedGraph`.
This logic is disabled if the user enables the widen-loops analyzer
option (which is disabled by default), because the "simulate one final
iteration after the invalidation" execution path would be suppressed by
the "exit the loop if the loop condition is opaque and there were at
least two iterations" logic. If we want to support loop widening, we
would need to create a follow-up commit which ensures that it "plays
nicely" with this logic.
Commit: 4a890c2c605640f48ecbaefebda8f3a42043ff3d
https://github.com/llvm/llvm-project/commit/4a890c2c605640f48ecbaefebda8f3a42043ff3d
Author: klensy <klensy at users.noreply.github.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[llvm][aarch64] fix copypaste typo (#120725)
moved from #119881
Commit: 62d0aff3eb934439acac47348e2385f0751a1444
https://github.com/llvm/llvm-project/commit/62d0aff3eb934439acac47348e2385f0751a1444
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/cmake/modules/Findzstd.cmake
Log Message:
-----------
[cmake] Extend zstd.dll finding logic from MSVC to Clang (#121437)
Extend the special logic for finding `zstd.dll` in `Findzstd` to apply
to all MSVC-compatible configurations such as Clang targeting MSVC.
Fixes #121345
Commit: 8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
https://github.com/llvm/llvm-project/commit/8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/emacs/llvm-mode.el
Log Message:
-----------
[emacs] Add noext as an attribute in llvm-mode.el (#121444)
The NoExt attribute was introduced with #100757, to exist alongside with
signext and zeroext.
This patch adds "noext" as an attribute to llvm-mode.el to get the proper
highlighting of the keyword.
Commit: 11e482c4a32be6a315e5bf2ae7599cf10eb84836
https://github.com/llvm/llvm-project/commit/11e482c4a32be6a315e5bf2ae7599cf10eb84836
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
Log Message:
-----------
RegAllocGreedy: Add dummy priority advisor for writing MIR tests (#121207)
I regularly struggle reproducing failures in greedy due to changes
in priority when resuming the allocation from MIR vs. a complete
compilation starting at IR. That is, the fix in
e0919b189bf2df4f97f22ba40260ab5153988b14 did not really fix the
problem of the instruction distance mattering.
Add a way to bypass all of the priority heuristics for MIR tests,
by prioritizing only by virtual register number. Could also
give this a more specific name, like PrioritizeLowVirtRegNumber
Commit: 40ac34c518985f4ff119d2e67a5a412cc951104a
https://github.com/llvm/llvm-project/commit/40ac34c518985f4ff119d2e67a5a412cc951104a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/__type_traits/type_list.h
Log Message:
-----------
[libc++] Make __type_list variadic (#121117)
This makes these lists signficiantly more readable.
Commit: 4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
https://github.com/llvm/llvm-project/commit/4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libcxx/.clang-tidy
M libcxx/test/libcxx/clang_tidy.gen.py
Log Message:
-----------
[libc++] Run clang-tidy only once per header (#121436)
There doesn't seem to be much of a reason to run clang-tidy twice per
headers, and running it only once makes the test a few seconds faster.
Commit: 7326e903d72ba390a6368ff3e9eb2ab2251a1b13
https://github.com/llvm/llvm-project/commit/7326e903d72ba390a6368ff3e9eb2ab2251a1b13
Author: Brooks Davis <brooks at one-eyed-alien.net>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/runtime/stop.cpp
Log Message:
-----------
flang: fix backtrace build on FreeBSD (#120297)
FreeBSD's libexecinfo defines backtrace with a size_t for the size
argument and return type. This almost certainly doesn't make sense, but
what's done is done so cast the output to allow compilation. Otherwise
we get:
.../flang/runtime/stop.cpp:165:13: error: non-constant-expression cannot
be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in
initializer list [-Wc++11-narrowing]
165 | int nptrs{backtrace(buffer, MAX_CALL_STACK)};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: cbff02b101c20ad6557d64c998d03dab5ee4aad7
https://github.com/llvm/llvm-project/commit/cbff02b101c20ad6557d64c998d03dab5ee4aad7
Author: hatoo <hato2000 at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc] Fix invalid syntax in example of emitc.return (#121112)
A return type of `emitc.func` must be specified with `->` instead of
`:`. I've verified the syntax using `mlir-translate --mlir-to-cpp`.
Commit: 5ed6229019de43df0ff4b3e73097781e0f1a6651
https://github.com/llvm/llvm-project/commit/5ed6229019de43df0ff4b3e73097781e0f1a6651
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
Log Message:
-----------
[VectorCombine] Add scalarizeLoadExtract infinite loop test from #120984 regression
scalarizeLoadExtract replaces instructions up the use list, which can result in the vectorcombine worklist adding users back to the worklist when they should really be erased first.
Commit: f739aa4004165dc64d3a1f418d5ad3c84886f01a
https://github.com/llvm/llvm-project/commit/f739aa4004165dc64d3a1f418d5ad3c84886f01a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] replaceValue - add "VC: Replacing" debug message to help the log show replacement for old/new.
Commit: 1849244685bc42b07b1b14e3f62e15c535e74c39
https://github.com/llvm/llvm-project/commit/1849244685bc42b07b1b14e3f62e15c535e74c39
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
Log Message:
-----------
[CodeGen] Remove atEnd method from defusechain iterators (#120610)
This was not used much and there are better ways of writing it.
Commit: 5de7af4b9f05c7a9fb3775f45627b50aba47869b
https://github.com/llvm/llvm-project/commit/5de7af4b9f05c7a9fb3775f45627b50aba47869b
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[llvm][Support][Windows] Fix slash in path for remove_directories (#121448)
Before 925471ed903dad871042d7ed0bab89ab6566a564 remove_directories
supports path with slash (instead of backslash).
The ILCreateFromPathW in new implementation requires backslash path,
so the call to remove_directories will fail if the path contains slash.
This is to normalize the path to make sure remove_directories still
support path with slash as well.
Commit: bca92b12588d63556b749b4627af0112cd2d05c6
https://github.com/llvm/llvm-project/commit/bca92b12588d63556b749b4627af0112cd2d05c6
Author: Angus Lees <gus at inodes.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Allow SupportTests to be built remotely and cached (#121375)
`SupportTests` fails in the bazel macOS sandbox, because
`FileSystemTest.permissions` expects to be able to modify file
permissions on some otherwise protected files.
Previously this test was marked `local` in bazel, which has
additional undesirable effects such as skipping remote build and cache.
Tighten the bazel tags to just `no-sandbox`. Note in particular, that
this allows the test to build, execute, and cache remotely (if
configured).
Testing:
- Verified this test fails (as expected) on macOS with no tags, and
passes with `no-sandbox`.
- Verified this test passes when executed remotely (using an Engflow RBE
setup) with `no-sandbox`.
Commit: dd30aa83aa12e5b2b5e58cb72ec85070f725df34
https://github.com/llvm/llvm-project/commit/dd30aa83aa12e5b2b5e58cb72ec85070f725df34
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Simplify compound check for readability [nfc] (#121504)
I misread this check earlier today on a review, so restructure it to be
easier to quickly scan.
Commit: 035e64c0ec02b237a266ebc672718037fdd53eb2
https://github.com/llvm/llvm-project/commit/035e64c0ec02b237a266ebc672718037fdd53eb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands (REAPPLIED)
As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.
This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.
Reapplied with a fix for foldSingleElementStore/scalarizeLoadExtract which were replacing/removing memory operations - we need to ensure that the worklist is populated in the correct order so all users of the old memory operations are erased first, so there are no remaining users of the loads when its time to remove them as well.
Pulled out of #120984
Commit: 5236e3dac59e16630a3730c84c2d3d65970a6db3
https://github.com/llvm/llvm-project/commit/5236e3dac59e16630a3730c84c2d3d65970a6db3
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
Log Message:
-----------
[Flang][Alias analysis] Fix alias analysis for omp private allocatable item (#120243)
Flang alias analysis crashes for omp private allocatable item. The issue
is described here : https://github.com/llvm/llvm-project/issues/116954 .
We know that private value can't alias with anything else unless it is POINTER
or TARGET. That's why we can simplify alias analysis logic.
Commit: 5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
https://github.com/llvm/llvm-project/commit/5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use removeDeadRecipes in optimizeForVFAndUF (NFCI)
Split off from https://github.com/llvm/llvm-project/pull/108378.
Commit: 3a423a10ff83684332195b5191b16f12c81985ba
https://github.com/llvm/llvm-project/commit/3a423a10ff83684332195b5191b16f12c81985ba
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll
Log Message:
-----------
[MemProf][PGO] Prevent dropping of profile metadata during optimization (#121359)
This patch fixes a couple of places where memprof-related metadata
(!memprof and !callsite) were being dropped, and one place where PGO
metadata (!prof) was being dropped.
All were due to instances of combineMetadata() being invoked. That
function drops all metadata not in the list provided by the client, and
also drops any not in its switch statement.
Memprof metadata needed a case in the combineMetadata switch statement.
For now we simply keep the metadata of the instruction being kept, which
doesn't retain all the profile information when two calls with
memprof metadata are being combined, but at least retains some.
For the memprof metadata being dropped during call CSE, add memprof and
callsite metadata to the list of known ids in combineMetadataForCSE.
Neither memprof nor regular prof metadata were in the list of known ids
for the callsite in MemCpyOptimizer, which was added to combine AA
metadata after optimization of byval arguments fed by memcpy
instructions, and similar types of optimizations of memcpy uses.
There is one other callsite of combineMetadata, but it is only invoked
on load instructions, which do not carry these types of metadata.
Commit: cd19f3f787b01481fd687834457686e16fffdbe6
https://github.com/llvm/llvm-project/commit/cd19f3f787b01481fd687834457686e16fffdbe6
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
A clang/test/Driver/spirv-openmp-toolchain.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Driver][clang-linker-wrapper] Add initial support for OpenMP offloading to generic SPIR-V (#120145)
This is the first of a series of patches to add support for OpenMP
offloading to SPIR-V through liboffload with the first intended target
being Intel GPUs. This patch implements the basic driver and
`clang-linker-wrapper` work for JIT mode. There are still many missing
pieces, so this is not yet usable.
We introduce `spirv64-intel-unknown` as the only currently supported
triple. The user-facing argument to enable offloading will be `-fopenmp
-fopenmp-targets=spirv64-intel`
Add a new `SPIRVOpenMPToolChain` toolchain based on the existing general
SPIR-V toolchain which will call all the required SPIR-V tools (and
eventually the SPIR-V backend) as well as add the corresponding device
RTL as an argument to the linker.
We can't get through the front end consistently yet, so it's difficult
to add any LIT tests that execute any tools, but front end changes are
planned very shortly, and then we can add those tests.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 4922350407127607a9e78fc6d19f3f6278b1e46b
https://github.com/llvm/llvm-project/commit/4922350407127607a9e78fc6d19f3f6278b1e46b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port cd19f3f787b0
Commit: f03b100e93196ca1ecec20fde3fc48690b3dad7e
https://github.com/llvm/llvm-project/commit/f03b100e93196ca1ecec20fde3fc48690b3dad7e
Author: 王宇逸 <Strawberry_Str at hotmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/mingw-refptr.ll
Log Message:
-----------
[Cygwin] Fix global variable dll import (#121439)
This PR is necessary for cygwin target of Rust.
References:
*
https://github.com/rust-lang/llvm-project/commit/86657cc39f8e42ae73be810fb0703ddac0eeef94
*
https://github.com/Berrysoft/llvm-project/commit/a807e9f077351d3c6a68f4abe74c94a039759a2e
Commit: f6cb56902c6dcafede21eb6662910b6ff661fc0f
https://github.com/llvm/llvm-project/commit/f6cb56902c6dcafede21eb6662910b6ff661fc0f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Attributes.cpp
A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/TableGen.cpp
A llvm/utils/TableGen/Basic/TableGen.h
A llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
R llvm/utils/TableGen/DirectiveEmitter.cpp
R llvm/utils/TableGen/IntrinsicEmitter.cpp
R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/TableGen.cpp
R llvm/utils/TableGen/VTEmitter.cpp
A llvm/utils/TableGen/llvm-min-tblgen.cpp
A llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)
All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.
While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.
I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.
Commit: 06b6161d3fa9d69a07e9046dbdd2e230b257d948
https://github.com/llvm/llvm-project/commit/06b6161d3fa9d69a07e9046dbdd2e230b257d948
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Attributes.cpp
R llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
R llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
R llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
R llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/Basic/TableGen.cpp
R llvm/utils/TableGen/Basic/TableGen.h
R llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
A llvm/utils/TableGen/DirectiveEmitter.cpp
A llvm/utils/TableGen/IntrinsicEmitter.cpp
A llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/TableGen.cpp
A llvm/utils/TableGen/VTEmitter.cpp
R llvm/utils/TableGen/llvm-min-tblgen.cpp
R llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
Revert "[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)"
This reverts commit f6cb56902c6dcafede21eb6662910b6ff661fc0f.
Buildbot failures such as https://lab.llvm.org/buildbot/#/builders/89/builds/13541:
```
/usr/bin/ld: utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o: undefined reference to symbol '_ZN4llvm23EnableABIBreakingChecksE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib/libLLVMSupport.so.20.0git: error adding symbols: DSO missing from command line
```
Going to investigate.
Commit: 4b577830033066cfd1b2acf4fcf39950678b27bd
https://github.com/llvm/llvm-project/commit/4b577830033066cfd1b2acf4fcf39950678b27bd
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] fopencookie support. (#120864)
Commit: c703b4645c79e889fd6a0f3f64f01f957d981aa4
https://github.com/llvm/llvm-project/commit/c703b4645c79e889fd6a0f3f64f01f957d981aa4
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/ir.py
M mlir/test/python/ir/dialects.py
Log Message:
-----------
[mlir][py] Enable loading only specified dialects during creation. (#121421)
Gives option post as global list as well as arg to control which
dialects are loaded during context creation. This enables setting either
a good base set or skipping in individual cases.
Commit: 976f3a078bbac1889aa9e68e297f73f111a896d6
https://github.com/llvm/llvm-project/commit/976f3a078bbac1889aa9e68e297f73f111a896d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update RISCV maintainers (#121301)
Add Philip Reames and myself as maintainers. I think between the two of
us we do a lot of the patch reviews.
Commit: 2291d0aba927b885cf39150e59fde466a2524bb5
https://github.com/llvm/llvm-project/commit/2291d0aba927b885cf39150e59fde466a2524bb5
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/neg-abs.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll
Log Message:
-----------
[DAGCombiner] Turn `(neg (max x, (neg x)))` into `(min x, (neg x))` (#120666)
This pattern was originally spotted in 429.mcf by @topperc.
We already have a DAGCombiner pattern to turn `(neg (abs x))` into `(min
x, (neg x))`. But in some cases `(neg (max x, (neg x)))` is formed by an
expanded `abs` followed by a `neg` that is generated only after the
`abs` expansion. This patch adds a separate pattern to match cases like
this, as well as its inverse pattern: `(neg (min X, (neg X))) --> (max
X, (neg X))`.
This pattern is applicable to both signed and unsigned min/max.
Commit: 3cac26f5419b68d37e1919001e1c46a765df294f
https://github.com/llvm/llvm-project/commit/3cac26f5419b68d37e1919001e1c46a765df294f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/RISCV/RISCVCombine.td
A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
Log Message:
-----------
[GISel] Combine `(neg (min/max x, (neg x)))` into `(max/min x, (neg x))` (#120998)
This is the GISel version of #120666. Also supports both unsigned and
signed version of min & max.
Commit: 4010e0c45b87e4d073c407cae787e96d4808ad36
https://github.com/llvm/llvm-project/commit/4010e0c45b87e4d073c407cae787e96d4808ad36
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Use __attribute__((__noreturn__)) for _Noreturn in C < 11 (#121252)
When in modes like C99, the _Noreturn keyword is not available in
C. But GNU-compatible compilers have a `noreturn` attribute with
the same effect on function declarations.
Commit: 4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
https://github.com/llvm/llvm-project/commit/4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
R flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
A flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
Log Message:
-----------
[flang][cuda] Add operation to sync global descriptor (#121520)
Introduce cuf.sync_descriptor to be used to sync device global
descriptor after pointer association.
Also move CUFCommon so it can be used in FIRBuilder lib as well.
Commit: 6dcd2b035da34fa53693b401139a419adb7342db
https://github.com/llvm/llvm-project/commit/6dcd2b035da34fa53693b401139a419adb7342db
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
A flang/test/Fir/CUDA/cuda-sync-desc.mlir
Log Message:
-----------
[flang][cuda] Convert cuf.sync_descriptor to runtime call (#121524)
Convert the op to a new entry point in the runtime
`CUFSyncGlobalDescriptor`
Commit: 532a2691bc015fafdd356c10b17c466fe28c49b1
https://github.com/llvm/llvm-project/commit/532a2691bc015fafdd356c10b17c466fe28c49b1
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-01-03 (Fri, 03 Jan 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/Disassembler/RISCVDisassembler.cpp
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
A llvm/test/MC/RISCV/xqcicli-invalid.s
A llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcicli (Conditional Load Immediate) extension (#121292)
This extension adds 12 instructions that conditionally load an immediate
value.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: 8e404509cc130d95f09f255649a87446ca81b187
https://github.com/llvm/llvm-project/commit/8e404509cc130d95f09f255649a87446ca81b187
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s
Log Message:
-----------
[JITLink][RISCV] Add feature relax for addsub tests. NFC (#121204)
R_RISCV_{ADD*/SUB*} relocations are kept only when feature relax
enabled. So it is better to add relax to the test, so that relocs can be
reserved for processing by the jitlink. That's what this test really
wants to test.
Commit: 3792b36234b6c87d728f0a905543e284bf961460
https://github.com/llvm/llvm-project/commit/3792b36234b6c87d728f0a905543e284bf961460
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/LTO.cpp
M lld/wasm/MapFile.cpp
M lld/wasm/MarkLive.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Replace config-> with ctx.arg.
Change the global variable reference to a member access of another
variable `ctx`. In the future, we may pass through `ctx` to functions to
eliminate global variables.
Pull Request: https://github.com/llvm/llvm-project/pull/119835
Commit: 7531672712b0fb517f1818d512fbdfa6feed4232
https://github.com/llvm/llvm-project/commit/7531672712b0fb517f1818d512fbdfa6feed4232
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Remove unused variable (#121533)
Failed buildbot after https://github.com/llvm/llvm-project/pull/121524
Commit: c1ecc0d168ad122d858dd5fec475da391f97e959
https://github.com/llvm/llvm-project/commit/c1ecc0d168ad122d858dd5fec475da391f97e959
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pcm-with-errors.cpp
Log Message:
-----------
[clang] Allow generating module interfaces with parsing errors (#121485)
Fixes a regression introduced in commit
da00c60dae0040185dc45039c4397f6e746548e9
This functionality was originally added in commit
5834996fefc937d6211dc8c8a5b200068753391a
Co-authored-by: Tomasz Kaminski <tomasz.kaminski at sonarsource.com>
Commit: e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
https://github.com/llvm/llvm-project/commit/e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
Revert "[compiler-rt][rtsan] fopencookie support." (#121537)
Reverts llvm/llvm-project#120864 because it broke building compiler-rt
on Mac.
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8726812736235038609/overview
Commit: 510a5c7fc25b2a3c33679480131cd60049747dd1
https://github.com/llvm/llvm-project/commit/510a5c7fc25b2a3c33679480131cd60049747dd1
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/linkerscript/discard-section-dynsym.s
Log Message:
-----------
[ELF] Fix .gnu.version crash when .dynsym is discarded
Fix #88650
In addition, delete the unneeded comment.
https://sourceware.org/gnu-gabi/program-loading-and-dynamic-linking.txt
Commit: 9df375e5eae726c5a90ada70f9535a5e22e90214
https://github.com/llvm/llvm-project/commit/9df375e5eae726c5a90ada70f9535a5e22e90214
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A lld/test/wasm/dylink-non-pie.s
M lld/wasm/Relocations.cpp
Log Message:
-----------
[lld][WebAssembly] Fix non-pie dynamic-linking executable (#108146)
The commit 22b7b84860d39da71964c9b329937f2ee1d875ba
made the symbols provided by shared libraries "defined",
and thus effectively made it impossible to generate non-pie
dynamically linked executables using
--unresolved-symbols=import-dynamic.
This commit, based on https://github.com/llvm/llvm-project/pull/109249,
fixes it by checking sym->isShared() explictly.
(as a bonus, you don't need to rely on
--unresolved-symbols=import-dynamic
anymore.)
Fixes https://github.com/llvm/llvm-project/issues/107387
Commit: e4372c4454c963c9f52dbf2a10229797f3f1e6fc
https://github.com/llvm/llvm-project/commit/e4372c4454c963c9f52dbf2a10229797f3f1e6fc
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for tls-desc scheduling. NFC (#121538)
Code sequence for tls-desc in large code model is not expected to be
scheduled according to psABI 2.30.
A later commit will fix it.
Commit: 56e944bede9654127cc210506a6cccdd43cd96e7
https://github.com/llvm/llvm-project/commit/56e944bede9654127cc210506a6cccdd43cd96e7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
Log Message:
-----------
[NFC] add anonymous namespace to a couple classes (#121511)
This ensures these classes are visible only to the appropriate
translation unit and allows for more optimizations.
Commit: b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
https://github.com/llvm/llvm-project/commit/b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Fix bug in source file name finding in DebuggerSupportPlugin.
The debug section map was using MachO section names (with the "__" prefix), but
DWARFContext expects section names with the object format prefix stripped off.
This was preventing DWARFContext from accessing the debug_str section,
resulting in bogus source name strings.
Commit: 1c997feff16860ab6b21c5c03dc7ca65f300967f
https://github.com/llvm/llvm-project/commit/1c997feff16860ab6b21c5c03dc7ca65f300967f
Author: dmasloff <74042473+dmasloff at users.noreply.github.com>
Date: 2025-01-02 (Thu, 02 Jan 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/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add option WrapNamespaceBodyWithNewlines (#106145)
It wraps the body of namespace with additional newlines, turning this code:
```
namespace N {
int function();
}
```
into the following:
```
namespace N {
int function();
}
```
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 72db3f989e499c8c5d585d3624cd563600cd2396
https://github.com/llvm/llvm-project/commit/72db3f989e499c8c5d585d3624cd563600cd2396
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Allow tail memcmp expansion (#121460)
This optimization was introduced by #70469.
Like AArch64, we allow tail expansions for 3 on RV32 and 3/5/6
on RV64.
This can simplify the comparison and reduce the number of blocks.
Commit: 93a68a5188b6aa940f51d8ce0317299409f828ae
https://github.com/llvm/llvm-project/commit/93a68a5188b6aa940f51d8ce0317299409f828ae
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Testcase requires asserts as it depends on debugging output.
Commit: febe1a9d286df495ca342011b3134823eee37557
https://github.com/llvm/llvm-project/commit/febe1a9d286df495ca342011b3134823eee37557
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
Log Message:
-----------
[ORC] Use structured binding to improve readability. NFC.
Commit: 30b73ed7bd8934c32e4bd5430bccf52a226deabd
https://github.com/llvm/llvm-project/commit/30b73ed7bd8934c32e4bd5430bccf52a226deabd
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Avoid another race condition in MachOPlatform bootstrap.
Similar to a9e75b1d4d1: During MachOPlatform bootstrap we need to defer actions
until essential platform functionality has been loaded, but the platform itself
may be loaded under a concurrent dispatcher so we have to guard against the
deferred actions vector being accessed concurrently.
This fixes a probablistic failure in the ORC runtime regression tests on
Darwin/x86-64 that was spotted after edca1d9bad2 (which turned on concurrent
linking by default in llvm-jitlink).
Commit: 82fecab85ae2d72ffac0e44749d99f12d6f71cc0
https://github.com/llvm/llvm-project/commit/82fecab85ae2d72ffac0e44749d99f12d6f71cc0
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/code-coverage.c
M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/version.ll
Log Message:
-----------
[gcov] Bump default version to 11.1
The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.
Therefore, we can drop producer support for version < 11.1.
Commit: 3ef78188d0d39cd00429f77f1b300be9bdf85770
https://github.com/llvm/llvm-project/commit/3ef78188d0d39cd00429f77f1b300be9bdf85770
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
Log Message:
-----------
[PowerPC] Use `RegisterClassInfo::getRegPressureSetLimit` (#120383)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: 27f30029741ecf023baece7b3dde1ff9011ffefc
https://github.com/llvm/llvm-project/commit/27f30029741ecf023baece7b3dde1ff9011ffefc
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Attributes.cpp
A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/TableGen.cpp
A llvm/utils/TableGen/Basic/TableGen.h
A llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
R llvm/utils/TableGen/DirectiveEmitter.cpp
R llvm/utils/TableGen/IntrinsicEmitter.cpp
R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/TableGen.cpp
R llvm/utils/TableGen/VTEmitter.cpp
A llvm/utils/TableGen/llvm-min-tblgen.cpp
A llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)
All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.
While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.
I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.
Commit: 67ff11ea5b2d2d51fa634361dd88c6dc9429706a
https://github.com/llvm/llvm-project/commit/67ff11ea5b2d2d51fa634361dd88c6dc9429706a
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch] Avoid scheduling tls-desc code sequence in large code model (#121541)
Commit: 8b23ebb498bc67f03571b1d429771b28868b8932
https://github.com/llvm/llvm-project/commit/8b23ebb498bc67f03571b1d429771b28868b8932
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16[MC] true16 for v_max3/min3_num_f16 (#121510)
V_MAX3/MIN3_NUM_F16 are alias GFX12 instructions with V_MAX3/MIN3_F16 in
GFX11 and they should be updated together.
This fix a bug introduced in
https://github.com/llvm/llvm-project/pull/113603 such that only
V_MAX3/MIN3_F16 are replaced in true16 format. Also added GFX12 runlines
for CodeGen test
Commit: 9f6a1ddb43133328c90edfa29ccd4c714b289cb6
https://github.com/llvm/llvm-project/commit/9f6a1ddb43133328c90edfa29ccd4c714b289cb6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Introduce `FoldTensorCastUnPackOp` (#121393)
This patch specializes `FoldTensorCastProducerOp` for `tensor::UnPackOp` by
introducing a dedicated pattern: `FoldTensorCastUnPackOp`. This mirrors a
similar update made for `tensor::PackOp` in #114559. Below is the updated
rationale tailored to `tensor::UnPackOp`.
ISSUE DESCRIPTION
Currently, `FoldTensorCastProducerOp` incorrectly folds the following:
```mlir
%cast = tensor.cast %dest : tensor<1x1x8x1xi32> to tensor<1x1x?x1xi32>
// Note: `%c8` and `?`.
%unpack = tensor.unpack %cast
inner_dims_pos = [0, 1]
inner_tiles = [%c8, 1]
into %res : tensor<1x1x?x1xi32> -> tensor<7x?xi32>
```
as:
```mlir
// Note: `%c8` and `8`.
%unpack = tensor.unpack %cast
inner_dims_pos = [0, 1]
inner_tiles = [%c8, 1]
into %res : tensor<1x1x8x1xi32> -> tensor<7x?xi32>
```
This triggers an Op verification failure because the folder does not
update the inner tile sizes in the unpack Op. This patch addresses the
issue by ensuring proper handling of inner tile sizes.
ADDITIONAL CHANGES
* invalid.mlir: Fixed a typo.
* TensorOps.cpp:
* Removed unnecessary `(void)tileSize`.
* Added comments following the discussion in PR #115772.
* Made minor updates to `FoldTensorCastPackOp` for consistency with the newly
introduced `FoldTensorCastUnPackOp`.
* Tensor/canonicalize.mlir: Ensured consistent usage of `test_attr` (e.g.,
replaced mixed use of `test_attr` and `some_attr`).
Commit: 258256821753504836f797e38d83a8e88daa424d
https://github.com/llvm/llvm-project/commit/258256821753504836f797e38d83a8e88daa424d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
Log Message:
-----------
[mlir] Add missing patterns to `linalg.decompose_pack_unpack` TD Op (#121400)
This PR is a follow-up to #116373 and #116439, where a Transform Dialect
(TD) operation was introduced to collect patterns for decomposing
tensor.pack. The second patch renamed the patterns and the TD Op.
Originally, adding patterns for `tensor.unpack` was marked as a TODO,
which this PR addresses.
No new tests are introduced in this PR. Instead, existing tests from:
* "decompose-tensor-unpack.mlir"
are reused. To achieve this:
* The test is updated to use the TD operation
`transform.apply_patterns.linalg.decompose_pack_unpack` instead of the
flag `--test-linalg-transform-patterns="test-decompose-tensor-unpack"`,
avoiding artificial tests created solely for the TD Op.
* The TD sequence is saved to a new file, "decompose_unpack.mlir", and
preloaded using the option.
Commit: 2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
https://github.com/llvm/llvm-project/commit/2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add support of Sdext,Sdtrig extentions (#120936)
`Sdext` and `Sdtrig` are RISC-V extensions related to debugging.
The full specification can be found at
https://github.com/riscv/riscv-debug-spec/releases/download/1.0.0-rc4/riscv-debug-specification.pdf
Commit: e4e47cef55886036651ff7f0dfd8475d3a158a4c
https://github.com/llvm/llvm-project/commit/e4e47cef55886036651ff7f0dfd8475d3a158a4c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix the broken llvm-tblgen build for 27f30029741ecf023baece7b3dde1ff9011ffefc
Commit: 366e836051adf5eb352b00828541197729e061e6
https://github.com/llvm/llvm-project/commit/366e836051adf5eb352b00828541197729e061e6
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
Log Message:
-----------
[RISCV][NFC] precommit test for fcmp with f16
Commit: ad192f9f20ad48188b80855c085a0ad7266e0056
https://github.com/llvm/llvm-project/commit/ad192f9f20ad48188b80855c085a0ad7266e0056
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Restrict check-dwarf-filename test to Darwin for now.
This test is failing on Windows (see e.g.
https://lab.llvm.org/buildbot/#/builders/146/builds/1983), probably due to
incomplete debugger support there (the test registers debug info in-process, so
non-Darwin builds shouldn't be expected to have the right symbols).
Commit: cdad18319425a7bf93cc25b276a7961fe5b1168b
https://github.com/llvm/llvm-project/commit/cdad18319425a7bf93cc25b276a7961fe5b1168b
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/Analysis/embed.c
Log Message:
-----------
[clang] Fix #embed "fast path" (#121479)
When a single #embed directive is used to initialize a char array, the
case is optimized via swap of EmbedExpr to underlying StringLiteral,
resulting in better performance in AST consumers.
While browsing through the code, I realized that
7122b70cfc8e23a069410215c363da76d842bda4
which changed type of EmbedExpr made the "fast path" unreachable. This
patch fixes this unfortunate situation.
Commit: e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
https://github.com/llvm/llvm-project/commit/e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - fold shuffle(binop(shuffle(x),shuffle(z)),binop(shuffle(y),shuffle(w)) -> binop(shuffle(x,z),shuffle(y,w)) (#120984)
Some patterns (in particular horizontal style patterns) can end up with shuffles straddling both sides of a binop/cmp.
Where individually the folds aren't worth it, by merging the (oneuse) shuffles we can notably reduce the net instruction count and cost.
One of the final steps towards finally addressing #34072
Commit: d3eb65f15dfda454424125b2fa675378bd350889
https://github.com/llvm/llvm-project/commit/d3eb65f15dfda454424125b2fa675378bd350889
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Lowering aligned clause to LLVM IR for SIMD directive (#119536)
This patch,
- Added a translation support for aligned clause in SIMD directive by passing the alignment details to "llvm.assume" intrinsic.
- Updated the insertion point for llvm.assume intrinsic call in "OMPIRBuilder.cpp".
- Added a check in aligned clause MLIR lowering, to ensure that the alignment value must be a power of 2.
Commit: 2e41489d7b1498ec8a18b99e6d7db9e946f2d786
https://github.com/llvm/llvm-project/commit/2e41489d7b1498ec8a18b99e6d7db9e946f2d786
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
Log Message:
-----------
[Clang] Fix unexpanded packs in NTTP type constraints (#121296)
In the case where a type-constraint on an NTTP contains a pack, we form
a PackExpansionType to model it. However, there are a few places
expecting it to be a non-pack expansion, and luckily only small changes
could make them work.
Fixes https://github.com/llvm/llvm-project/issues/88866
Commit: 85849917f7ba19f6906f64726dc5e7101f8984ce
https://github.com/llvm/llvm-project/commit/85849917f7ba19f6906f64726dc5e7101f8984ce
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] Reland "fopencookie support." (#120864) (#121547)
Commit: 579ced4f8266b273d15b2801067a828151a222ef
https://github.com/llvm/llvm-project/commit/579ced4f8266b273d15b2801067a828151a222ef
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/python/mlir/dialects/transform/structured.py
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[MLIR][Python] Add structured.fuseop to python interpreter (#120601)
Implements a python interface for structured.fuseOp allowing more freedom with inputs.
Commit: f87a9db8322643ccbc324e317a75b55903129b55
https://github.com/llvm/llvm-project/commit/f87a9db8322643ccbc324e317a75b55903129b55
Author: David Green <david.green at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Expand fp64 bf16 converts similarly to f32
This helps with +fp64 targets where the f64s are legal and not previously
lowered. It can treat fpextends as a shift + cvt and fptrunc can use a libcall.
Commit: 5cf138cfbaa8040100fed1d0d5e0a189759b24ab
https://github.com/llvm/llvm-project/commit/5cf138cfbaa8040100fed1d0d5e0a189759b24ab
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
Log Message:
-----------
[llvm][JITLink][LoongArch] Fix bit extraction on 32 bit platforms
This shifted `1UL` to make the mask. On 32 bit Linux UL is 32 bit,
so if Hi+1 was >= 32 then you'd get the wrong result here.
The other version of this uses 1ULL, but using the uint64_t typename
here saves someone going to check what ULL means on different platforms.
This fixes test failures seen on Linaro's 32 bit bots:
https://lab.llvm.org/buildbot/#/builders/39/builds/3700
https://lab.llvm.org/buildbot/#/builders/122/builds/781
Though I cannot say exactly why this fixes them. Does not seem
like the new code was triggering this problem, but somehow it
must be.
Commit: cba9c6ac15b462e68cf76d496ba0f832a531db8b
https://github.com/llvm/llvm-project/commit/cba9c6ac15b462e68cf76d496ba0f832a531db8b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix typo in parameter name annotation comment.
Found by ClangTidyBugProne check.
Commit: b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
https://github.com/llvm/llvm-project/commit/b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn] port 27f30029741e (yet another tblgen reorg)
Commit: d598829375634da42910e2624f181f6b843bdc8b
https://github.com/llvm/llvm-project/commit/d598829375634da42910e2624f181f6b843bdc8b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn] make LLVMTableGenCommon a static_library again
Else TableGenTests doesn't link.
Commit: e53494c750246118c313b3cbf7479edb682f2208
https://github.com/llvm/llvm-project/commit/e53494c750246118c313b3cbf7479edb682f2208
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
Log Message:
-----------
[mlir] Fix 0 values passed to the wrong parameters.
This was found by modernize-use-nullptr ClangTidy check, which suggested
to pass nullptr instead of 0 to DIFileAttr.
However it looks like the intention was to pass the two 0 values for
line and scopeLine, and we should pass {} to DIFileAttr. Do that change.
Commit: 119fc720a19e047fee59d7f7446c911b158563e0
https://github.com/llvm/llvm-project/commit/119fc720a19e047fee59d7f7446c911b158563e0
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/Driver/spirv-openmp-toolchain.c
Log Message:
-----------
NFC, explicitly specify the -fopenmp lib in spirv-openmp-toolchain.c test
Don't rely on the default `CLANG_DEFAULT_OPENMP_RUNTIME` env variable
which is `libomp` by default.
Commit: 6cd171dc3330a055a8d8a1ddff63631d42150b8a
https://github.com/llvm/llvm-project/commit/6cd171dc3330a055a8d8a1ddff63631d42150b8a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/linkrepro-thin-archives.s
Log Message:
-----------
[lld/COFF] Support thin archives in /reproduce: files (#121512)
This already worked without /wholearchive; now it works with it too.
(Only for thin archives containing relative file names, matching the ELF
and Mach-O ports.)
Commit: e576c5bed79f8a9528391756c8475cc3a6276adf
https://github.com/llvm/llvm-project/commit/e576c5bed79f8a9528391756c8475cc3a6276adf
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
Log Message:
-----------
Fix an incorrect -show-graph command-line flag in COFF_comdat_weak_plus_strong.s test
The flag -show-graph has been renamed to -show-graphs in 01bdd8cffcaf97636b5fb6ee4933e62c872528d3
Commit: df859f90aab261918eee26382021e8455b532f7d
https://github.com/llvm/llvm-project/commit/df859f90aab261918eee26382021e8455b532f7d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.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/test/Lower/OpenMP/Todo/error.f90
M flang/test/Parser/OpenMP/error-unparse.f90
A flang/test/Parser/OpenMP/nothing.f90
Log Message:
-----------
[flang][OpenMP] Frontend support for NOTHING directive (#120606)
Create OpenMPUtilityConstruct and put the two utility directives in it
(error and nothing). Rename OpenMPErrorConstruct to OmpErrorDirective.
Commit: 62b5cf041059a90215788a0bfefb8fc180fd0b5a
https://github.com/llvm/llvm-project/commit/62b5cf041059a90215788a0bfefb8fc180fd0b5a
Author: Florian Mayer <fmayer at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
Log Message:
-----------
[Vectorizer] precommit test for miscompilation (#120731)
we generate GEPs that are out of bounds but mark them as "inbound"
Commit: e04a957c54b0f48f66ff3d35aa93c4537ce9eb69
https://github.com/llvm/llvm-project/commit/e04a957c54b0f48f66ff3d35aa93c4537ce9eb69
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-exceptions.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/linux-version.S
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/clangd/unittests/Matchers.h
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/index.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_immcheck_incl.td
M clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
A clang/lib/Basic/Targets/Xtensa.cpp
A clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/MatchFilePath.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/if.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/PR121201.cpp
M clang/test/Analysis/embed.c
A clang/test/Analysis/loop-assumptions.c
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/Analysis/misc-ps-region-store.m
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/basic/basic.link/p3.cpp
M clang/test/CodeGen/AArch64/fpm-helpers.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
R clang/test/CodeGen/atomic-test-and-set.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/builtin-memfns.c
M clang/test/CodeGen/code-coverage.c
A clang/test/CodeGen/sanitize-type-globals.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/CoverageMapping/single-byte-counters.cpp
R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
M clang/test/Driver/cl-options.c
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/spirv-openmp-toolchain.c
A clang/test/Driver/uefi-defines.c
M clang/test/Driver/unknown-arg-drivermodes.test
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
A clang/test/Modules/pcm-with-errors.cpp
A clang/test/Modules/pr120277.cppm
A clang/test/Modules/pr121066.cpp
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
M clang/test/Sema/atomic-ops.c
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/cxx20-decomposition.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/vector-bool.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/wait-construct.cpp
M clang/test/VFS/external-names.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/include-mapping/cppreference_parser.py
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
A compiler-rt/lib/builtins/truncxfhf2.c
M compiler-rt/lib/hwasan/CMakeLists.txt
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/msan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
M compiler-rt/lib/tysan/CMakeLists.txt
M compiler-rt/lib/tysan/tysan_interceptors.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
M compiler-rt/test/fuzzer/noasan-strcmp.test
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
M flang/docs/Extensions.md
M flang/include/flang/Common/idioms.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/OpenACC.h
A flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
R flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/derived-api.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
A flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/CUDA/kernel.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
M flang/runtime/exceptions.cpp
M flang/runtime/stop.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
A flang/test/Fir/CUDA/cuda-sync-desc.mlir
A flang/test/HLFIR/opt-variable-assign-omp.fir
A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Parser/OpenMP/nothing.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Transforms/loop-versioning.fir
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CharacterTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
A libc/cmake/modules/compiler_features/check_cfloat128.cpp
A libc/cmake/modules/compiler_features/check_cfloat16.cpp
M libc/config/baremetal/config.json
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
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/dev/header_generation.rst
M libc/docs/dev/index.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/full_cross_build.rst
M libc/docs/full_host_build.rst
R libc/hdrgen/CMakeLists.txt
R libc/hdrgen/class_implementation/classes/enumeration.py
R libc/hdrgen/class_implementation/classes/function.py
R libc/hdrgen/class_implementation/classes/macro.py
R libc/hdrgen/class_implementation/classes/object.py
R libc/hdrgen/class_implementation/classes/type.py
R libc/hdrgen/gpu_headers.py
R libc/hdrgen/header.py
R libc/hdrgen/tests/expected_output/test_header.h
R libc/hdrgen/tests/input/test_small.h.def
R libc/hdrgen/tests/input/test_small.yaml
R libc/hdrgen/tests/test_integration.py
R libc/hdrgen/yaml/arpa/inet.yaml
R libc/hdrgen/yaml/assert.yaml
R libc/hdrgen/yaml/complex.yaml
R libc/hdrgen/yaml/ctype.yaml
R libc/hdrgen/yaml/dirent.yaml
R libc/hdrgen/yaml/dlfcn.yaml
R libc/hdrgen/yaml/elf.yaml
R libc/hdrgen/yaml/errno.yaml
R libc/hdrgen/yaml/fcntl.yaml
R libc/hdrgen/yaml/features.yaml
R libc/hdrgen/yaml/fenv.yaml
R libc/hdrgen/yaml/float.yaml
R libc/hdrgen/yaml/gpu/rpc.yaml
R libc/hdrgen/yaml/inttypes.yaml
R libc/hdrgen/yaml/limits.yaml
R libc/hdrgen/yaml/link.yaml
R libc/hdrgen/yaml/locale.yaml
R libc/hdrgen/yaml/malloc.yaml
R libc/hdrgen/yaml/math.yaml
R libc/hdrgen/yaml/pthread.yaml
R libc/hdrgen/yaml/sched.yaml
R libc/hdrgen/yaml/search.yaml
R libc/hdrgen/yaml/setjmp.yaml
R libc/hdrgen/yaml/signal.yaml
R libc/hdrgen/yaml/spawn.yaml
R libc/hdrgen/yaml/stdbit.yaml
R libc/hdrgen/yaml/stdckdint.yaml
R libc/hdrgen/yaml/stdfix.yaml
R libc/hdrgen/yaml/stdint.yaml
R libc/hdrgen/yaml/stdio.yaml
R libc/hdrgen/yaml/stdlib.yaml
R libc/hdrgen/yaml/string.yaml
R libc/hdrgen/yaml/strings.yaml
R libc/hdrgen/yaml/sys/auxv.yaml
R libc/hdrgen/yaml/sys/epoll.yaml
R libc/hdrgen/yaml/sys/ioctl.yaml
R libc/hdrgen/yaml/sys/mman.yaml
R libc/hdrgen/yaml/sys/prctl.yaml
R libc/hdrgen/yaml/sys/random.yaml
R libc/hdrgen/yaml/sys/resource.yaml
R libc/hdrgen/yaml/sys/select.yaml
R libc/hdrgen/yaml/sys/sendfile.yaml
R libc/hdrgen/yaml/sys/socket.yaml
R libc/hdrgen/yaml/sys/stat.yaml
R libc/hdrgen/yaml/sys/statvfs.yaml
R libc/hdrgen/yaml/sys/syscall.yaml
R libc/hdrgen/yaml/sys/time.yaml
R libc/hdrgen/yaml/sys/types.yaml
R libc/hdrgen/yaml/sys/utsname.yaml
R libc/hdrgen/yaml/sys/wait.yaml
R libc/hdrgen/yaml/termios.yaml
R libc/hdrgen/yaml/threads.yaml
R libc/hdrgen/yaml/time.yaml
R libc/hdrgen/yaml/uchar.yaml
R libc/hdrgen/yaml/unistd.yaml
R libc/hdrgen/yaml/wchar.yaml
R libc/hdrgen/yaml_functions_sorted.py
R libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/include/__llvm-libc-common.h
A libc/include/arpa/inet.yaml
A libc/include/assert.yaml
A libc/include/complex.yaml
A libc/include/ctype.yaml
A libc/include/dirent.yaml
A libc/include/dlfcn.yaml
A libc/include/elf.yaml
A libc/include/errno.yaml
A libc/include/fcntl.yaml
A libc/include/features.yaml
A libc/include/fenv.yaml
A libc/include/float.yaml
R libc/include/gpu/rpc.h.def
A libc/include/inttypes.yaml
A libc/include/limits.yaml
A libc/include/link.yaml
A libc/include/locale.yaml
A libc/include/malloc.yaml
A libc/include/math.yaml
A libc/include/pthread.yaml
A libc/include/sched.yaml
A libc/include/search.yaml
A libc/include/setjmp.yaml
A libc/include/signal.yaml
A libc/include/spawn.yaml
A libc/include/stdbit.yaml
A libc/include/stdckdint.yaml
A libc/include/stdfix.yaml
A libc/include/stdint.yaml
A libc/include/stdio.yaml
A libc/include/stdlib.yaml
A libc/include/string.yaml
A libc/include/strings.yaml
A libc/include/sys/auxv.yaml
A libc/include/sys/epoll.yaml
A libc/include/sys/ioctl.yaml
A libc/include/sys/mman.yaml
A libc/include/sys/prctl.yaml
A libc/include/sys/random.yaml
A libc/include/sys/resource.yaml
A libc/include/sys/select.yaml
A libc/include/sys/sendfile.yaml
A libc/include/sys/socket.yaml
A libc/include/sys/stat.yaml
A libc/include/sys/statvfs.yaml
A libc/include/sys/syscall.yaml
A libc/include/sys/time.yaml
A libc/include/sys/types.yaml
A libc/include/sys/utsname.yaml
A libc/include/sys/wait.yaml
A libc/include/termios.yaml
A libc/include/threads.yaml
A libc/include/time.yaml
A libc/include/uchar.yaml
A libc/include/unistd.yaml
A libc/include/wchar.yaml
M libc/src/__support/RPC/CMakeLists.txt
M libc/src/compiler/generic/__stack_chk_fail.cpp
M libc/src/complex/cimagf128.h
M libc/src/complex/cimagf16.h
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
M libc/src/complex/cprojf128.h
M libc/src/complex/cprojf16.h
M libc/src/complex/crealf128.h
M libc/src/complex/crealf16.h
M libc/src/complex/generic/cimagf128.cpp
M libc/src/complex/generic/cimagf16.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/crealf128.cpp
M libc/src/complex/generic/crealf16.cpp
M libc/src/math/docs/add_math_function.md
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/complex/cimagf128_test.cpp
M libc/test/src/complex/cimagf16_test.cpp
M libc/test/src/complex/conjf128_test.cpp
M libc/test/src/complex/conjf16_test.cpp
M libc/test/src/complex/cprojf128_test.cpp
M libc/test/src/complex/cprojf16_test.cpp
M libc/test/src/complex/crealf128_test.cpp
M libc/test/src/complex/crealf16_test.cpp
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/utils/CMakeLists.txt
A libc/utils/hdrgen/CMakeLists.txt
A libc/utils/hdrgen/README.rst
A libc/utils/hdrgen/enumeration.py
A libc/utils/hdrgen/function.py
A libc/utils/hdrgen/gpu_headers.py
A libc/utils/hdrgen/header.py
A libc/utils/hdrgen/macro.py
A libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/test_small.h.def
A libc/utils/hdrgen/tests/input/test_small.yaml
A libc/utils/hdrgen/tests/test_integration.py
A libc/utils/hdrgen/type.py
A libc/utils/hdrgen/yaml_functions_sorted.py
A libc/utils/hdrgen/yaml_to_classes.py
M libcxx/.clang-tidy
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__cxx03/version
M libcxx/include/__functional/function.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/move.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/include/wctype.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/include/overridable_function.h
M libcxx/src/iostream.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/new.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
R libcxx/test/benchmarks/allocation.bench.cpp
A libcxx/test/benchmarks/locale/num_get.bench.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/test/libcxx/assertions/single_expression.pass.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
M libcxx/test/libcxx/selftest/test_macros.pass.cpp
M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/stdlib_new_delete.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
M lld/docs/ld.lld.1
A lld/test/COFF/Inputs/loadconfig-arm64.s
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64x-loadconfig.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/guard-warnings.s
A lld/test/COFF/linkrepro-thin-archives.s
A lld/test/COFF/loadcfg-short.test
A lld/test/COFF/loadcfg-size.test
A lld/test/COFF/loadcfg-uninitialized.test
M lld/test/COFF/thin-archive.s
M lld/test/ELF/linkerscript/discard-section-dynsym.s
M lld/test/ELF/openbsd-phdr.s
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer.s
A lld/test/wasm/dylink-non-pie.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/LTO.cpp
M lld/wasm/MapFile.cpp
M lld/wasm/MarkLive.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/posix/HostInfoPosix.h
M lldb/include/lldb/Utility/DiagnosticsRendering.h
M lldb/include/lldb/Utility/Status.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/SBError.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Host/posix/HostInfoPosix.cpp
M lldb/source/Host/posix/MainLoopPosix.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/source/Utility/LoongArch_DWARF_Registers.h
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
A lldb/test/API/macosx/sme-registers/Makefile
A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
A lldb/test/API/macosx/sme-registers/main.c
M lldb/tools/debugserver/source/DNBDefs.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/modules/Findzstd.cmake
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/Contributing.rst
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/GitHub.rst
M llvm/docs/MemTagSanitizer.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
A llvm/docs/Telemetry.rst
M llvm/docs/TestSuiteGuide.md
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/InstIterator.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/PostRASchedulerList.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
A llvm/lib/Passes/DroppedVariableStatsIR.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
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/AArch64LegalizerInfo.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/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/AVR/AVRDevices.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.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/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCombine.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.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/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
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/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
M llvm/test/CodeGen/AArch64/commandline-metadata.ll
A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
M llvm/test/CodeGen/AArch64/selectopt.ll
A llvm/test/CodeGen/AArch64/shuffle-select.ll
A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
R llvm/test/CodeGen/AArch64/whilewr.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/mesa3d.ll
A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
R llvm/test/CodeGen/AVR/branch-relaxation-long.ll
M llvm/test/CodeGen/AVR/sections.ll
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/mingw-refptr.ll
A llvm/test/CodeGen/X86/pr120906.ll
M llvm/test/CodeGen/Xtensa/simple.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/Mips/tls.ll
M llvm/test/DebugInfo/X86/header.ll
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
M llvm/test/MC/AArch64/armv8.3a-complex.s
M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
M llvm/test/MC/AArch64/armv8.3a-pauth.s
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/AArch64/armv8.4a-flagm.s
M llvm/test/MC/AArch64/armv8.6a-amvs.s
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
M llvm/test/MC/AArch64/neon-diagnostics.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
M llvm/test/MC/AMDGPU/user-sgpr-count.s
M llvm/test/MC/ARM/directive-object_arch-3.s
M llvm/test/MC/ARM/inst-directive-emit.s
M llvm/test/MC/AsmParser/exprs-invalid.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
M llvm/test/MC/ELF/nobits-non-zero-value.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/GOFF/ppa1.ll
M llvm/test/MC/Hexagon/arch-support.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
A llvm/test/MC/Hexagon/v75_arch.s
A llvm/test/MC/Hexagon/v79_arch.s
A llvm/test/MC/Mips/coff-basic.ll
A llvm/test/MC/Mips/coff-relocs.ll
M llvm/test/MC/Mips/dsp/valid.s
M llvm/test/MC/Mips/dspr2/valid.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-ld-sd.s
M llvm/test/MC/Mips/macro-seq.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
M llvm/test/MC/RISCV/Zawrs-valid.s
M llvm/test/MC/RISCV/Ztso.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compress-cjal.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/compress-rv32d.s
M llvm/test/MC/RISCV/compress-rv32f.s
M llvm/test/MC/RISCV/compress-rv32i.s
M llvm/test/MC/RISCV/compress-rv64i.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/corev/XCValu-valid.s
M llvm/test/MC/RISCV/corev/XCVmac-valid.s
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/RISCV/debug-valid.s
M llvm/test/MC/RISCV/deprecated-csr-names.s
M llvm/test/MC/RISCV/fixups-binary-expression.s
M llvm/test/MC/RISCV/fixups.s
M llvm/test/MC/RISCV/fp-default-rounding-mode.s
M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
M llvm/test/MC/RISCV/hypervisor-csr-names.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/insn_c.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/test/MC/RISCV/option-nopic.s
M llvm/test/MC/RISCV/option-pic.s
M llvm/test/MC/RISCV/option-pushpop.s
M llvm/test/MC/RISCV/option-rvc.s
M llvm/test/MC/RISCV/print-imm-hex.s
M llvm/test/MC/RISCV/priv-valid.s
M llvm/test/MC/RISCV/relocations.s
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-user-csr-names.s
M llvm/test/MC/RISCV/rv32c-aliases-valid.s
M llvm/test/MC/RISCV/rv32c-only-valid.s
R llvm/test/MC/RISCV/rv32c-valid.s
R llvm/test/MC/RISCV/rv32d-valid.s
M llvm/test/MC/RISCV/rv32dc-valid.s
R llvm/test/MC/RISCV/rv32e-invalid.s
R llvm/test/MC/RISCV/rv32e-valid.s
R llvm/test/MC/RISCV/rv32f-valid.s
M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.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-only-valid.s
R llvm/test/MC/RISCV/rv32i-valid.s
R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
R llvm/test/MC/RISCV/rv32ih-valid.s
R llvm/test/MC/RISCV/rv32m-valid.s
R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
R llvm/test/MC/RISCV/rv32zaamo-valid.s
R llvm/test/MC/RISCV/rv32zacas-valid.s
R llvm/test/MC/RISCV/rv32zalasr-valid.s
R llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv32zba-valid.s
M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv32zbb-only-valid.s
R llvm/test/MC/RISCV/rv32zbb-valid.s
R llvm/test/MC/RISCV/rv32zbc-valid.s
R llvm/test/MC/RISCV/rv32zbkb-valid.s
R llvm/test/MC/RISCV/rv32zbkc-valid.s
R llvm/test/MC/RISCV/rv32zbkx-valid.s
M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
R llvm/test/MC/RISCV/rv32zbs-valid.s
R llvm/test/MC/RISCV/rv32zcb-invalid.s
R llvm/test/MC/RISCV/rv32zcb-valid.s
A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-valid.s
R llvm/test/MC/RISCV/rv32zcmt-invalid.s
R llvm/test/MC/RISCV/rv32zcmt-valid.s
R llvm/test/MC/RISCV/rv32zdinx-valid.s
M llvm/test/MC/RISCV/rv32zfa-only-valid.s
R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
R llvm/test/MC/RISCV/rv32zfh-valid.s
R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
R llvm/test/MC/RISCV/rv32zfhmin-valid.s
R llvm/test/MC/RISCV/rv32zfinx-valid.s
R llvm/test/MC/RISCV/rv32zhinx-valid.s
R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
R llvm/test/MC/RISCV/rv32zicbom-invalid.s
R llvm/test/MC/RISCV/rv32zicbom-valid.s
R llvm/test/MC/RISCV/rv32zicbop-invalid.s
R llvm/test/MC/RISCV/rv32zicbop-valid.s
R llvm/test/MC/RISCV/rv32zicboz-invalid.s
R llvm/test/MC/RISCV/rv32zicboz-valid.s
M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
R llvm/test/MC/RISCV/rv32zicond-invalid.s
R llvm/test/MC/RISCV/rv32zicond-valid.s
R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
R llvm/test/MC/RISCV/rv32zihintntl-valid.s
R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
R llvm/test/MC/RISCV/rv32zihintpause-valid.s
R llvm/test/MC/RISCV/rv32zknh-valid.s
R llvm/test/MC/RISCV/rv32zksed-valid.s
R llvm/test/MC/RISCV/rv32zksh-valid.s
M llvm/test/MC/RISCV/rv32zmmul-invaild.s
M llvm/test/MC/RISCV/rv32zmmul-valid.s
M llvm/test/MC/RISCV/rv64-machine-csr-names.s
M llvm/test/MC/RISCV/rv64-user-csr-names.s
M llvm/test/MC/RISCV/rv64a-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-hints-valid.s
M llvm/test/MC/RISCV/rv64c-valid.s
M llvm/test/MC/RISCV/rv64d-aliases-valid.s
M llvm/test/MC/RISCV/rv64d-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
M llvm/test/MC/RISCV/rv64e-valid.s
M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
M llvm/test/MC/RISCV/rv64f-aliases-valid.s
M llvm/test/MC/RISCV/rv64f-valid.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/rv64ih-valid.s
M llvm/test/MC/RISCV/rv64m-valid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rv64zalasr-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-valid.s
M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv64zcb-valid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-valid.s
M llvm/test/MC/RISCV/rv64zdinx-valid.s
M llvm/test/MC/RISCV/rv64zfh-valid.s
M llvm/test/MC/RISCV/rv64zfinx-valid.s
M llvm/test/MC/RISCV/rv64zhinx-valid.s
M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-valid.s
M llvm/test/MC/RISCV/rva-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
A llvm/test/MC/RISCV/rvc-valid.s
M llvm/test/MC/RISCV/rvd-aliases-valid.s
A llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvdc-aliases-valid.s
A llvm/test/MC/RISCV/rve-invalid.s
A llvm/test/MC/RISCV/rve-valid.s
M llvm/test/MC/RISCV/rvf-aliases-valid.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
A llvm/test/MC/RISCV/rvf-valid.s
A llvm/test/MC/RISCV/rvi-valid.s
A llvm/test/MC/RISCV/rvih-aliases-valid.s
A llvm/test/MC/RISCV/rvih-valid.s
M llvm/test/MC/RISCV/rvk-user-csr-name.s
A llvm/test/MC/RISCV/rvm-valid.s
M llvm/test/MC/RISCV/rvv-user-csr-names.s
M llvm/test/MC/RISCV/rvv/aliases.s
M llvm/test/MC/RISCV/rvv/fothers.s
M llvm/test/MC/RISCV/rvv/freduction.s
M llvm/test/MC/RISCV/rvv/load.s
M llvm/test/MC/RISCV/rvv/others.s
M llvm/test/MC/RISCV/rvv/store.s
M llvm/test/MC/RISCV/rvv/zvlsseg.s
A llvm/test/MC/RISCV/rvxtheadbs-valid.s
A llvm/test/MC/RISCV/rvzaamo-valid.s
M llvm/test/MC/RISCV/rvzabha-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
A llvm/test/MC/RISCV/rvzacas-valid.s
A llvm/test/MC/RISCV/rvzalasr-valid.s
A llvm/test/MC/RISCV/rvzalrsc-valid.s
A llvm/test/MC/RISCV/rvzba-valid.s
A llvm/test/MC/RISCV/rvzbb-valid.s
A llvm/test/MC/RISCV/rvzbc-valid.s
A llvm/test/MC/RISCV/rvzbkb-valid.s
A llvm/test/MC/RISCV/rvzbkc-valid.s
A llvm/test/MC/RISCV/rvzbkx-valid.s
A llvm/test/MC/RISCV/rvzbs-valid.s
A llvm/test/MC/RISCV/rvzcb-invalid.s
A llvm/test/MC/RISCV/rvzcb-valid.s
A llvm/test/MC/RISCV/rvzcmt-invalid.s
M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
A llvm/test/MC/RISCV/rvzcmt-valid.s
M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzdinx-valid.s
A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
A llvm/test/MC/RISCV/rvzfh-valid.s
A llvm/test/MC/RISCV/rvzfhmin-invalid.s
A llvm/test/MC/RISCV/rvzfhmin-valid.s
M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzfinx-valid.s
M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzhinx-valid.s
A llvm/test/MC/RISCV/rvzhinxmin-valid.s
A llvm/test/MC/RISCV/rvzicbom-invalid.s
A llvm/test/MC/RISCV/rvzicbom-valid.s
A llvm/test/MC/RISCV/rvzicbop-invalid.s
A llvm/test/MC/RISCV/rvzicbop-valid.s
A llvm/test/MC/RISCV/rvzicboz-invalid.s
A llvm/test/MC/RISCV/rvzicboz-valid.s
A llvm/test/MC/RISCV/rvzicond-invalid.s
A llvm/test/MC/RISCV/rvzicond-valid.s
A llvm/test/MC/RISCV/rvzihintntl-invalid.s
A llvm/test/MC/RISCV/rvzihintntl-valid.s
A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
A llvm/test/MC/RISCV/rvzihintntlc-valid.s
A llvm/test/MC/RISCV/rvzihintpause-valid.s
A llvm/test/MC/RISCV/rvzknh-valid.s
A llvm/test/MC/RISCV/rvzksed-valid.s
A llvm/test/MC/RISCV/rvzksh-valid.s
M llvm/test/MC/RISCV/smctr-ssctr-valid.s
M llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/test/MC/RISCV/supervisor-csr-names.s
M llvm/test/MC/RISCV/user-csr-names.s
M llvm/test/MC/RISCV/xqcia-valid.s
A llvm/test/MC/RISCV/xqciac-invalid.s
A llvm/test/MC/RISCV/xqciac-valid.s
A llvm/test/MC/RISCV/xqcicli-invalid.s
A llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/test/MC/RISCV/xqcics-valid.s
M llvm/test/MC/RISCV/xqcicsr-valid.s
M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
M llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/test/MC/RISCV/xqcisls-valid.s
M llvm/test/MC/RISCV/xsifive-valid.s
M llvm/test/MC/RISCV/xwchc-compress.s
M llvm/test/MC/RISCV/xwchc-valid.s
M llvm/test/MC/RISCV/zfa-double-invalid.s
M llvm/test/MC/RISCV/zfa-half-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
M llvm/test/MC/RISCV/zicfilp-invalid.s
M llvm/test/MC/RISCV/zicfilp-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
M llvm/test/MC/SystemZ/asm-match.s
M llvm/test/MC/SystemZ/gnu-attributes.s
M llvm/test/MC/WebAssembly/assembler-binary.ll
M llvm/test/MC/WebAssembly/basic-assembly.s
M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
M llvm/test/MC/XCOFF/inlineasm.s
A llvm/test/Other/debugcounter-slsr.ll
R llvm/test/TableGen/ContextlessPredicates.td
R llvm/test/TableGen/DefaultOpsGlobalISel.td
R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-setcc.td
R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
R llvm/test/TableGen/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
A llvm/test/TableGen/GlobalISelEmitter/Flags.td
A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
A llvm/test/TableGen/GlobalISelEmitter/immarg.td
A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/setcc.td
A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
R llvm/test/TableGen/GlobalISelEmitterFlags.td
R llvm/test/TableGen/GlobalISelEmitterHwModes.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
R llvm/test/TableGen/GlobalISelEmitterSubreg.td
R llvm/test/TableGen/GlobalISelEmitterVariadic.td
R llvm/test/TableGen/gisel-physreg-input.td
R llvm/test/TableGen/immarg-predicated.td
R llvm/test/TableGen/immarg.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/negative.ll
A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/version.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
R llvm/test/Transforms/InstCombine/printf-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.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/type-shrinkage-zext-costs.ll
R 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/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.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.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/LoopVersioning/wrapping-pointer-versioning.ll
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.exe
R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.memprofraw
M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
A llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/PhaseOrdering/pr32544.ll
M llvm/test/Transforms/PhaseOrdering/pr45682.ll
M llvm/test/Transforms/PhaseOrdering/pr62311.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/rotate.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll
M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
M llvm/test/Verifier/sme-attributes.ll
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
M llvm/test/tools/llvm-cov/Inputs/showProjectSummary.test
A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
M llvm/test/tools/llvm-cov/branch-c-general.test
R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/branch-logical-mixed.test
R llvm/test/tools/llvm-cov/branch-macros.cpp
A llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
R llvm/test/tools/llvm-cov/branch-templates.cpp
A llvm/test/tools/llvm-cov/branch-templates.test
R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
M llvm/test/tools/llvm-cov/showProjectSummary.cpp
R llvm/test/tools/llvm-cov/threads.c
A llvm/test/tools/llvm-cov/threads.test
M llvm/test/tools/llvm-dlltool/machine-opt.def
M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test
R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.h
M llvm/tools/llvm-cov/CoverageViewOptions.h
M llvm/tools/llvm-cov/SourceCoverageView.h
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
M llvm/unittests/CMakeLists.txt
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/CMakeLists.txt
M llvm/unittests/IR/ConstantRangeTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Attributes.cpp
A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/TableGen.cpp
A llvm/utils/TableGen/Basic/TableGen.h
A llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
R llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
R llvm/utils/TableGen/IntrinsicEmitter.cpp
R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/TableGen.cpp
R llvm/utils/TableGen/VTEmitter.cpp
A llvm/utils/TableGen/llvm-min-tblgen.cpp
A llvm/utils/TableGen/llvm-tblgen.cpp
M llvm/utils/emacs/llvm-mode.el
M llvm/utils/git/code-format-helper.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
M llvm/utils/lit/tests/shtest-format.py
M llvm/utils/mlgo-utils/CMakeLists.txt
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIR.cmake
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/PatternRewriter.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/docs/TargetLLVMIR.md
M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
M mlir/include/mlir/Analysis/DataFlowFramework.h
A mlir/include/mlir/Bindings/Python/Nanobind.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/SCF/IR/SCF.h
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Bindings/Python/AsyncPasses.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
M mlir/lib/Bindings/Python/GPUPasses.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/LinalgPasses.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/RegisterEverything.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/transform/structured.py
M mlir/python/mlir/ir.py
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
A mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
R mlir/test/Conversion/ControlFlowToLLVM/invalid.mlir
A mlir/test/Conversion/ControlFlowToLLVM/switch.mlir
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Dialect/Arith/int-range-interface.mlir
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
M mlir/test/Dialect/Shape/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/ControlFlow/assert.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/Integration/GPU/CUDA/async.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Transforms/sccp.mlir
M mlir/test/Transforms/scf-if-utils.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/Transforms/test-operation-folder.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestTraits.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
M mlir/test/mlir-cpu-runner/async-error.mlir
M mlir/test/mlir-cpu-runner/async-group.mlir
M mlir/test/mlir-cpu-runner/async-value.mlir
M mlir/test/mlir-cpu-runner/async.mlir
M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
M mlir/test/mlir-cpu-runner/copy.mlir
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
M mlir/test/mlir-cpu-runner/memref-reshape.mlir
M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
M mlir/test/mlir-cpu-runner/unranked-memref.mlir
M mlir/test/mlir-cpu-runner/utils.mlir
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/test/python/dialects/sparse_tensor/dialect.py
M mlir/test/python/dialects/transform_structured_ext.py
M mlir/test/python/execution_engine.py
M mlir/test/python/integration/dialects/linalg/opsrun.py
M mlir/test/python/ir/dialects.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
A mlir/utils/pygments/README.md
A mlir/utils/pygments/mlir_lexer.py
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Reduction.cpp
M openmp/docs/ReleaseNotes.rst
M polly/CMakeLists.txt
M polly/lib/Support/ScopHelper.cpp
A polly/test/ScopDetect/dom-tree-crash.ll
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/m01-spec
Compare: https://github.com/llvm/llvm-project/compare/fe75e5522184...e04a957c54b0
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