[all-commits] [llvm/llvm-project] 1fc0a1: [LV][AArch64] Add test for fp128 fmuladd reduction...
Koakuma via All-commits
all-commits at lists.llvm.org
Mon May 5 16:30:47 PDT 2025
Branch: refs/heads/users/koachan/spr/main.sparcias-add-definitions-for-ua-2005-instructions
Home: https://github.com/llvm/llvm-project
Commit: 1fc0a1401ac2fb092cf413b27e73c413a5d74c52
https://github.com/llvm/llvm-project/commit/1fc0a1401ac2fb092cf413b27e73c413a5d74c52
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
Log Message:
-----------
[LV][AArch64] Add test for fp128 fmuladd reduction.(NFC) (#137576)
This patch add the test for the fmuladd reduction to show the test
change/fail for the cost model change.
Note that without the fp128 load and trunc, there is no failure.
Pre-commit test for #113903.
Commit: d913ea307e32aa1412b67d02f2f76a5f2083f2e8
https://github.com/llvm/llvm-project/commit/d913ea307e32aa1412b67d02f2f76a5f2083f2e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512fp16-intrinsics.ll
Log Message:
-----------
[msan] Implement support for avx512fp16.mask.{add/sub/mul/div/max/min}.sh.round (#137441)
This adds a handler, visitGenericScalarHalfwordInst, which works for
mask.{add/sub/mul/div/max/min}.sh.round.
Updates the tests in https://github.com/llvm/llvm-project/pull/136260
Commit: 7ca6490636e758ec44ed149029b91163087d798e
https://github.com/llvm/llvm-project/commit/7ca6490636e758ec44ed149029b91163087d798e
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Factor out isUnrolled() helper in VPWidenIntOrFpInductionRecipe. NFC (#137635)
Split off from #129508, this generalizes getSplatVFValue and
getLastUnrolledPartOperand so they don't need changed if another operand
is added.
Commit: 4e175b889669b430113ce0216e0ee1fe7884889c
https://github.com/llvm/llvm-project/commit/4e175b889669b430113ce0216e0ee1fe7884889c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
Log Message:
-----------
[RISCV] Fix Defs/Uses for SiFive CLIC Support (#137724)
The expensive checks bots found issues with #132481, due to not setting
defs/uses correctly. In 31bd7a507152 I added verify flags, so that the
failure is reproduced without requiring expensive checks, and xfailed
the test.
This change:
- Ensures that registers are correctly marked as defs/uses.
- Removes the xfail.
- Leaves the tests with `-verify-machineinstrs` which should have been
present originally.
Commit: a37e475efc223bae903dc80373b0e36317f4bc7e
https://github.com/llvm/llvm-project/commit/a37e475efc223bae903dc80373b0e36317f4bc7e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
Log Message:
-----------
[lldb] Rely on operator== for std::vector (NFC)
Rely on operator== for std::vector instead of comparing the elements in
the vector element by element,
Commit: 7ce0f5a9cc37345fee801736bded83081b61571b
https://github.com/llvm/llvm-project/commit/7ce0f5a9cc37345fee801736bded83081b61571b
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Frontend/FrontendActions.h
M clang/lib/Frontend/FrontendActions.cpp
A clang/test/Modules/emit-module-interface-pcm-input.cpp
Log Message:
-----------
[clang][modules] Validate input file format for GenerateModuleInterfaceAction (#132692) (#137711)
Fixes #132692.
`clang -cc1` crashes when generating a module interface with
`emit-module-interface` or `emit-reduced-module-interface` using an
input file which is already a precompiled module (`.pcm`) file.
This commit adds validation for the input file format and Clang will now
emit an error message instead of crashing.
Commit: 15579a8e72589b4fdf45c8f5bca52e58dcc9ce1d
https://github.com/llvm/llvm-project/commit/15579a8e72589b4fdf45c8f5bca52e58dcc9ce1d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
A clang/test/AST/ByteCode/dynalloc-limits.cpp
Log Message:
-----------
[clang][bytecode] Check array sizes against step limit (#137679)
Commit: 2f1ef1d18334629bf7c6be1951092f3974b40f0e
https://github.com/llvm/llvm-project/commit/2f1ef1d18334629bf7c6be1951092f3974b40f0e
Author: Bob Wilson <bob.wilson at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/HeaderIncludeGen.cpp
M clang/test/Preprocessor/print-header-json.c
M clang/tools/driver/driver.cpp
Log Message:
-----------
[Clang] Add new -header-include-filtering=direct-per-file option (#137087)
This adds a new filtering option to be used along with the
-header-include-format=json option. The existing "only-direct-system"
filtering option is missing some things:
- It does not show module imports.
- It does not show includes of non-system headers. This new
"direct-per-file" filtering has a separate entry in the JSON output for
each non-system source file, showing the direct includes and imports
from that file. You can use this to see uses of non-system headers, and
also find the paths through non-system headers that lead up to module
imports and system headers. Modules are identified here by their
modulemap files.
Commit: bbbb178a35265a11d2e595233f17d4103135764a
https://github.com/llvm/llvm-project/commit/bbbb178a35265a11d2e595233f17d4103135764a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp:2905:17: error: unused
variable 'var' [-Werror,-Wunused-variable]
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp:2908:42: error: unused
variable 'dataClauseOptional' [-Werror,-Wunused-variable]
Commit: 93145004b4d3bea40485ddf56977c80344c5d687
https://github.com/llvm/llvm-project/commit/93145004b4d3bea40485ddf56977c80344c5d687
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Support/Program.cpp
Log Message:
-----------
[Support] Construct SmallVector with ArrayRef (NFC) (#137586)
Commit: d1bb8d6a5c4a36490298ca75d144805179cc3b40
https://github.com/llvm/llvm-project/commit/d1bb8d6a5c4a36490298ca75d144805179cc3b40
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Host/linux/Support.h
A lldb/include/lldb/Host/posix/Support.h
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/linux/Support.cpp
A lldb/source/Host/posix/Support.cpp
M lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
M lldb/source/Plugins/Process/Linux/Perf.cpp
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/unittests/Host/CMakeLists.txt
R lldb/unittests/Host/linux/HostTest.cpp
R lldb/unittests/Host/linux/SupportTest.cpp
A lldb/unittests/Host/posix/HostTest.cpp
A lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
Log Message:
-----------
[lldb][AIX] get host info for AIX (#134354)
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 changes to make the common host support functions under
`Host/posix` for unix-like system.
Also, created the `unittests/Host/posix/` to test the hostInfo & support
functions for unix-like system.
- Added changes to get the host information for AIX. (GetProcessInfo())
(Information like : executable path, arch, process status etc.)
Commit: fa1fe11e38db742c4114a8b6aac9caa351f2409c
https://github.com/llvm/llvm-project/commit/fa1fe11e38db742c4114a8b6aac9caa351f2409c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port d1bb8d6a5c4a
Commit: 0ddb5794b7b47481ed713af0add392de324d5cd2
https://github.com/llvm/llvm-project/commit/0ddb5794b7b47481ed713af0add392de324d5cd2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Remove base casts before doing memcpy (#137754)
We have to copy the entire thing, not just one of the bases.
Commit: da7099290cea7d11b83da01adda8afeb3bcd5362
https://github.com/llvm/llvm-project/commit/da7099290cea7d11b83da01adda8afeb3bcd5362
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
Revert "[lldb][Format] Make function name frame-format variables work without debug-info" (#137757)
Reverts llvm/llvm-project#137408
This change broke `lldb/test/Shell/Unwind/split-machine-functions.test`.
The test binary has a symbol named `_Z3foov.cold` and the test expects
the backtrace to print the name of the cold part of the function like
this:
```
# SPLIT: frame #1: {{.*}}`foo() (.cold) +
```
but now it gets
```
frame #1: 0x000055555555514f split-machine-functions.test.tmp`foo() + 12
```
Commit: ebaeecc429f53c209ea58d6d4c7df3552adcb714
https://github.com/llvm/llvm-project/commit/ebaeecc429f53c209ea58d6d4c7df3552adcb714
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Use early returns in TypeSystemClang::IsPossibleDynamicType (#137630)
Remove a couple of levels of indentation before I need to add another
one to fix a bug.
Commit: 679cc0a1ed60ea529abc04cecbcdd75d65ea0588
https://github.com/llvm/llvm-project/commit/679cc0a1ed60ea529abc04cecbcdd75d65ea0588
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/Block.h
M lldb/source/Symbol/Block.cpp
Log Message:
-----------
[lldb] Remove Function null checks in Block.cpp (#137611)
As of #117683, Blocks are always enclosed in a function, so these checks
never fail. We can't change the signature of
`CalculateSymbolContextFunction` as it's an abstract function (and some
of its implementations can return nullptr), but we can create a
different function that we can call when we know we're dealing with a
block.
Commit: 15cd71afd24437d9480aff41de61b3edf739408b
https://github.com/llvm/llvm-project/commit/15cd71afd24437d9480aff41de61b3edf739408b
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb] Make ValueObject::Dereference less aggressive (#137311)
The function was always trying to dereference both the synthetic and
non-synthetic view of the object. This is wrong as the caller should be
able to determine which view of the object it wants to access, as is
done e.g. for child member access.
This patch removes the nonsynthetic->synthetic fallback, which is the
more surprising path, and fixes the callers to try both versions of the
object (when appropriate). I also snuck in simplification of the member
access code path because it was possible to use the same helper function
for that, and I wanted to be sure I understand the logic correctly.
I've left the synthetic->nonsynthetic fallback in place. I think we may
want to keep that one as we often have synthetic child providers for
pointer types. They usually don't provide an explicit dereference
operation but I think users would expect that a dereference operation on
those objects would work. What we may want to do is to try the
*synthetic* operation first in this case, so that the nonsynthetic case
is really a fallback.
---------
Co-authored-by: Ilia Kuklin <kuklin.iy at mail.ru>
Commit: e43e8ec7afbdf8b90204060b725d6990829b80a1
https://github.com/llvm/llvm-project/commit/e43e8ec7afbdf8b90204060b725d6990829b80a1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__type_traits/is_convertible.h
R libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/module.modulemap.in
M libcxx/include/type_traits
Log Message:
-----------
[libc++] Remove dead implementation of is_nothrow_convertible and merge the remaining code into is_convertible.h (#137717)
We can use the `__is_nothrow_convertible` builtin unconditionally now,
which makes the implementation very simple, so there isn't much of a
need to keep a separate header around.
Commit: a618ae2c729152133440315f7b2f23e4612b39f8
https://github.com/llvm/llvm-project/commit/a618ae2c729152133440315f7b2f23e4612b39f8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e43e8ec7afbd
Commit: ace8ceab736f7e265b206b583d218a7554bee864
https://github.com/llvm/llvm-project/commit/ace8ceab736f7e265b206b583d218a7554bee864
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-mfpu.c
M clang/test/Preprocessor/arm-target-features.c
Log Message:
-----------
[ARM][Driver] Ensure NEON is enabled and disabled correctly (#137595)
In #130623 support was added for `+nosimd` in the clang driver.
Following this PR, it was discovered that, if NEON is disabled in the
command line, it did not disable features that depend on this, such as
Crypto or AES. To achieve this, This PR does the following:
- Ensure that disabling NEON (e.g., via +nosimd) also disables dependent
features like Crypto and AES.
- Update the driver to automatically enable NEON when enabling features
that require it (e.g., AES).
This fixes inconsistent behavior where features relying on NEON could be
enabled without NEON itself being active, or where disabling NEON left
dependent features incorrectly enabled.
Commit: a9ece2dc68e623ebdfdbf7431dac2150a87b2717
https://github.com/llvm/llvm-project/commit/a9ece2dc68e623ebdfdbf7431dac2150a87b2717
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Host/posix/HostTest.cpp
Log Message:
-----------
[lldb] Skip some Host::GetProcessInfo tests for macos
Some of the tests moved in #134354 do not currently pass on a mac. Disable
them.
The test for testing process priority also does not build on a mac. I'm not
moving it (back) to the linux, since it's "almost" fine -- we'd just need to
implement the RLIMIT_NICE logic differently. I'm not doing that now since
(apart from linux) there are no systems which are able to retrieve the process
priority.
Commit: ff66d34286b07ba864029776d097e66306cc53ef
https://github.com/llvm/llvm-project/commit/ff66d34286b07ba864029776d097e66306cc53ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Driver] Simplify string comparisons (NFC) (#137756)
Commit: ffcca5112b653b35cafc68a01e654dcdc5a84ff4
https://github.com/llvm/llvm-project/commit/ffcca5112b653b35cafc68a01e654dcdc5a84ff4
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
A llvm/lib/Target/Mips/MipsScheduleI6400.td
A llvm/test/tools/llvm-mca/Mips/i6400.s
Log Message:
-----------
[MIPS] Add Scheduling model for MIPS i6400 and i6500 CPUs (#132704)
Add scheduling model for the MIPS i6400 and i6500, an in-order MIPS64R6
processor.
i6400 and i6500 share same instruction latencies.
CPU has following pipelines
- Two ALUs
- Multiply and Divide unit (MDU)
- Branch Unit (CTU)
- Load/Store Unit (LSU)
- Short Floating-point Unit and
- Long Floating-point Unit
Latency information is available at:
https://mips.com/wp-content/uploads/2025/03/MIPS_I6500-F_Data_Sheet_Rev1.10_3-17-2025.pdf
Commit: a9b618571868abbb7eff1c81a37c96d141fe0f20
https://github.com/llvm/llvm-project/commit/a9b618571868abbb7eff1c81a37c96d141fe0f20
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/print-memref.mlir
Log Message:
-----------
[mlir][memref] Fix memory leaks in `print-memref.mlir` (#137590)
This fixes the test when running with ASAN.
Commit: 86d8e8d9a617461eb4dae7b49e9a4a59a35024e7
https://github.com/llvm/llvm-project/commit/86d8e8d9a617461eb4dae7b49e9a4a59a35024e7
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
Log Message:
-----------
[CodeGen][NewPM] Port "PrologEpilogInserter" to NPM (#130550)
Commit: 980d027a3f2fbce173ad813a3f01bb51c2c2bc4b
https://github.com/llvm/llvm-project/commit/980d027a3f2fbce173ad813a3f01bb51c2c2bc4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Allow This pointers in CPCE mode (#137761)
The outermost function doesn't have a This pointers, but inner calls
can. This still doesn't match the diagnostic output of the current
interpreter properly, but it's closer I think.
Commit: 49842426f3fc70af756f9e6fe80ecf829178a1b2
https://github.com/llvm/llvm-project/commit/49842426f3fc70af756f9e6fe80ecf829178a1b2
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/pr87407-trunc-with-intrinsic.ll
Log Message:
-----------
[LV] Fix MinBWs in WidenIntrinsic case (#137005)
There is a bug in the computation and handling of MinBWs in the case of
VPWidenIntrinsicRecipe: a crash is observed in
VPlanTransforms::truncateToMinimalBitwidths due to a mismatch between
the number of recipes processed and the number of entries in MinBWs. Fix
handling of calls in llvm::computeMinimumValueSizes, and handle
VPWidenIntrinsicRecipe in truncateToMinimalBitwidths, fixing the bug.
Fixes #87407.
Commit: 13b443f2efcfe57768a1077c63bb675eb6380e35
https://github.com/llvm/llvm-project/commit/13b443f2efcfe57768a1077c63bb675eb6380e35
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
Log Message:
-----------
[LAA] Improve convergent tests (#136758)
LoopAccessAnalysis has code for handling function calls where the
function is marked with the 'convergent' attribute, but the test
coverage is insufficient. Fix this by adding a test showing the case of
no-runtime-checks adapted from LoopDistribute, and clean up the existing
test with runtime-checks. Also regenerate the test file with
UpdateTestChecks.
Commit: 4bf356bbd25ef5950de92b9e66cc8a2d3af583d9
https://github.com/llvm/llvm-project/commit/4bf356bbd25ef5950de92b9e66cc8a2d3af583d9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Start implementing builtin_is_within_lifetime (#137765)
Commit: 76aa471698437af49ceda30280bf0fd7d33b4d34
https://github.com/llvm/llvm-project/commit/76aa471698437af49ceda30280bf0fd7d33b4d34
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
R llvm/lib/Target/Mips/MipsScheduleI6400.td
R llvm/test/tools/llvm-mca/Mips/i6400.s
Log Message:
-----------
Revert "[MIPS] Add Scheduling model for MIPS i6400 and i6500 CPUs (#132704)" (#137767)
This reverts commit ffcca5112b653b35cafc68a01e654dcdc5a84ff4.
Commit: 64b5bc876aef6db89c38cf5dc76eebec38187234
https://github.com/llvm/llvm-project/commit/64b5bc876aef6db89c38cf5dc76eebec38187234
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
A lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
Log Message:
-----------
[lldb][Format] Add function.suffix frame-format variable (#137763)
This patch adds another frame-format variable (currently only
implemented in the CPlusPlus language plugin) that represents the
"suffix" of a function. The name is derived from the `DotSuffix` node of
LLVM's Itanium demangler.
For a function name such as `int foo() (.cold)`, the suffix would be
`(.cold)`.
Commit: 252b095b32c1571ee89f75828fdf2b4036ffc2a7
https://github.com/llvm/llvm-project/commit/252b095b32c1571ee89f75828fdf2b4036ffc2a7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Add more test-cases to MangledTest
Commit: 3d47bc9d25af0d2525c9f52b5fad6af6c88ce7e3
https://github.com/llvm/llvm-project/commit/3d47bc9d25af0d2525c9f52b5fad6af6c88ce7e3
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error if and level checks for COND_IF & WHILE_LOOP (#136194)
Error if checks: verify whether the same length and type between input
list, output list, and control-flow blocks.
Level_checks: verify whether the nested depth exceeds MAX_NESTING.
Commit: 014ab736dc741f24c007f9861e24b31faba0e1e7
https://github.com/llvm/llvm-project/commit/014ab736dc741f24c007f9861e24b31faba0e1e7
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Do not pass any file when listing checks in run_clang_ti… (#137286)
…dy.py
Currently, run_clang_tidy.py does not correctly display the list of
checks picked up from the top-level .clang-tidy file. The reason for
that is that we are passing an empty string as input file.
However, that's not how we are supposed to use clang-tidy to list
checks. Per
https://github.com/llvm/llvm-project/commit/65eccb463df7fe511c813ee6a1794c80d7489ff2,
we simply should not pass any file at all - the internal code of
clang-tidy will pass a "dummy" file if that's the case and get the
.clang-tidy file from the current working directory.
Fixes #136659
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: bb9fa77c8410e539d1eefdfe76c192db44bdc520
https://github.com/llvm/llvm-project/commit/bb9fa77c8410e539d1eefdfe76c192db44bdc520
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-features.c
Log Message:
-----------
[ARM][Driver] Fix i8mm feature string (#137771)
#137595 changed the behaviour for SIMD on ARM to ensure it is enabled
and disabled correctly depending on the options used by the user. In
this, the functionality to disable all features that depend on SIMD was
added. However, there was a spelling error for the i8mm feature, which
caused the `+nosimd` command to fail.
This fixes the error, and allows the command to work again.
Commit: 8961f3ee758f18f3c5c707b76406afbe6238ef7e
https://github.com/llvm/llvm-project/commit/8961f3ee758f18f3c5c707b76406afbe6238ef7e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
Log Message:
-----------
[X86] shouldReduceLoadWidth - don't split loads if we can freely reuse full width legal binop (#129695)
Currently shouldReduceLoadWidth is very relaxed about when loads can be
split to avoid extractions from the original full width load - resulting
in many cases where the number of memory operations notably increases,
replacing the cost of a extract_subvector for additional loads.
This patch adjusts the 256/512-bit vector load splitting metric to
detect cases where ANY use of the full width load is be used directly -
in which case we will now reuse that load for smaller types, unless we'd
need to extract an upper subvector / integer element - i.e. we now
correctly treat (extract_subvector cst, 0) as free.
We retain the existing logic of never splitting loads if all uses are
extract+stores but we improve this by peeking through bitcasts while
looking for extract_subvector/store chains.
This required a number of fixes - shouldReduceLoadWidth now needs to
peek through bitcasts UP the use-chain to find final users (limited to
hasOneUse cases to reduce complexity). It also exposed an issue in
isTargetCanonicalConstantNode which assumed that a load of vector
constant data would always extract, which is no longer the case.
Commit: f6b6fb89ec291f677132f912030b9d57c5f7230e
https://github.com/llvm/llvm-project/commit/f6b6fb89ec291f677132f912030b9d57c5f7230e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
[VectorUtils] Improve computeMinimumValueSizes (NFC) (#137692)
The Worklist used by computeMinimumValueSizes is wastefully a
Value-vector, when the top of the loop attempts to cast the popped value
to an Instruction anyway. Improve the algorithm by cutting this wasteful
work, refining the type of Worklist, Visited, and Roots from
Value-vectors to Instruction-vectors.
Commit: 4609b6a3e76e604463bab2a303c6da737f303237
https://github.com/llvm/llvm-project/commit/4609b6a3e76e604463bab2a303c6da737f303237
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/fmax.cl
R libclc/amdgcn/lib/math/fmin.cl
A libclc/clc/include/clc/math/clc_fmax.h
A libclc/clc/include/clc/math/clc_fmin.h
A libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_scalar_second_arg.inc
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_fmax.cl
A libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fmax.cl
A libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fmax.cl
A libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmin.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/fmax.cl
R libclc/r600/lib/math/fmin.cl
Log Message:
-----------
[libclc] Move fmin & fmax to CLC library (#134218)
This is an alternative to #128506 which doesn't attempt to change the
codegen for fmin and fmax on their way to the CLC library.
The amdgcn and r600 custom definitions of fmin/fmax are now converted to
custom definitions of __clc_fmin and __clc_fmax.
For simplicity, the CLC library doesn't provide vector/scalar versions
of these builtins. The OpenCL layer wraps those up to the vector/vector
versions.
The only codegen change is that non-standard vector/scalar overloads of
fmin/fmax have been removed. We were currently (accidentally,
presumably) providing overloads with mixed elment types such as
fmin(double2, float), fmax(half4, double), etc. The only vector/scalar
overloads in the OpenCL spec are those with scalars of the same element
type as the vector in the first argument.
Commit: 082598a64d1f3d583c7ae979681df90f9f9c0f63
https://github.com/llvm/llvm-project/commit/082598a64d1f3d583c7ae979681df90f9f9c0f63
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/pointers/generic_cast_to_ptr_explicit.ll
Log Message:
-----------
[SPIRV] Add intrinsic for OpGenericCastToPtrExplicit (#137626)
The patch adds an intrinsic to encode OpGenericCastToPtrExplicit and the
associated lowering logic.
Commit: 6edcb52f4031a50608645d9f65061e61a1b7fb8d
https://github.com/llvm/llvm-project/commit/6edcb52f4031a50608645d9f65061e61a1b7fb8d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Remove SVE mul idempotency tests.
They have been subsumed into the SVE binop simplification tests.
Commit: e33cf4b0782bdbe74258baaa70057fdbec847a1d
https://github.com/llvm/llvm-project/commit/e33cf4b0782bdbe74258baaa70057fdbec847a1d
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Refactor/deduplicate emitAction. (#137434)
Currently there is a fair amount of code duplication in various parts of
emitAction. This patch factors out commonality among CCAssignToReg,
CCAssignToRegAndStack, CCAssignToRegWithShadow, and CCAssignToStack.
`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.
Commit: 93321966d90b5b8cfd178babd5e1dd0b3c1f082c
https://github.com/llvm/llvm-project/commit/93321966d90b5b8cfd178babd5e1dd0b3c1f082c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Add simplify tests for reversed SVE intrinsics.
Add missing tests for fdivr, fsubr, sdivr, subr & udivr.
Add test case to demonstrate incorrect poison propagation.
Commit: 89c5c3ba38492de8163c344d076733b32d522727
https://github.com/llvm/llvm-project/commit/89c5c3ba38492de8163c344d076733b32d522727
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/lib/IR/Operation.cpp
Log Message:
-----------
[MLIR][IR] Add assert to Operation::moveBefore (NFC) (#137772)
This commit adds an assert to `Operation::moveBefore` which ensures that
moving of operations without a parent block is detected early on. This
case otherwise runs into a segfault, as it's assumed that there is an
parent block.
Commit: 50d3febf1700e5b829a596cc66afe24ae8e4c6c9
https://github.com/llvm/llvm-project/commit/50d3febf1700e5b829a596cc66afe24ae8e4c6c9
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cmp.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Refactor SVE intrinsics tests.
Only test a single element type because the combines are not sensitive
to them. Extend coverage to cover the majority of SVE merging
intrinsics.
Commit: ebeae6402d9682bae94119c1ad2a1dce4c51d08d
https://github.com/llvm/llvm-project/commit/ebeae6402d9682bae94119c1ad2a1dce4c51d08d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
Reland "[lldb][Format] Make function name frame-format variables work without debug-info" (#137757)
This reverts commit da7099290cea7d11b83da01adda8afeb3bcd5362.
Same as the original PR. The failing test-case was resolved in https://github.com/llvm/llvm-project/pull/137763
Commit: df267d77f6cc06608d2fabc2139cabbd99007381
https://github.com/llvm/llvm-project/commit/df267d77f6cc06608d2fabc2139cabbd99007381
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Misc/warning-flags-enabled.c
A clang/test/Sema/implicit-int-enum-conversion.c
Log Message:
-----------
[C] Add new -Wimplicit-int-enum-cast to -Wc++-compat (#137658)
This introduces a new diagnostic group to diagnose implicit casts from
int to an enumeration type. In C, this is valid, but it is not
compatible with C++.
Additionally, this moves the "implicit conversion from enum type to
different enum type" diagnostic from `-Wenum-conversion` to a new group
`-Wimplicit-enum-enum-cast`, which is a more accurate home for it.
`-Wimplicit-enum-enum-cast` is also under `-Wimplicit-int-enum-cast`, as
it is the same incompatibility (the enumeration on the right-hand is
promoted to `int`, so it's an int -> enum conversion).
Fixes #37027
Commit: bd6addc032b1ea764494e2de135b5b2c46ee6aca
https://github.com/llvm/llvm-project/commit/bd6addc032b1ea764494e2de135b5b2c46ee6aca
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/reloc.mir
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/tls.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
[X86][APX] Suppress EGPR/NDD instructions for relocations (#136660)
Suppress EGPR/NDD instructions for relocations to avoid APX relocation
types emitted. This is to keep backward compatibility with old version
of linkers without APX support. The use case is to try APX features with
LLVM + old built-in linker on RHEL9 OS which is expected to be EOL in
2032.
If there are APX relocation types, the old version of linkers would
raise "unsupported relocation type" error. Example:
```
$ llvm-mc -filetype=obj -o got.o -triple=x86_64-unknown-linux got.s
$ ld got.o -o got.exe
ld: got.o: unsupported relocation type 0x2b
...
$ cat got.s
...
movq foo at GOTPCREL(%rip), %r16
$ llvm-objdump -dr got.o
...
1: d5 48 8b 05 00 00 00 00 movq (%rip), %r16
0000000000000005: R_X86_64_CODE_4_GOTPCRELX foo-0x4
```
Commit: d68b446933aa26f48a0bb23b34934bfabc556d27
https://github.com/llvm/llvm-project/commit/d68b446933aa26f48a0bb23b34934bfabc556d27
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[IR] Add matchers for remaining FP min/max intrinsics (NFC). (#137612)
Add dedicated matchers for minimum,maximum,minimumnum and maximumnum
intrinsics, similar for the existing matchers for maxnum and minnum.
As suggested in https://github.com/llvm/llvm-project/pull/137335.
PR: https://github.com/llvm/llvm-project/pull/137612
Commit: 81870cbcc259deaff2dfbee68bc8540016eb0cf0
https://github.com/llvm/llvm-project/commit/81870cbcc259deaff2dfbee68bc8540016eb0cf0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port bd6addc032b1
Commit: 0b5daeb2e55e21eb8af9ca504fca82b82a27e1aa
https://github.com/llvm/llvm-project/commit/0b5daeb2e55e21eb8af9ca504fca82b82a27e1aa
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[GlobalISel] Fix miscompile when narrowing vector loads/stores to non-byte-sized types (#136739)
LegalizerHelper::reduceLoadStoreWidth does not work for non-byte-sized
types, because this would require (un)packing of bits across byte
boundaries.
Precommit tests: #134904
Commit: c5bf901b1b2804eede51b07d9d171c5656dd49fa
https://github.com/llvm/llvm-project/commit/c5bf901b1b2804eede51b07d9d171c5656dd49fa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Mangle.cpp
A clang/test/AST/ast-crash-dump-mangled-name-json.m
Log Message:
-----------
Fix crash with -ast-dump=json (#137324)
When given an invalid Objective-C extension, Clang would crash when
trying to emit the mangled name of the method to the JSON dump output.
Fixes #137320
Commit: 5e4ec04063e0f04311b6e717c68cd968a0bb6d36
https://github.com/llvm/llvm-project/commit/5e4ec04063e0f04311b6e717c68cd968a0bb6d36
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
Log Message:
-----------
Fix crash with -ast-dump=json (#137324)
When given an invalid Objective-C extension, Clang would crash when
trying to emit the mangled name of the method to the JSON dump output.
Fixes #137320
Commit: 2f976956e5ccef566418853015fb6b31257aa69f
https://github.com/llvm/llvm-project/commit/2f976956e5ccef566418853015fb6b31257aa69f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/decl-hidden-in-c++.c
Log Message:
-----------
[C] Diagnose declarations hidden in C++ (#137368)
This introduces a new diagnostic, -Wc++-hidden-decl, which is grouped
under -Wc++-compat, that diagnoses declarations which are valid in C but
invalid in C++ due to the type being at the wrong scope. e.g.,
```
struct S {
struct T {
int x;
} t;
};
struct T t; // Valid C, invalid C++
```
This is implementing the other half of #21898
Commit: b0f2bfc7e45427b2df8d45f3cd40c833d1f3bab6
https://github.com/llvm/llvm-project/commit/b0f2bfc7e45427b2df8d45f3cd40c833d1f3bab6
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Log Message:
-----------
[VPlan] Use correct non-FMF constructor in VPInstructionWithType createNaryOp (#137632)
Currently if we try to create a VPInstructionWithType without a FMF via
VPBuilder::createNaryOp we will use the constructor that asserts
`assert(isFPMathOp() && "this op can't take fast-math flags");`.
This fixes it by checking if FMFs have a value, similar to the other
createNaryOp overloads.
This is needed by #129508
Commit: 24661001281da09aa6c5c12e4f2552c9d06a8e88
https://github.com/llvm/llvm-project/commit/24661001281da09aa6c5c12e4f2552c9d06a8e88
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] Add new #134979 test cases for gather scalar (#137416)
We are adding new test cases to see the transformation impact due to #134979.
These are similar to previous commit #688c3ffb057a87b86c6c1e77040418adf511efbb.
Handling struct with two member and different vector factor.
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: faf87e141438138c3ade265af472b00b25b67ac5
https://github.com/llvm/llvm-project/commit/faf87e141438138c3ade265af472b00b25b67ac5
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Prefer set-contains over set-count (NFC) (#136749)
Improve code by preferring {SmallSet,SmallPtrSet}::contains() over the
count() function, when used in a boolean context.
Commit: 78d95cc54455755eaac43d956baed6a3612bc72c
https://github.com/llvm/llvm-project/commit/78d95cc54455755eaac43d956baed6a3612bc72c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fract.cl
A libclc/clc/lib/generic/math/clc_fract.inc
M libclc/generic/include/clc/math/fract.h
R libclc/generic/include/clc/math/fract.inc
M libclc/generic/lib/math/fract.cl
R libclc/generic/lib/math/fract.inc
Log Message:
-----------
[libclc] Move fract to the CLC library (#137785)
The builtin was already vectorized so there's no difference to codegen
for non-SPIR-V targets.
Commit: 1e31f4b5eb96de3080810340c9083138a34587b8
https://github.com/llvm/llvm-project/commit/1e31f4b5eb96de3080810340c9083138a34587b8
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/r600.languageOptsOpenCL.cl
Log Message:
-----------
[AMDGPU] Support the OpenCL generic addrspace feature by default (#137636)
This feature should be supported on AMDGCN architectures with flat
addressing.
Commit: 837d5a740f120eb077aa8808809c057fa38d91f3
https://github.com/llvm/llvm-project/commit/837d5a740f120eb077aa8808809c057fa38d91f3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
M libclc/clc/lib/generic/math/clc_floor.cl
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/trunc.cl
Log Message:
-----------
[libclc][NFC] Remove unary_builtin.inc (#137656)
We had two ways of achieving the same thing. This commit removes
unary_builtin.inc in favour of the approach combining gentype.inc with
unary_def.inc.
There is no change to the codegen for any target.
Commit: 4560ff8740c58745506c7797ec1076fd83dd7345
https://github.com/llvm/llvm-project/commit/4560ff8740c58745506c7797ec1076fd83dd7345
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
Log Message:
-----------
[lldb][test] Skip TestFrameFormatFunctionSuffix.test on Windows
We skip/xfail the other FrameFormat tests on Windows already. The number
of different buildbot configurations out there targetting Windows makes
it hard to make this test portable. If we want to test this on Windows
we should probably just make a dedicated test for it.
Commit: f02c93d707c0f36a696a5ec71131cba95a30c045
https://github.com/llvm/llvm-project/commit/f02c93d707c0f36a696a5ec71131cba95a30c045
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/apx/tls.ll
Log Message:
-----------
[X86] Remove LLD command in LIT test (#137794)
The test introduced in #136660, may be failed as ld.lld command not
found.
Commit: cc0cf7253967af4aa3dce2a5de186f766564747b
https://github.com/llvm/llvm-project/commit/cc0cf7253967af4aa3dce2a5de186f766564747b
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/dxc_I.test
Log Message:
-----------
[HLSL] Allow non `.hlsl` files as source files (#137378)
Changes the driver to assume input file with an unknown extension are
HLSL source files instead of object files.
Fixes https://github.com/llvm/llvm-project/issues/137370
Commit: 6695976d16d02d72afc249bb5b46d267c1eee458
https://github.com/llvm/llvm-project/commit/6695976d16d02d72afc249bb5b46d267c1eee458
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/offsetof_macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/setjmp.yaml
M libc/src/setjmp/CMakeLists.txt
A libc/src/setjmp/linux/CMakeLists.txt
A libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/setjmp_impl.h
A libc/src/setjmp/siglongjmp.cpp
A libc/src/setjmp/siglongjmp.h
A libc/src/setjmp/sigsetjmp.h
A libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/setjmp.cpp
A libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/test/src/setjmp/CMakeLists.txt
A libc/test/src/setjmp/sigsetjmp_test.cpp
Log Message:
-----------
Reland "[libc] build fix for sigsetjmp (#137047)" (#137214)
Reland `sigsetjmp` patches with build fixes.
We wrap every target replying on the epilogue library into conditional
checks.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: db2315afa8db1153e3b85d452cd14d5a1b957350
https://github.com/llvm/llvm-project/commit/db2315afa8db1153e3b85d452cd14d5a1b957350
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Driver/ModuleCacheTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Parse/CMakeLists.txt
Log Message:
-----------
[clang] Merge gtest binaries into AllClangUnitTests (#134196)
This reduces the size of the clang/unittests build directory by 64% and
my overall build dir size by 5%. Static linking is the real driving
factor here, but even if the default build configuration used shared
libraries, I don't see why we should be building so many unit test
binaries.
To make the project more approachable for new contributors, I'm
attempting to make the build a bit less resource-intensive. Build
directory size is a common complaint, and this is low-hanging fruit.
I've noticed that incremental builds leave behind the old, stale gtest binaries, and lit will keep running them. This mostly doesn't matter unless they use shared libraries, which will eventually stop working after successive builds. You can clean up the old test binaries with this command in the build directory:
$ find tools/clang/unittests/ -iname '*Tests' -type f | xargs rm
... or you can simply clean the build directory in a more holistic way.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: 1433c3e997ef7cc29f460d7b2f5da813acd0cafa
https://github.com/llvm/llvm-project/commit/1433c3e997ef7cc29f460d7b2f5da813acd0cafa
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
Log Message:
-----------
[flang] Remove dead functions for getting LLVM intrinsics (#137743)
In cleaning up LowLevelIntrinsics I found some uncalled functions. We
would like to remove direct calls to llvm instructions wherever possible
to make it easier on consumers of our IR to match LLVM intrinsics, so if
this code is needed again we should use the op from the llvm dialect
instead anyways.
Commit: c5c4f0d11ca033acaab2d92b713cdab25c8ba555
https://github.com/llvm/llvm-project/commit/c5c4f0d11ca033acaab2d92b713cdab25c8ba555
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Simplify tryToFindDuplicates() (NFC) (#135766)
This NFC aims to simplify the control-flow and interfaces used in tryToFindDuplicates(). The point is to make it easier to understand where decisions for scalar de-duplication are made.
In particular:
- Limit indentation
- Rename some variables to better match their use case
- Always give consistent outputs for VL and ReuseShuffleIndices. This makes it possible to use the same code for building gather TreeEntry everywhere. This also allows to remove the TryToFindDuplicates lambda.
Commit: c5d780bb727e2d0fab9efac87a9b2fc3deeb0ed3
https://github.com/llvm/llvm-project/commit/c5d780bb727e2d0fab9efac87a9b2fc3deeb0ed3
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove no longer needed VP intrinsic handling in VPWidenIntrinsicRecipe::computeCost. NFCI (#137573)
Whenever calls were transformed to VP intrinsics with EVL tail folding
in #110412, this workaround was added in computeCost to avoid an
assertion when checking ICA.getArgs().
However it turned out that the actual arguments were never used and this
assertion was removed in #115983 afterwards, so it's now fine to leave
the arguments empty and use the type based cost instead.
The type based cost and value based cost are the same for these VP
intrinsics.
This was tested by adding back in the transformation code in #110412 and
checking that no assertions were still hit.
Commit: 2e713af20e58a1ca005fcae9165fda3007c0e400
https://github.com/llvm/llvm-project/commit/2e713af20e58a1ca005fcae9165fda3007c0e400
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] refine verifier for TensorDescType (#137226)
This PR updates the verifier of TensorDescType after the extension of
LayoutAttr in #132425.
Commit: 65b0d21eb490aaa0c742739ce95b1acc654be22b
https://github.com/llvm/llvm-project/commit/65b0d21eb490aaa0c742739ce95b1acc654be22b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/API/SBProcess.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
Log Message:
-----------
[lldb] Remove "error:" prefix from reverse execute error messages
Errors will get "error:" prefixes automatically so this is not needed.
Commit: 55b4e5e5154550ba981af08ca9bd1e3da00e6fea
https://github.com/llvm/llvm-project/commit/55b4e5e5154550ba981af08ca9bd1e3da00e6fea
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
Log Message:
-----------
[lldb] Disable TestDAP_attach
This is also flaky. See https://github.com/llvm/llvm-project/issues/137660
Commit: 94dc0a0e7bc723af13a0923aa102fcc4d03c82a2
https://github.com/llvm/llvm-project/commit/94dc0a0e7bc723af13a0923aa102fcc4d03c82a2
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[NFC][AMDGPU] Drop recursive types in LowerBufferFatPointers (#137735)
Now that IRMover and the rest of LLVM don't allow recursive types, drop
support for them from the clone of the IRMover code used when lowering
buffer fat pointer operations.
Commit: 67783eb166664cb0be9da01d1dc83178615a0575
https://github.com/llvm/llvm-project/commit/67783eb166664cb0be9da01d1dc83178615a0575
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
Re-land: [Analysis] Ensure use of strict fp exceptions in ConstantFolding (#137652)
To perform constant folding in math operations, the implementation of
the ConstantFolding Analysis relies on the use of the math functions
from the host's libm. In particular, it relies on checking the value of
errno and IEEE exceptions to determine when an operation is safe to be
constant-folded.
On some platforms, such as BSD or Darwin, math library functions don't
set errno, so the ConstantFolding check depends only on the value of
IEEE exceptions. As the FP exception behaviour is set to `ignore` by
default, the compiler can perform optimisations that would get in the
way of such checks being performed correctly.
This patch sets the FP exception behaviour to `strict` when compiling
the `ConstantFolding.cpp` source file, ensuring the value of IEEE
exceptions can be reliably used by its implementation.
This re-lands the changes from #136139, but using the `-ftrapping-math`
compile option instead of `-ffp-exception-behavior` for GCC support.
Commit: 3f8035961f08d160851c40f7ac1f6e441149183c
https://github.com/llvm/llvm-project/commit/3f8035961f08d160851c40f7ac1f6e441149183c
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/test/Driver/flang-ld-powerpc.f90
Log Message:
-----------
[driver] return immediately in `addArchSpecificRPath` and `getArchSpecificLibPaths` on AIX (#134520)
`addArchSpecificRPath` should immediately return for AIX as AIX doesn't
support `rpath` option.
`getArchSpecificLibPaths` should return as well as we don't want
`-L/ArchSepcificLibPaths` sent to the linker on AIX.
Commit: 6ffccea1c2b804d530c0f7bf3cc92db42b4432c5
https://github.com/llvm/llvm-project/commit/6ffccea1c2b804d530c0f7bf3cc92db42b4432c5
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
R libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
Log Message:
-----------
[libclc][NFC] Remove binary_decl_tt.inc
This was performing the same role as binary_decl.inc.
Commit: b62afbccc8da8a14d06db68cd58cb48a14d79f91
https://github.com/llvm/llvm-project/commit/b62afbccc8da8a14d06db68cd58cb48a14d79f91
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
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/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][OpenMP] Add __atomic_store to AtomicInfo (#121055)
This PR adds functionality for `__atomic_store` libcall in AtomicInfo.
This allows for supporting complex types in `atomic write`.
Fixes https://github.com/llvm/llvm-project/issues/113479
Fixes https://github.com/llvm/llvm-project/issues/115652
Commit: ac65b2c327d791a4731360c52625d11b8d233449
https://github.com/llvm/llvm-project/commit/ac65b2c327d791a4731360c52625d11b8d233449
Author: Alan Li <me at alanli.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
A mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
A mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
Log Message:
-----------
[MLIR][GPU] Add a pattern to rewrite gpu.subgroup_id (#137671)
This patch impelemnts a rewrite pattern for transforming
`gpu.subgroup_id` to:
```
subgroup_id = linearized_thread_id / gpu.subgroup_size
```
where:
```
linearized_thread_id = thread_id.x + block_dim.x * (thread_id.y + block_dim.y * thread_id.z)
```
Commit: cf7301aeb808a13fe882a4b0bf7f1bfe4051c301
https://github.com/llvm/llvm-project/commit/cf7301aeb808a13fe882a4b0bf7f1bfe4051c301
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Host/posix/HostTest.cpp
Log Message:
-----------
[lldb] Disable the process architecture test on macOS as well
Fails on the x86_64 bot.
Commit: 900505900e2033f24548f1b04b531585ce932215
https://github.com/llvm/llvm-project/commit/900505900e2033f24548f1b04b531585ce932215
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/inline-asm-invalid.ll
Log Message:
-----------
[RISCV] Check the VT for R and cR inline asm constraints is 2*xlen. (#137749)
Fixes #137726.
Commit: 316a6ff3d08f986e7b38f81415fd611c2e876fd6
https://github.com/llvm/llvm-project/commit/316a6ff3d08f986e7b38f81415fd611c2e876fd6
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
Log Message:
-----------
[BOLT][RelVTable] Skip special handling on non virtual function pointer relocations (#137406)
Besides virtual function pointers vtable could contain other kinds of
entries like those for RTTI data that also require relocations. We need
to skip special handling on relocations for non virtual function pointers
in relative vtable.
Co-authored-by: Maksim Panchenko <maks at meta.com>
Commit: 3081ec12491aa2514e03fe27abf9ff44e9e332ae
https://github.com/llvm/llvm-project/commit/3081ec12491aa2514e03fe27abf9ff44e9e332ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
M lldb/test/API/commands/watchpoints/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb] Provide an unconditional @skip annotation for API tests (#137712)
The correct way of doing this today is to use `@skipIf` with no
arguments, which reads like it expects a condition.
Fixes #137710
Commit: 55287705691ab42e5b15d2b2847a22aaa3b99e84
https://github.com/llvm/llvm-project/commit/55287705691ab42e5b15d2b2847a22aaa3b99e84
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][Linalg] Add syntax-highlighting in docs (#137646)
With this small update we should gain MLIR syntax-highlighting in:
* https://mlir.llvm.org/docs/Dialects/Linalg/
Commit: bd3dde0f871cd71a797ba5da3070fa3ddbc48828
https://github.com/llvm/llvm-project/commit/bd3dde0f871cd71a797ba5da3070fa3ddbc48828
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/invalid-module-dep.c
Log Message:
-----------
[clang][Modules] Diagnose mismatching pcm dependencies in explicit buiilds (#137068)
In an explicit build, the dependency scanner generates invocations with
dependencies to module files to use during compilation. The pcm's passed
in the invocations should match the ones that were imported by other
modules that share the same dependencies.
We have seen bugs caused from incorrect invocations that mismatch which
module file to load. When this happens report it as a warning, to help
with investigations, as that should never occur in a well behaved build
scheduled from the dependency scanner.
The warning flag is off by default.
Commit: ea688c031e99c48a35e0c764d0224c7eed559b12
https://github.com/llvm/llvm-project/commit/ea688c031e99c48a35e0c764d0224c7eed559b12
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fdim.cl
A libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/generic/lib/math/fdim.cl
R libclc/generic/lib/math/fdim.inc
Log Message:
-----------
[libclc] Move fdim to CLC library; simplify (#137811)
This commit moves the fdim builtin to the CLC library. It simultaneously
simplifies the codegen, unifying it between scalar and vector and
avoiding bithacking for vector types.
Commit: 9d1f1c4c8b5e96dfdbde37cb2cf906afdce5ef30
https://github.com/llvm/llvm-project/commit/9d1f1c4c8b5e96dfdbde37cb2cf906afdce5ef30
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/switch.cpp
A clang/test/CIR/IR/switch.cir
Log Message:
-----------
[CIR] Upstream initial support for switch statements (#137106)
This introduces initial support for the switchOP, with caseOP of the
Equal kind. Support for additional case kinds such as AnyOf, Range, and
Default will be included in a future patch. Similarly, lowering to LLVM
IR and flattening of the switch are deferred and will be addressed in
subsequent updates.
Commit: 30bedb318611d84cf9b0672f6e0675d33f90d2c8
https://github.com/llvm/llvm-project/commit/30bedb318611d84cf9b0672f6e0675d33f90d2c8
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/variables.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error if checks Variable Operators (#137291)
For VARIABLE, VARIABLE_WRITE & VARIABLE_READ
Commit: f37ab152540d374ceff8551abef3de5110e697ee
https://github.com/llvm/llvm-project/commit/f37ab152540d374ceff8551abef3de5110e697ee
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
A llvm/test/Transforms/InstCombine/cttz-shift-exact.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Infer exact for lshr by cttz (#136696)
Infer the 'exact' flag on an 'lshr' or 'ashr' instruction when the shift
amount is computed via a 'cttz' intrinsic on the same operand.
Proof: https://alive2.llvm.org/ce/z/CQR2PG
Fixes #131444.
Commit: ad66e5495d598c9f64cfafba92ba48f2a24b8278
https://github.com/llvm/llvm-project/commit/ad66e5495d598c9f64cfafba92ba48f2a24b8278
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml
Log Message:
-----------
[DirectX] Revise descriptions of DXIL module flags (#133543)
This PR revises the descriptions of DXIL module flags.
Descriptions such as `D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION` are
referring to Global Flags in DXBC.
DXBC is not a supported backend target, so references to DXBC should not
be present.
There is also confusion with regards to the description of the
`LowPrecisionPresent` DXIL module flag, which currently reads
`D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION` and implies the use of
minimum-precision to handle 16-bit types.
However this is not true, because both the flags `LowPrecisionPresent`
and `UseNativeLowPrecision` can simultaneously be set in the same DXIL
module, and minimum precision mode is mutually exclusive with native low
precision.
This PR revises the description of the `LowPrecisionPresent` flag to
accurately describe what it represents.
Commit: d20796dab776f80c26915c44d558357f3459a184
https://github.com/llvm/llvm-project/commit/d20796dab776f80c26915c44d558357f3459a184
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
Log Message:
-----------
[InstCombine] Offset both sides of an equality icmp (#134086)
Proof: https://alive2.llvm.org/ce/z/zQ2UW4
Closes https://github.com/llvm/llvm-project/issues/134024
Commit: 7b70fc74d039dbb0c3c67feb1741bb5c446d55f7
https://github.com/llvm/llvm-project/commit/7b70fc74d039dbb0c3c67feb1741bb5c446d55f7
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Convert omp.cancel sections to LLVMIR (#137193)
This is quite ugly but it is the best I could think of. The old
FiniCBWrapper was way too brittle depending upon the exact block
structure inside of the section, and could be confused by any control
flow in the section (e.g. an if clause on cancel). The wording in the
comment and variable names didn't seem to match where it was actually
branching too as well.
Clang's (non-OpenMPIRBuilder) lowering for cancel inside of sections
branches to a block containing __kmpc_for_static_fini.
This was hard to achieve here because sometimes the FiniCBWrapper has to
run before the worksharing loop finalization has been crated.
To get around this ordering issue I created a dummy branch to a dummy
block, which is then fixed later once all of the information is
available.
Commit: 6022a5214b597561d23c26a839a210f41c246c47
https://github.com/llvm/llvm-project/commit/6022a5214b597561d23c26a839a210f41c246c47
Author: Callum Fare <callum at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/test/CMakeLists.txt
M offload/test/lit.cfg
A offload/test/unit/lit.cfg.py
A offload/test/unit/lit.site.cfg.in
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/common/Environment.cpp
M offload/unittests/OffloadAPI/common/Environment.hpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M offload/unittests/OffloadAPI/program/olDestroyProgram.cpp
M offload/unittests/OffloadAPI/queue/olCreateQueue.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olWaitQueue.cpp
R offload/unittests/Plugins/CMakeLists.txt
R offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Offload] Add check-offload-unit for liboffload unittests (#137312)
Adds a `check-offload-unit` target for running the liboffload unit test
suite. This unit test binary runs the tests for every available device.
This can optionally filtered to devices from a single platform, but the
check target runs on everything.
The target is not part of `check-offload` and does not get propagated to
the top level build. I'm not sure if either of these things are
desirable, but I'm happy to look into it if we want.
Also remove the `offload/unittests/Plugins` test as it's dead code and
doesn't build.
Commit: d63703842937c8a089a272297886de5fc7bdc0a4
https://github.com/llvm/llvm-project/commit/d63703842937c8a089a272297886de5fc7bdc0a4
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/Makefile
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/main.cpp
Log Message:
-----------
[LLDB] Add unary operators Dereference and AddressOf to DIL (#134428)
Commit: 694a42f018d0847005e6b6ad1aa2f22a64f1f482
https://github.com/llvm/llvm-project/commit/694a42f018d0847005e6b6ad1aa2f22a64f1f482
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/math/clc_asinpi.inc
M libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_rootn.inc
Log Message:
-----------
[libclc] Avoid casting NANs & literals to 'gentype' (#137824)
By having these already defined as type 'gentype' we can avoid
unnecessary casting.
Commit: 5cec6f6f2d0a9abb53af9d663a60fe56736fc2ac
https://github.com/llvm/llvm-project/commit/5cec6f6f2d0a9abb53af9d663a60fe56736fc2ac
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M bolt/test/non-empty-debug-line.test
Log Message:
-----------
[BOLT][NFC] Add keep-nops option to non-empty-debug-line.test (#137812)
On openSUSE distribution test is failing due to different .debug_line
size without the keep-nops option
Commit: 82c036e2de4eba0e286a94c9b3240e4b14d8aee4
https://github.com/llvm/llvm-project/commit/82c036e2de4eba0e286a94c9b3240e4b14d8aee4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/TBAAForest.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
A flang/test/Transforms/tbaa3.fir
A flang/test/Transforms/tbaa4.fir
Log Message:
-----------
[flang] Restructured TBAA trees in AddAliasTags pass. (#136725)
This patch produces the following TBAA tree for a function:
```
Function root
|
"any access"
|
|- "descriptor member"
|- "any data access"
|
|- "dummy arg data"
|- "target data"
|
|- "allocated data"
|- "direct data"
|- "global data"
```
The TBAA tags are assigned using the following logic:
* All POINTER variables point to the root of "target data".
* Dummy arguments without POINTER/TARGET point to their
leafs under "dummy arg data".
* Dummy arguments with TARGET point to the root of "target data".
* Global variables without descriptors point to their leafs under
"global data" (including the ones with TARGET).
* Global variables with descriptors point to their leafs under
"direct data" (including the ones with TARGET).
* Locally allocated variables point to their leafs under
"allocated data" (including the ones with TARGET).
This change makes it possible to disambiguate globals like:
```
module data
real, allocatable :: a(:)
real, allocatable, target :: b(:)
end
```
Indeed, two direct references to global vars cannot alias
even if any/both of them have TARGET attribute.
In addition, the dummy arguments without POINTER/TARGET cannot alias
any other variable even with POINTER/TARGET. This was not expressed
in TBAA before this change.
As before, any "unknown" memory references (such as with Indirect
source, as classified by FIR alias analysis) may alias with
anything, as long as they point to the root of "any access".
Please think of the counterexamples for which this structure
may not work.
Commit: 0f90a7b323bcaa087be31aa135b71694db2d5ff9
https://github.com/llvm/llvm-project/commit/0f90a7b323bcaa087be31aa135b71694db2d5ff9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Enable making the `CompilerInstance` module dependency collector thread-safe (#137227)
The same principle as #135473, #135737, #136178, #136601 & #137059.
Commit: c85e43bd45fee5de106d79965db484339b5cc46f
https://github.com/llvm/llvm-project/commit/c85e43bd45fee5de106d79965db484339b5cc46f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[clang] Hide the `LangOptions` pointer from `CompilerInvocation` (#137675)
This PR makes `CompilerInvocation` the sole owner of the `LangOptions`
instance.
Commit: e0660edf22ed1064e80cc1ac80f2a9a00cc7624a
https://github.com/llvm/llvm-project/commit/e0660edf22ed1064e80cc1ac80f2a9a00cc7624a
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
Log Message:
-----------
[NFC][AArch64] Final Cleanup Pass Initialization (#137744)
This finishes the work from 23c27f3efcdda730b365698ade5fd0c1c283f2e7 to
cleanup where pass initializers are called from, as noted in #111767.
This patch addresses passes where the initializer does not start with
`initializeAArch64`, which seemed to be missed in the previous commit.
Commit: e07307b53457095746aa037750a4ac2f9491d71c
https://github.com/llvm/llvm-project/commit/e07307b53457095746aa037750a4ac2f9491d71c
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
Log Message:
-----------
[lld] resolve dylib paths before caching (#137649)
When loading frameworks it is possible to have load commands for the
same framework through symlinks and the real path. To avoid loading
these multiple times find the real path before checking the dylib cache.
Commit: 743c32eb8195c248c699c61ffbac141947b8e6ab
https://github.com/llvm/llvm-project/commit/743c32eb8195c248c699c61ffbac141947b8e6ab
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Log Message:
-----------
[clang] Disable libclang abort death test after merging unittests
Death tests are often sensitive to global process state, which is
dirtier now that the scope of the test binary has increased
significantly.
I think the value of this single death test isn't high enough to roll
back the gtest binary merging patch, so I'm disabling it.
See issue #137855 for the investigation.
Commit: 7d91cf4bab8c9c4daa3d3a9fca87778d6ccacb6b
https://github.com/llvm/llvm-project/commit/7d91cf4bab8c9c4daa3d3a9fca87778d6ccacb6b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/compound_assign.cpp
Log Message:
-----------
[CIR] Add support for compound assignment statements (#137740)
Compound assignment in C++ goes through a different path than the binary
assignment operators that were already handled for C. This change adds
the necessary handler to get this working with C++.
Commit: e33b7a1d6388007183b7657958a0d32626caea46
https://github.com/llvm/llvm-project/commit/e33b7a1d6388007183b7657958a0d32626caea46
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.8.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
Log Message:
-----------
[DirectX] Implement Shader Flag Analysis for `UAVsAtEveryStage` (#137085)
Fixes #112272
In addition to the implementation of the UAVsAtEveryStage shader flag
analysis, several unrelated tests have had the `dx.valver` module
metadata defined to avoid setting the UAVsAtEveryStage shader flag in
them.
Example:
```
!dx.valver = !{!0}
!0 = !{i32 1, i32 8}
```
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 4ed8f38e814d788abc3131c24e7bad96766a52bc
https://github.com/llvm/llvm-project/commit/4ed8f38e814d788abc3131c24e7bad96766a52bc
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__utility/pair.h
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
Log Message:
-----------
[libc++][pair] P2944R3: Constrain `std::pair`'s equality operator (#136672)
Implements https://wg21.link/P2944R3 (partially):
- [pairs.spec](https://eel.is/c++draft/pairs.spec)
Related issues:
- Related to #105424
- Related to #118135
- PR https://github.com/llvm/llvm-project/pull/135759
- PR https://github.com/llvm/llvm-project/pull/117664
Closes: [#136763](https://github.com/llvm/llvm-project/issues/136763)
# References
- https://eel.is/c++draft/concept.booleantestable
- https://eel.is/c++draft/concept.equalitycomparable
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 0864e3c8a9335db0d9c8c32f059a3d0c3f01c534
https://github.com/llvm/llvm-project/commit/0864e3c8a9335db0d9c8c32f059a3d0c3f01c534
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
Log Message:
-----------
[Test][Darwin] Mark zero_page_pc test as unsupported for iOS (#137858)
This is handled as a SIGKILL and can't be intercepted by ASan's signal
handler.
rdar://127512190
Commit: 705ceff7c1fc328151a6506a91773aac429ccee3
https://github.com/llvm/llvm-project/commit/705ceff7c1fc328151a6506a91773aac429ccee3
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/Basic/CMakeLists.txt
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/Driver/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/CMakeLists.txt
Log Message:
-----------
[TargetParser] Fix flaky installs of generated headers (#137853)
The `llvm-headers` target wasn't depending on the generated TargetParser
headers, so they'd be flakily installed or not installed depending on
which order the build steps ran in. Add an explicit dependency to fix
this, and switch to a single `target_parser_gen` target to mirror the
pattern used by `intrinsics_gen` (which also fixes a few other missing
dependencies). Switch `llvm-headers` to use `add_dependencies` instead
of `DEPENDS` for the tablegen dependencies as well, since `DEPENDS` is
only intended for creating a file-level dependency on the output of an
`add_custom_command` in the same CMakeLists.txt (see `DEPENDS` under
https://cmake.org/cmake/help/latest/command/add_custom_target.html).
Commit: becd418626e1ebedde6d095f7bb020e554251b15
https://github.com/llvm/llvm-project/commit/becd418626e1ebedde6d095f7bb020e554251b15
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/SPARC/ctlz.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/cttz.ll
R llvm/test/CodeGen/X86/lzcnt-cmp.ll
Log Message:
-----------
[CGP] Despeculate ctlz/cttz with "illegal" integer types (#137197)
The code below the removed check looks generic enough to support
arbitrary integer widths. This change helps 32-bit targets avoid
expensive expansion/libcalls in the case of zero input.
Pull Request: https://github.com/llvm/llvm-project/pull/137197
Commit: f784fa727543463b86511f7e5797174422cbeeaf
https://github.com/llvm/llvm-project/commit/f784fa727543463b86511f7e5797174422cbeeaf
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
Log Message:
-----------
[lldb] Disable TestExitDuringExpression on asan
This test is trying to exercise code running constructors with
interrupts. While we should fix this, this is creating noise on the
bots.
Commit: c88b53777130a80ac08f39166c487ea7bb721441
https://github.com/llvm/llvm-project/commit/c88b53777130a80ac08f39166c487ea7bb721441
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
Target: Stop assigning RELRO sections to .ldata.rel.ro.
Linkers do not currently support PT_GNU_RELRO for SHF_X86_64_LARGE
sections; that would require the linker to emit more than one
PT_GNU_RELRO because large sections are discontiguous by design,
and most ELF dynamic loaders do not support that (bionic appears to
support it but glibc/musl/FreeBSD/NetBSD/OpenBSD appear not to). With
current linkers these sections will end up in .ldata which results
in silently disabling RELRO. Therefore, disable SHF_X86_64_LARGE for
RELRO sections. If this ever gets supported by downstream components
in the future we could add an opt-in flag for moving these sections
to .ldata.rel.ro which would trigger the creation of a second
PT_GNU_RELRO.
Reviewers: MaskRay, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/137742
Commit: 7dd8122d4ea147a2e8b90d611e30d4c2cff4619f
https://github.com/llvm/llvm-project/commit/7dd8122d4ea147a2e8b90d611e30d4c2cff4619f
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] - Add support for firstprivate when translating omp.target ops from MLIR to LLVMIR (#131213)
This patch adds support to translate `firstprivate` clauses on `omp.target` ops when translating from MLIR to LLVMIR.
Presently, this PR is restricted to supporting only included tasks, i.e `#omp target nowait firstprivate(some_variable)` will likely not work correctly even if it produces object code.
Commit: d3d35adcd32c91e9076be6bb242dd6c82c490c4b
https://github.com/llvm/llvm-project/commit/d3d35adcd32c91e9076be6bb242dd6c82c490c4b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
Log Message:
-----------
[DirectX] Legalize i8 allocas (#137399)
fixes #137202
investingating i8 allocas I came to find some missing instructions from
out i8 legalization around load, store, and select.
Added those three.
To do i8 allocas right though we needed to walk the uses and find the
casts.
After finding the casts I chose to pick the smallest cast as the cast to
transform to. That would then let me preserve the larger casts that come
later
Commit: 1a6b0413e047a390dc7759b2ea558bad83e7f1cf
https://github.com/llvm/llvm-project/commit/1a6b0413e047a390dc7759b2ea558bad83e7f1cf
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][acc] Fix issue with privatization recipe for box ref (#137869)
When privatizing allocatable/pointer arrays, the code was creating a
temporary but this was a box type. This led to inconsistency between the
input and output of recipe.
The updated logic now creates storage when a box ref is requested.
Commit: 9ebaa9d483740b1e9a796e9e3b40a2ab70a4efb5
https://github.com/llvm/llvm-project/commit/9ebaa9d483740b1e9a796e9e3b40a2ab70a4efb5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/sigsetjmp.cpp
Log Message:
-----------
[libc] implement aarch64 sigsetjmp (#136706)
- **[libc][aarch64] implement sigsetjmp**
On top of https://github.com/llvm/llvm-project/pull/136072
See also https://github.com/llvm/llvm-project/issues/137055 for remarks
on naked attributes.
```c++
//===-- Implementation of setjmp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "src/setjmp/sigsetjmp.h"
#include "hdr/offsetof_macros.h"
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
#include "src/setjmp/setjmp_impl.h"
#include "src/setjmp/sigsetjmp_epilogue.h"
namespace LIBC_NAMESPACE_DECL {
[[gnu::naked]]
LLVM_LIBC_FUNCTION(int, sigsetjmp, (sigjmp_buf, int)) {
asm(R"(
cbz w1, %c[setjmp]
str x30, [x0, %c[retaddr]]
str x19, [x0, %c[extra]]
mov x19, x0
bl %c[setjmp]
mov w1, w0
mov x0, x19
ldr x30, [x0, %c[retaddr]]
ldr x19, [x0, %c[extra]]
b %c[epilogue])" ::[retaddr] "i"(offsetof(__jmp_buf, sig_retaddr)),
[extra] "i"(offsetof(__jmp_buf, sig_extra)), [setjmp] "i"(setjmp),
[epilogue] "i"(sigsetjmp_epilogue)
: "x0", "x1", "x19", "x30");
}
} // namespace LIBC_NAMESPACE_DECL
```
Commit: 7e71466900f84770c08cc53807425a19918a3975
https://github.com/llvm/llvm-project/commit/7e71466900f84770c08cc53807425a19918a3975
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
Log Message:
-----------
[VPlan] Preserve dbg location on canonical IVs in native path.
Pass the debug location of the primary IV to addCanonicalIVRecipes in
the native path, matching the behavior of inner loop vectorization.
Commit: fff622fbf760f9ff4e10073ad859c2b663f33af8
https://github.com/llvm/llvm-project/commit/fff622fbf760f9ff4e10073ad859c2b663f33af8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/gep-modulo.ll
Log Message:
-----------
[BasicAA] Account for wrapping when using abs(Scale*V0 + (-Scale)*V1) >= abs(Scale) (#137755)
Similar to 1b7ef6aac8a3cad245c0ed14fe21725e31261f73, add a check to only
set MinAbsVarIndex if abs(Scale*V0) and abs((-Scale)*V1) won't wrap. In
the absence of IsNSW, try to use the bitwidths of the original V and
Scale to rule out wrapping
Commit: 74593f667823025580e046e56d48d7a9899b8956
https://github.com/llvm/llvm-project/commit/74593f667823025580e046e56d48d7a9899b8956
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV][NFC] Remove duplicate extensions from tt-ascalon-d8 CPU (#137865)
Sscofpmf is already in RVA23S64 and Zicsr is in RVA20U64. I also added a
check against Sscofpmf. NFC.
Commit: 6a16da75d1d52de2211993e25a6485281defe097
https://github.com/llvm/llvm-project/commit/6a16da75d1d52de2211993e25a6485281defe097
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
[AMDGPU] Avoid referring to specific number of address spaces. NFC. (#137842)
This just avoids some hard coded numbers that would have to be updated
every time we add an address space.
Commit: e17122fffa8d233fcf9f717354ecda46173f1b8d
https://github.com/llvm/llvm-project/commit/e17122fffa8d233fcf9f717354ecda46173f1b8d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Add canonical IV during construction (NFC).
This addresses an existing TODO and simply moves the current code to add
canonical IV recipes to the initial skeleton construction, at the same
place where the corresponding region will be introduced.
Commit: 740f674917a41bbaea88877db9beb4b2d6b52878
https://github.com/llvm/llvm-project/commit/740f674917a41bbaea88877db9beb4b2d6b52878
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][acc] Fix extraneous space when printing acc.loop (#137839)
The acc.loop printer inserted two spaces after the operation. This
occurred because the custom combined loop attribute printer was not
conditional - and thus the tablegen inserted an automatic space before
invoking the custom printer. Then for each additional attribute it also
inserted a space in beginning.
Since lit tests were not sensitive to this, no tests need updated. But
the issue with the extraneous space is resolved.
Commit: d431921677ae923d189ff2d6f188f676a2964ed8
https://github.com/llvm/llvm-project/commit/d431921677ae923d189ff2d6f188f676a2964ed8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
Revert "[VPlan] Add canonical IV during construction (NFC)."
This reverts commit e17122fffa8d233fcf9f717354ecda46173f1b8d.
Revert as this seems to break some unit tests on some bots.
Commit: 97ec3ef4ab0eaf5e1fde9a3bf4bf4a9aaad49f33
https://github.com/llvm/llvm-project/commit/97ec3ef4ab0eaf5e1fde9a3bf4bf4a9aaad49f33
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add start and end line numbers (#137732)
This patch adds start and end line numbers to clang-doc. Currently
clang-doc only encodes the start line numbers of records, struct, etc.
This patch adds start and end line number to clang-doc bitcode which is
passed to the generator. This will be used by the mustache backend to
generate line ranges. Based on the orginal patch in #135081.
Co-author: Paul Kirth <paulkirth at google.com>
Co-authored-by: PeterChou1 <peter.chou at mail.utoronto.ca>
Commit: 557ddc2e5d066dbc9900cb158a842b9cd5864d8a
https://github.com/llvm/llvm-project/commit/557ddc2e5d066dbc9900cb158a842b9cd5864d8a
Author: Ian Anderson <iana at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Headers/float.h
Log Message:
-----------
[clang][headers][Apple] Don't include_next float.h to avoid an unnecessary module dependency (#137432)
float.h doesn't define anything in Apple's SDKs that the clang float.h
doesn't undefine, so all the include_next does is add an unnecessary
module dependency. Skip the include_next and completely shadow the SDK
header.
Commit: f73db3df80e6924551ea773c0d5afb54a82bc76f
https://github.com/llvm/llvm-project/commit/f73db3df80e6924551ea773c0d5afb54a82bc76f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb-dap[test] Don't pass --listen to debugserver
Fixes "debugserver: unrecognized option `--listen'"
Commit: a24457eb99d5c78e46bdf5310430a9551e480361
https://github.com/llvm/llvm-project/commit/a24457eb99d5c78e46bdf5310430a9551e480361
Author: enh-google <enh at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/test/src/search/lfind_test.cpp
Log Message:
-----------
[libc] lfind_test.cpp: put helpers in an anonymous namespace. (#137821)
This matches other tests and allows the tests to be built together (as
Android is doing).
Commit: a7402b0c4ac1cc255354904ef1f46aa7b714c44f
https://github.com/llvm/llvm-project/commit/a7402b0c4ac1cc255354904ef1f46aa7b714c44f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[clang][NFC] Convert `Parser::ScopeCacheSize` to a constant
Commit: 951292be2c21bc903e63729338d872a878d2d49c
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/test/TableGen/DuplicateProcessorFeatures.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Print a warning when a Processor contains duplicate Features / TuneFeatures (#137864)
I don't think a processor should normally contains duplicate features. This patch prints a warning whenever that happens in either the features or tune features.
Commit: 4595e8092ed5ce69b3ce33e989d7bea3a25fc289
https://github.com/llvm/llvm-project/commit/4595e8092ed5ce69b3ce33e989d7bea3a25fc289
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::AnnotatedNameKind` to scoped enum
Commit: 7ecd81e266174253786e084c100c22c65a214b5d
https://github.com/llvm/llvm-project/commit/7ecd81e266174253786e084c100c22c65a214b5d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ExtraSemiKind` to scoped enum
Commit: c68535581135a1513c9c4c1c7672307d4b5e616e
https://github.com/llvm/llvm-project/commit/c68535581135a1513c9c4c1c7672307d4b5e616e
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
Log Message:
-----------
Unsupported zero_page_pc on iOS. (#137893)
Commit: d5272e4f4130788f261b44b5412c75a6b87fc836
https://github.com/llvm/llvm-project/commit/d5272e4f4130788f261b44b5412c75a6b87fc836
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Only copy global that have effective use (#137890)
Commit: 36850a028d149467cafd2702bc0c2587f6b71cce
https://github.com/llvm/llvm-project/commit/36850a028d149467cafd2702bc0c2587f6b71cce
Author: Haowei <haowei at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Adding PR_PAC_APIAKEY macro definition (#137888)
In older Linux distros, PR_PAC_APIAKEY is not defined and it causes
build failures on linux arm64 platform. This patch adds the definition
of this macro if it is not defined.
Commit: efef83e11d6b5f47c624465006bbea4cbb8a2526
https://github.com/llvm/llvm-project/commit/efef83e11d6b5f47c624465006bbea4cbb8a2526
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][InstrProf] Skip BP ordering input sections with null data (#137906)
In MachO, `.bss` `isec`s have a length, but point to null. This causes
Balanced Partitioning to crash on these inputs.
This code was in the original implementation, but was removed in
https://github.com/llvm/llvm-project/pull/124482/files#diff-b2aac8833d29d297ae5ada1b36eb4e88f53691fd91df954c24e0c264f3131d4aL27
Commit: a01a5b82dc89d427eada7f3b4d2f3e42ef50ae91
https://github.com/llvm/llvm-project/commit/a01a5b82dc89d427eada7f3b4d2f3e42ef50ae91
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
Log Message:
-----------
[AMDGPU][NFC] Remove duplicate features in gfx908/909/90a (#137902)
The new TableGen warning introduced in
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
shows the following warnings:
```
warning: Processor gfx908 contains duplicate feature 'addressablelocalmemorysize65536'
warning: Processor gfx909 contains duplicate feature 'image-insts'
warning: Processor gfx90a contains duplicate feature 'addressablelocalmemorysize65536'
```
Commit: 6bb4ce0f6ff462b58bacc8dbc47719b7009f9b18
https://github.com/llvm/llvm-project/commit/6bb4ce0f6ff462b58bacc8dbc47719b7009f9b18
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
Log Message:
-----------
Silence spurious -Wnontrivial-memcall warnings in C mode (#137429)
clang currently issues a warning when memset is used on a struct that
contains an address-discriminated pointer field, even though this is
entirely valid behavior.
For example:
```
struct S {
int * __ptrauth(1, 1, 100) p;
} s;
memset(&s, 0, sizeof(struct S));
```
Only allow the warning to be emitted in C++ mode to silence the warning.
rdar://142495870
Commit: f1750300aad0e49383cd4b206e2354f1300a40a8
https://github.com/llvm/llvm-project/commit/f1750300aad0e49383cd4b206e2354f1300a40a8
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
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/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Resource initialization by constructors (#135120)
- Adds resource constructor that takes explicit binding for all resource
classes.
- Updates implementation of default resource constructor to initialize
resource handle to `poison`.
- Removes initialization of resource classes from Codegen.
- Initialization of `cbuffer` still needs to happen in `CGHLSLRuntime`
because it does not have a corresponding resource class type.
- Adds `ImplicitCastExpr` for builtin function calls. Sema adds these
automatically when a method of a template class is instantiated, but
some resource classes like `ByteAddressBuffer` are not templates so they
need to have this added explicitly.
Design proposal: llvm/wg-hlsl#197
Closes #134154
Commit: b8bb1ccb4f9126d1bc9817be24e17f186a75a08b
https://github.com/llvm/llvm-project/commit/b8bb1ccb4f9126d1bc9817be24e17f186a75a08b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 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/FormatTokenLexer.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add OneLineFormatOffRegex option (#137577)
Close #54334
Commit: baaed16a6b8617ce5a6a807c427c6ec48b5236ad
https://github.com/llvm/llvm-project/commit/baaed16a6b8617ce5a6a807c427c6ec48b5236ad
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86.td
Log Message:
-----------
[X86][NFC] Remove duplicate feature from Znver5 processor definition (#137901)
`FeatureVNNI` is already in Znver4AdditionalFeature.
Found by the new TableGen warning introduced in
951292be2c21bc903e63729338d872a878d2d49c
Commit: 512225563148a7a31912d5c1d2699cd228049b55
https://github.com/llvm/llvm-project/commit/512225563148a7a31912d5c1d2699cd228049b55
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `ParsedTemplateInfo::Kind` to scoped enum
Commit: 159628cc228726b8ffae2127c65363ce14a5c3d0
https://github.com/llvm/llvm-project/commit/159628cc228726b8ffae2127c65363ce14a5c3d0
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
Log Message:
-----------
[CodeGen] Port MachineUniformityAnalysis to new pass manager (#137578)
- Add new pass manager version of `MachineUniformityAnalysis `.
- Query `TargetTransformInfo` in new pass manager version.
- Use `printAsOperand` when printing machine function name
Commit: 44d8aa8139e02e7b1642f284b32757ee446a88e6
https://github.com/llvm/llvm-project/commit/44d8aa8139e02e7b1642f284b32757ee446a88e6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CachedInitKind` to scoped enum
Commit: 23c3c4e40304f7c05fd77e45d26c846779b37ed5
https://github.com/llvm/llvm-project/commit/23c3c4e40304f7c05fd77e45d26c846779b37ed5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ObjCTypeQual` to scoped enum
Commit: dc87d21aca34c8aa1654ecefb456aac0c1965507
https://github.com/llvm/llvm-project/commit/dc87d21aca34c8aa1654ecefb456aac0c1965507
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::TypeCastState` to scoped enum
Commit: 4075a3698a3fdda3a77ce2456e3bfefbc0f0c56e
https://github.com/llvm/llvm-project/commit/4075a3698a3fdda3a77ce2456e3bfefbc0f0c56e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CastParseKind` to scoped enum
Commit: 830cf36bd4c491ef28d9bba74737e324639bb4cd
https://github.com/llvm/llvm-project/commit/830cf36bd4c491ef28d9bba74737e324639bb4cd
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instruction.cpp
A llvm/test/Transforms/CorrelatedValuePropagation/pr137582.ll
Log Message:
-----------
[LVI][ValueTracking] Take UB-implying attributes into account in `isSafeToSpeculativelyExecute` (#137604)
Closes https://github.com/llvm/llvm-project/issues/137582.
In the original case, LVI uses the edge information in `%entry ->
%if.end` to get a more precise result. However, since the call to `smin`
has an `noundef` return attribute, an immediate UB will be triggered
after optimization.
Currently, `isSafeToSpeculativelyExecuteWithOpcode(%min)` returns true
because
https://github.com/llvm/llvm-project/commit/6a288c1e32351d4be3b7630841af078fa1c3bb8b
only checks whether the function is speculatable. However, it is not
enough in this case.
This patch takes UB-implying attributes into account if
`IgnoreUBImplyingAttrs` is set to false. If it is set to true, the
caller is responsible for correctly propagating UB-implying attributes.
Commit: e8c684a0e4299077904892d11b1906f8e660eb01
https://github.com/llvm/llvm-project/commit/e8c684a0e4299077904892d11b1906f8e660eb01
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ParenParseOption` to scoped enum
Commit: 5f22b84b653e9b76a21ea4ea2ae864173242f237
https://github.com/llvm/llvm-project/commit/5f22b84b653e9b76a21ea4ea2ae864173242f237
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::IfExistsBehavior` to scoped enum
Commit: 78a1d92870b596c67ee301b96d3a7864bafaab92
https://github.com/llvm/llvm-project/commit/78a1d92870b596c67ee301b96d3a7864bafaab92
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::TentativeCXXTypeIdContext` to scoped enum
Commit: e803c20863f52a218a381a5f09ea8c23a57b545e
https://github.com/llvm/llvm-project/commit/e803c20863f52a218a381a5f09ea8c23a57b545e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CXX11AttributeKind` to scoped enum
Commit: e4332e470678093c42670b594014bce8e91fe31b
https://github.com/llvm/llvm-project/commit/e4332e470678093c42670b594014bce8e91fe31b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[flang] Fix build when examples are disabled
Without this change I get a build error due to the missing Bye target
when I configure my build with -DLLVM_INCLUDE_EXAMPLES=OFF.
This check for LLVM_BUILD_EXAMPLES matches the checks in llvm and lld.
Reviewed By: mgorny
Pull Request: https://github.com/llvm/llvm-project/pull/137908
Commit: 857ac4c229d209ebf3990c4760e2fc546beeac9c
https://github.com/llvm/llvm-project/commit/857ac4c229d209ebf3990c4760e2fc546beeac9c
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Fir/basic-program.fir
A flang/test/Fir/convert-nontemporal-to-llvm.fir
A flang/test/Fir/simd-nontemporal.fir
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Lowering nontemporal clause to LLVM IR for SIMD directive (#118751)
This patch,
- Added a new attribute `nontemporal` to fir.load and fir.store operation in the FIR dialect.
- Added a pass `lower-nontemporal` which is called before FIRToLLVM conversion pass and adds the nontemporal attribute to loads and stores on the list items specified in the nontemporal clause of the SIMD directive.
- Set the `UnitAttr:$nontemporal` to llvm.load and llvm.store operations during FIR to LLVM dialect conversion, if the corresponding fir.load or fir.store operations have the nontemporal attribute.
- Attached the `nontemporal metadata` to load and store instructions that have the nontemporal attribute, during LLVM dialect to LLVM IR translation.
Commit: 96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
https://github.com/llvm/llvm-project/commit/96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
Author: Peiyong Lin <linpyong at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Support nusw and nuw in GEP (#137272)
nusw and nuw were introduced in getelementptr, this patch plumbs them in
MLIR.
Since inbounds implies nusw, this patch also adds an inboundsFlag to
represent the concept of raw inbounds with no nusw implication, and have
the inbounds literal captured as the combination of inboundsFlag and
nusw.
Fixes: iree#20482
Signed-off-by: Lin, Peiyong <linpyong at gmail.com>
Commit: 4bf93c098c8b04a06f228b05732d691d0ce2babc
https://github.com/llvm/llvm-project/commit/4bf93c098c8b04a06f228b05732d691d0ce2babc
Author: Marco Elver <elver at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
Thread Safety Analysis: Fix style
Comment fix and apply new clang-format style in
ScopedLockableFactEntry::unlock().
Factored out from https://github.com/llvm/llvm-project/pull/137133
NFC.
Commit: af497d9a658ebca437aff79cd9532cd93b7a58a0
https://github.com/llvm/llvm-project/commit/af497d9a658ebca437aff79cd9532cd93b7a58a0
Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Simpily if condition (NFC) (#137777)
Note that the key-value pair has already been initialized, so assignment
is not necessary.
Commit: c96f019fa3bc02bbc60343de606235c6e2cef4bd
https://github.com/llvm/llvm-project/commit/c96f019fa3bc02bbc60343de606235c6e2cef4bd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[BasicBlockUtils] Remove broken support for eh pads in SplitEdge() (#137816)
d81d9e8b8604c85709de0a22bb8dd672a28f0401 changed SplitEdge() to make use
of ehAwareSplitEdge() for critical edges where the target is an eh pad.
However, the implementation is incorrect at least for landing pads. What
is currently produced for the code in the modified unit test is
something like this:
continue:
invoke void @sink()
to label %normal unwind label %new_bb
new_bb:
%cp = cleanuppad within %exception []
cleanupret from %cp unwind label %exception
exception:
%cleanup = landingpad i8 cleanup
br label %trivial-eh-handler
This mixes different exception handling mechanisms in a nonsensical way,
and is not well-formed IR. To actually "split" the landingpad edge (for
a rather loose definition of "split"), I think we'd have to generate
something along these lines:
exception.split:
%cleanup.split = landingpad i8 cleanup
br label %exception.cont
exception:
%cleanup.orig = landingpad i8 cleanup
br label %exception.cont
exception.cont:
%cleanup = phi i8 [ %cleanup.split, %exception_split ], [ %cleanup.orig,
%exception ]
I didn't bother actually implementing that, seeing as how nobody noticed
the existing codegen being broken in the last four years, so clearly
nobody actually needs this function to work with EH edges. Just return
nullptr instead.
Commit: 38cb7d5e7591cdfb39d1030480920ec1ce4873c6
https://github.com/llvm/llvm-project/commit/38cb7d5e7591cdfb39d1030480920ec1ce4873c6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/Assembler/invalid-label-call-arg.ll
M llvm/test/Assembler/invalid-label.ll
M llvm/test/CodeGen/X86/asm-block-labels.ll
M llvm/test/Verifier/invalid-label-param.ll
Log Message:
-----------
[IR] Don't allow label arguments (#137799)
We currently accept label arguments to inline asm calls. This support
predates both blockaddresses and callbr and is only covered by one X86
test. Remove it in favor of callbr (or at least blockaddress, though
that cannot guarantee correct codegen, just like using block labels
directly can't).
I didn't bother implementing bitcode upgrade support for this, but I can
add it if desired.
Commit: 7752e0a10b25da2f2eadbed10606bd5454dbca05
https://github.com/llvm/llvm-project/commit/7752e0a10b25da2f2eadbed10606bd5454dbca05
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 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/FormatTokenLexer.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
Revert "[clang-format] Add OneLineFormatOffRegex option (#137577)"
This reverts commit b8bb1ccb4f9126d1bc9817be24e17f186a75a08b which triggered
an assertion failure in CodeGenTest.TestNonAlterTest.
Commit: b2627851373e7afed1f7b14d7013edf41d20a4f5
https://github.com/llvm/llvm-project/commit/b2627851373e7afed1f7b14d7013edf41d20a4f5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Give ConstantFolding.cpp "-ftrapping-math" (for #137652)
I've introduced the split lib `AnalysisFpExc`. Let me know if better
solutions would be applicable.
Commit: c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
https://github.com/llvm/llvm-project/commit/c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
Log Message:
-----------
[InstCombine] Do not combine shuffle+bitcast if the bitcast is eliminable. (#135769)
If we are attempting to combine shuffle+bitcast but the bitcast is
pairable with a subsequent bitcast, we should not fold the shuffle as
doing so can block further simplifications.
The motivation for this is a long-standing regression affecting SIMDe on
AArch64, introduced indirectly by the AlwaysInliner (1a2e77cf). Some
reproducers:
* https://godbolt.org/z/53qx18s6M
* https://godbolt.org/z/o5e43h5M7
Commit: 7318074168e324097b7f6ec93e34915463bf70f1
https://github.com/llvm/llvm-project/commit/7318074168e324097b7f6ec93e34915463bf70f1
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/IR/test-func-erase-result.mlir
M mlir/test/lib/IR/TestFunc.cpp
Log Message:
-----------
[mlir] allow function type cloning to fail (#137130)
`FunctionOpInterface` assumed the fact that the function type (attribute
of the operation) can be cloned with arbirary lists of function
arguments and results to support argument and result list mutation. This
is not always correct, in particular, LLVM dialect functions require
exactly one result making it impossible to erase the result.
Allow function type cloning to fail and propagate this failure through
various APIs that use it. The common assumption is that existing IR has
not been modified.
Fixes #131142.
Reland a8c7ecdcbc3e89b493b495c6831cc93671c3b844 / #136300.
Commit: 55d0610e7bbea470c47985d9d3f638dff85411b5
https://github.com/llvm/llvm-project/commit/55d0610e7bbea470c47985d9d3f638dff85411b5
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/IR/invalid.mlir
M mlir/test/IR/parser.mlir
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
Log Message:
-----------
[mlir] make `parseCustomOperationName()` API check token type (#136306)
Previously, this parser API call would accept any token and interpret
its spelling as operation name, including tokens that are are not valid
operation names. Make it accept only bare identifiers and keywords. The
latter is questionable but consistent with current practices upstream.
Fixes #132889.
Commit: 53a8b8900397bd16167fe537d53c0c8d84911534
https://github.com/llvm/llvm-project/commit/53a8b8900397bd16167fe537d53c0c8d84911534
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir
Log Message:
-----------
[CodeGen][NewPM] Port "ShrinkWrap" pass to NPM (#129880)
Commit: db859db74d0a76803b13781ff74ade8527a9c685
https://github.com/llvm/llvm-project/commit/db859db74d0a76803b13781ff74ade8527a9c685
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
R llvm/test/CodeGen/AArch64/nofpclass.ll
R llvm/test/CodeGen/Mips/nofpclass.ll
Log Message:
-----------
Revert "CodeGen: Add ISD::AssertNoFPClass (#135946)"
This reverts commit f0c61d2242bbc7576ca5e4137a5ea8f63e4859a9.
Commit: f62f36b91de684ddfe129532e3a5086009b16f34
https://github.com/llvm/llvm-project/commit/f62f36b91de684ddfe129532e3a5086009b16f34
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Avoid a duplicate variable in SemaExprCXX.cpp (#137464)
Commit: e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
https://github.com/llvm/llvm-project/commit/e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
M llvm/test/CodeGen/X86/pr30821.mir
Log Message:
-----------
[CodeGen][NPM] Port VirtRegRewriter to NPM (#130564)
Commit: 99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
https://github.com/llvm/llvm-project/commit/99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
Author: Arnab Dutta <85476402+arnab-polymage at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
Log Message:
-----------
[mlir] Add memref normalization support for reinterpret_cast op (#133417)
Rewrites memrefs defined by reinterpet_cast ops to have an identity
layout map and updates all their indexing uses. Also, extend
`replaceAllMemRefUsesWith` utility to work when there are multiple
occurrences of `oldMemRef` in `op`'s operand list when op is
non-dereferencing.
Fixes #122090
Fixes #121091
Commit: 8f75747935c6b18cb462554b54d9cf222b994afd
https://github.com/llvm/llvm-project/commit/8f75747935c6b18cb462554b54d9cf222b994afd
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV][NFC] Convert some predicates to TIIPredicate (#129658)
These predicates can also be used in macro fusion and scheduling
model.
Commit: 51c26023000486b5f2f78c73c145efb0262514a4
https://github.com/llvm/llvm-project/commit/51c26023000486b5f2f78c73c145efb0262514a4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for Xqcilo load/store instructions (#137758)
Commit: 08f0aa48006a34ad24d70a500cf8e0c619f421bc
https://github.com/llvm/llvm-project/commit/08f0aa48006a34ad24d70a500cf8e0c619f421bc
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDescriptors] Call getOpcode on demand in getReductionOpChain. nfc (#118777)
Non-arithmetic reductions do not require the binary opcodes.
As a first step toward removing the dependency of non-arithmetic
reductions on `getOpcode` function, this patch refactors the
`getReductionOpChain` function.
In the future, once all users of `getOpcode` function are refactored, an
assertion can be added to `getOpcode` function to ensure that only
arithmetic reductions rely on it.
Commit: bb2f7596a8b963af06e9dde821dcea1252ba4892
https://github.com/llvm/llvm-project/commit/bb2f7596a8b963af06e9dde821dcea1252ba4892
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/merge-data-bss.test
Log Message:
-----------
[LLD][COFF] Ensure .bss is merged at the end of a section. (#137677)
Because it is full of zeros, it is expected that as much of it as
possible is elided from the actual image, and that cannot happen if
there is initialized data in the section after it.
Commit: 3e523502a15944c0da8067bad93ab1fc1bac47b7
https://github.com/llvm/llvm-project/commit/3e523502a15944c0da8067bad93ab1fc1bac47b7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm_configs/config.h.cmake
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[DLCov] Move DebugLoc coverage macro to llvm-config.h (#137787)
This patch follows the reversion of #107279, which caused errors by
including `llvm/Config/config.h` in a public header. In order to reapply
that patch, this PR moves the definition of the config option to the
`llvm-config.h` header instead, so that it can be used publicly. This
patch also adds `LLVM_` as a prefix to the define, since it is now in a
public header.
Commit: 04aa5a88d17f5c1cab7acde2e87de05a405e60f1
https://github.com/llvm/llvm-project/commit/04aa5a88d17f5c1cab7acde2e87de05a405e60f1
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
Log Message:
-----------
[OMPIRBuilder] Don't discard the debug record from entry block. (#135161)
When we get a function back from `CodeExtractor`, we discard its entry
block after coping its instructions into the entry block we prepared.
While copying the instructions, the terminator is discarded for obvious
reasons. But if there were some debug values attached to the terminator,
those are useful and needs to be copied.
Commit: 6951d5d6cff4062e06af2107a2e715966932d8f5
https://github.com/llvm/llvm-project/commit/6951d5d6cff4062e06af2107a2e715966932d8f5
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[NFC][lldb][test] Fix typo in test setup commands. (#137944)
Commit: 1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
https://github.com/llvm/llvm-project/commit/1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CFG.h
Log Message:
-----------
[IR] Convert check to assertion in PredIterator (NFC) (#137931)
After https://github.com/llvm/llvm-project/pull/137799 and
https://github.com/llvm/llvm-project/pull/137816, instruction uses of
BasicBlocks are always terminators, so assert that instead of checking
it.
Commit: 6ae7177de8d101487518bac72a1e2ab0a2ca18c9
https://github.com/llvm/llvm-project/commit/6ae7177de8d101487518bac72a1e2ab0a2ca18c9
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Update mergeInfo of blocks nested in regions (#137789)
The current code that updates mergeInfo iterates only over
constructBlocks, potentially leaving blocks nested in already structured
regions with invalid mergeInfo. This patch adds walk for each block to
ensure all nested blocks are considered.
It is not possible to add a unit test exercising this change as whether
the problem occurs depends on the structuring order that is currently
non-deterministic.
Commit: 77581e27514db084da59738c4d26ed7e70a31736
https://github.com/llvm/llvm-project/commit/77581e27514db084da59738c4d26ed7e70a31736
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/README.md
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
Reapply "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)"
This reverts commit 27539c3f903be26c487703943d3c27d45d4542b2. Retry
with new buildbot configuration after master restart.
Original message:
Remove the FLANG_INCLUDE_RUNTIME option which was replaced by
LLVM_ENABLE_RUNTIMES=flang-rt.
The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the
non-runtimes build instructions for the Flang runtime so they do not
conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217.
In order to not maintain multiple build instructions for the same thing,
this PR completely removes the old build instructions (effectively
forcing FLANG_INCLUDE_RUNTIME=OFF).
As per discussion in
https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2
we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is
compiled in a bootstrapping (non-standalone) build. Because it is
possible to build Flang-RT separately, this behavior can be disabled
using `-DFLANG_ENABLE_FLANG_RT=OFF`. Also see the discussion an
implicitly adding runtimes/projects in #123964.
Commit: 92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
https://github.com/llvm/llvm-project/commit/92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/include/llvm/IR/DebugLoc.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
Log Message:
-----------
Reapply "[DLCov] Implement DebugLoc coverage tracking (#107279)"
Reapplied after fixing the config issue that was causing issues following
the previous merge.
This reverts commit fdbf073a86573c9ac4d595fac8e06d252ce1469f.
Commit: b3d130279f5c59a82d48d4647bef626ac4e202cf
https://github.com/llvm/llvm-project/commit/b3d130279f5c59a82d48d4647bef626ac4e202cf
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/source/API/SBValue.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
Log Message:
-----------
[lldb] Upgrade `GetIndexOfChildWithName` to use `llvm::Expected` (#136693)
This patch replaces the use of `UINT32_MAX` as the error return value of
`GetIndexOfChildWithName` with `llvm::Expected`.
# Tasks to do in another PR
1. Replace `CalculateNumChildrenIgnoringErrors` with
`CalculateNumChildren`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056319358).
2. Update `lldb_private::formatters::ExtractIndexFromString` to use
`llvm::Expected`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2054217536).
3. Create a new class which carries both user and internal errors. See
[this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056439608).
Commit: 1563d74145faa41bc5b1cdb1df2add84d6f01d39
https://github.com/llvm/llvm-project/commit/1563d74145faa41bc5b1cdb1df2add84d6f01d39
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Remove extra ';' outside of a function (NFC)
/llvm-project/llvm/lib/Passes/PassBuilder.cpp:1508:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
1508 | };
| ^
1 error generated.
Commit: d68c732473a12f2fba495baebd7094b25bdfdce7
https://github.com/llvm/llvm-project/commit/d68c732473a12f2fba495baebd7094b25bdfdce7
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Semantics/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[flang] Use precompiled headers in Frontend, Lower, Parser, Semantics and Evaluate (#131137)
Precompiling larger headers can save a lot of compile time across
various compilation units.
For the time being, disable precompiled headers for ccache builds on Windows
due to issues with reliably passing the appropriate options to ccache.
Selected compile time & memory improvements are as follows:
flang/lib/Parser/Fortran-parsers.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68
Maximum resident set size (kbytes): 2062140 -> 1745584
flang/lib/Lower/Bridge.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86
Maximum resident set size (kbytes): 3849144 -> 2443476
flang/lib/Lower/PFTBuilder.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99
Maximum resident set size (kbytes): 4218368 -> 2923128
flang/lib/Lower/Allocatable.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50
Maximum resident set size (kbytes): 3092840 -> 2116908
flang/lib/Semantics/Semantics.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20
Maximum resident set size (kbytes): 3527744 -> 2545308
While the newly added precompiled headers are as follows:
Parser:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.62
Maximum resident set size (kbytes): 1034608
Lower:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:41.33
Maximum resident set size (kbytes): 3615240
Semantics:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.69
Maximum resident set size (kbytes): 2403776
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 3dc3d431e7385874f200a83bb2f291d2d45b1d16
https://github.com/llvm/llvm-project/commit/3dc3d431e7385874f200a83bb2f291d2d45b1d16
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
SPIRV: Simplify phi processing (#137050)
Commit: f2b8539803ea5887a9653d26cdcacaabd536ae1c
https://github.com/llvm/llvm-project/commit/f2b8539803ea5887a9653d26cdcacaabd536ae1c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/C/C2y/n3353.c
Log Message:
-----------
[C2y] Correctly handle 0 in the preprocessor (#137844)
We do not diagnose 0 as a deprecated octal literal outside of the
preprocessor. This fixes a bug where we were accidentally diagnosing 0
from a preprocessor conditional, however.
No release note because this is fixing an issue with a new change.
Commit: 6e43cdbc25e90d88251d69519822713afc20108c
https://github.com/llvm/llvm-project/commit/6e43cdbc25e90d88251d69519822713afc20108c
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[CodeGen] Remove unused variable 'ID' (NFC)
/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp:225:15:
error: unused variable 'ID' [-Werror,-Wunused-variable]
static char ID;
^
1 error generated.
Commit: 6dfd35457123089b3506899c8bc522f3dfa6e959
https://github.com/llvm/llvm-project/commit/6dfd35457123089b3506899c8bc522f3dfa6e959
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-ownership.c
Log Message:
-----------
[clang] ownership_returns attribute takes no more than 2 arguments (#137897)
Commit: 26da8870ede83fb9759a5c068b713beb742399ec
https://github.com/llvm/llvm-project/commit/26da8870ede83fb9759a5c068b713beb742399ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 120e940356561035bf37bc4fcb6fab771e7a9b7d
https://github.com/llvm/llvm-project/commit/120e940356561035bf37bc4fcb6fab771e7a9b7d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Add runtime verification for `memref.atomic_rmw` (#130414)
Implement runtime verification for `memref.atomic_rmw` and
`memref.generic_atomic_rmw`. Also add a missing test for `memref.store`.
Commit: 101fd87f98c9354103311db9523bc00b9df71d18
https://github.com/llvm/llvm-project/commit/101fd87f98c9354103311db9523bc00b9df71d18
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRef] Add constructor from iterator_range<U*> (NFC). (#137796)
Add a new constructor to ArrayRef that takes an iterator_range with a
random access iterator that can be converted.
This can help to avoid creating unnecessary iterator_ranges for types
where an ArrayRef can already be constructed. To be used in
https://github.com/llvm/llvm-project/pull/137798.
PR: https://github.com/llvm/llvm-project/pull/137796
Commit: 5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
https://github.com/llvm/llvm-project/commit/5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
R libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
Log Message:
-----------
[libclc] Add v3 variants of async_work_group_copy/async_work_group_strided_copy/prefetch (#137932)
3-component vector type is supported for them per OpenCL spec.
Commit: 8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
https://github.com/llvm/llvm-project/commit/8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
Log Message:
-----------
[LLVM][InstCombine] Enable constant folding for SVE asr,lsl and lsr intrinsics. (#137350)
The SVE intrinsics support shift amounts greater-than-or-equal to the
element type's bit-length, essentially saturating the shift amount to
the bit-length. However, the IR instructions consider this undefined
behaviour that results in poison. To account for this we now ignore the
result of the simplifications that result in poison. This allows
existing code to be used to simplify the shifts but does mean:
1) We don't simplify cases like "svlsl_s32(x, splat(32)) => 0".
2) We no longer constant fold cases like "svadd(poison, X) => poison"
For (1) we'd need dedicated target specific combines anyway and the
result of (2) is not specified by the ACLE and replicating LLVM IR
behaviour might be confusing to ACLE writers.
Commit: 730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
https://github.com/llvm/llvm-project/commit/730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
A mlir/test/Target/SPIRV/consecutive-selection.spv
Log Message:
-----------
[mlir][spirv] Split header and merge block in `mlir.selection`s (#134875)
In the example below with the current code the first selection construct
(`if`/`else` in GLSL for simplicity) share its merge block with a header
block of the second construct.
```
bool _115;
if (_107)
{
// ...
_115 = _200 < _174;
}
else
{
_115 = _107;
}
bool _123;
if (_115)
{
// ...
_123 = _213 < _174;
}
else
{
_123 = _115;
}
```
This results in a malformed nesting of `mlir.selection` instructions
where one selection ends up inside a header block of another selection
construct. For example:
```
%61 = spirv.mlir.selection -> i1 {
%80 = spirv.mlir.selection -> i1 {
spirv.BranchConditional %60, ^bb1, ^bb2(%60 : i1)
^bb1: // pred: ^bb0
// ...
spirv.Branch ^bb2(%101 : i1)
^bb2(%102: i1): // 2 preds: ^bb0, ^bb1
spirv.mlir.merge %102 : i1
}
spirv.BranchConditional %80, ^bb1, ^bb2(%80 : i1)
^bb1: // pred: ^bb0
// ...
spirv.Branch ^bb2(%90 : i1)
^bb2(%91: i1): // 2 preds: ^bb0, ^bb1
spirv.mlir.merge %91 : i1
}
```
This change ensures that the merge block of one selection is not a
header block of another, splitting blocks if necessary. The existing
block splitting mechanism is updated to handle this case.
Commit: 1180740ced0218865577a09c9245f035e443a6f0
https://github.com/llvm/llvm-project/commit/1180740ced0218865577a09c9245f035e443a6f0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
R libclc/generic/include/clc/integer/integer-gentype.inc
Log Message:
-----------
[libclc][NFC] Remove unused integer-gentype.inc
This is presumably replaced with uses of integer/gentype.inc.
Commit: 5b20b5721a0623bad51c9d3734b47842ee921ee3
https://github.com/llvm/llvm-project/commit/5b20b5721a0623bad51c9d3734b47842ee921ee3
Author: Gergely Bálint <50703923+bgergely0 at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M bolt/docs/BinaryAnalysis.md
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][AArch64] Allow binary-analysis and heatmap tool to run with pac-ret binaries (#136664)
OpNegateRAState support is only needed for tools that produce binaries.
Commit: 3b12bac6d1b3ac8aa4b465abe5adec8110025fac
https://github.com/llvm/llvm-project/commit/3b12bac6d1b3ac8aa4b465abe5adec8110025fac
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
Log Message:
-----------
[LLVM][Reassociate] Extend ConvertShiftToMul to allow for ConstantInt vectors. (#137340)
This has the side effect of fixing the FIXME for when
use-constant-int-for-fixed-length-splat becomes the default.
Commit: de6d010f4e3fbfdb54e257c496c16db30c6c0d91
https://github.com/llvm/llvm-project/commit/de6d010f4e3fbfdb54e257c496c16db30c6c0d91
Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
A mlir/test/IR/custom-struct-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.h
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][tblgen] Add custom parsing and printing within struct (#133939)
This PR extends the `struct` directive in tablegen to support nested
`custom` directives. Note that this assumes/verifies that that `custom`
directive has a single parameter.
This enables defining custom field parsing and printing functions if the
`struct` directive doesn't suffice. There is some existing potential
downstream usage for it:
https://github.com/openxla/stablehlo/blob/a3c7de92425e8035437dae67ab2318a82eca79a1/stablehlo/dialect/StablehloOps.cpp#L3102
Commit: 0d6c9f32735a71812208f92eb640ae88a089a930
https://github.com/llvm/llvm-project/commit/0d6c9f32735a71812208f92eb640ae88a089a930
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRefTest] Use plain array instead of std::array in unit tests.
std::array<> doesn't seem to decay to plain pointers on some MSVC
versions, causing windows build failures after 101fd87f98c9.
Use plain arrays to fix windows builds, including
https://lab.llvm.org/buildbot/#/builders/2/builds/22803
Commit: f1248d6347a3d013c82ec34d27a09e9dcdbce44e
https://github.com/llvm/llvm-project/commit/f1248d6347a3d013c82ec34d27a09e9dcdbce44e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn] fix minor mistake from 3e523502a159
Commit: 6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
https://github.com/llvm/llvm-project/commit/6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
R llvm/test/Linker/Inputs/pr22807-1.ll
R llvm/test/Linker/Inputs/pr22807-2.ll
A llvm/test/Linker/Inputs/pr22807.ll
M llvm/test/Linker/Inputs/type-unique-opaque.ll
M llvm/test/Linker/intrinsics-with-unnamed-types.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-opaque.ll
M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
M llvm/test/ThinLTO/X86/import_opaque_type.ll
M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
M llvm/test/Transforms/Reg2Mem/non-token-test.ll
M llvm/test/Verifier/memset-pattern-unsized.ll
M llvm/test/Verifier/nofpclass.ll
M llvm/test/Verifier/unsized-types-load.ll
M llvm/test/Verifier/unsized-types-store.ll
M llvm/unittests/FuzzMutate/OperationsTest.cpp
Log Message:
-----------
[IR] Don't allow values of opaque type (#137625)
Consider opaque types as non-first-class types, i.e. do not allow SSA
values to have opaque type.
Commit: 0ba136147814cb8bc19dfa1712dad3a25b3ae27a
https://github.com/llvm/llvm-project/commit/0ba136147814cb8bc19dfa1712dad3a25b3ae27a
Author: Alan Li <me at alanli.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
Log Message:
-----------
[MLIR][GPU] Use arith instead of index for subgroup_id (#137843)
Trying to simplify situation by using `arith` dialect instead of `index`
in the rewriting of `gpu.subgroup_id`.
Commit: e87aaaf3274d721bf338012f5b299e65b0201fc5
https://github.com/llvm/llvm-project/commit/e87aaaf3274d721bf338012f5b299e65b0201fc5
Author: Kip Hamiltons <48076495+KipHamiltons at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Minor editorial fixes (#137782)
Commit: fa7e69561c86f898537b80787250ba6673d810ff
https://github.com/llvm/llvm-project/commit/fa7e69561c86f898537b80787250ba6673d810ff
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] Make RISCV/MCTargetDesc depend on RISCV/TargetInfo
RISCVMCTargetDesc.cpp calls getTheRISCV{32,64}Target(), which is in TargetInfo.
Looks like this dependency has been missing for a long time.
Commit: e66eb836e67f2fb0e92b62029f779dad49f5b22b
https://github.com/llvm/llvm-project/commit/e66eb836e67f2fb0e92b62029f779dad49f5b22b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn] Make FrontendTests depend on AllTargetsDescs
The CMake build merged most clang unittests into a single binary.
The gn build doesn't (yet?) do this, but as part of that change,
FrontendTests somehow picked up a dependency on AllTargetsDescs,
see https://github.com/llvm/llvm-project/pull/134196#discussion_r2068617059
Commit: 976493822443c52a71ed3c67aaca9a555b20c55d
https://github.com/llvm/llvm-project/commit/976493822443c52a71ed3c67aaca9a555b20c55d
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[llvm][mlir] Adding instrument function entry and instrument function exit attributes (#137856)
Commit: 132f7867ff8fa42a62e8ef965cb69acf5d09452c
https://github.com/llvm/llvm-project/commit/132f7867ff8fa42a62e8ef965cb69acf5d09452c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Pass/IRPrinting.cpp
M mlir/test/Pass/ir-printing-file-tree.mlir
Log Message:
-----------
[mlir] Fix `--mlir-print-ir-tree-dir` when the symbol name contains `/` (or `\` on windows) (#137686)
Fixes #137622
Commit: 01e029602a8ae860852ad2dd8c6ea347c9200066
https://github.com/llvm/llvm-project/commit/01e029602a8ae860852ad2dd8c6ea347c9200066
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
Log Message:
-----------
[clang] Temporarily silence noisy warning for FPEvalMethod
See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513
Commit: 349dc34b461a4df6eca4443f5935366cde4508bd
https://github.com/llvm/llvm-project/commit/349dc34b461a4df6eca4443f5935366cde4508bd
Author: Iris Shi <0.0 at owo.li>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/abs.ll
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
[ConstraintElim] Fix poison check before adding intrinsic facts (#136291)
Commit: a5fef2aff8f6a86e329fe81ad8db90674fe8f079
https://github.com/llvm/llvm-project/commit/a5fef2aff8f6a86e329fe81ad8db90674fe8f079
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
Log Message:
-----------
[SPIRV] Fix test with VK1.3 validation (#137633)
An update to the spirv validator is now correctly rejecting vulkan
shaders with the linkage capability. We have a couple tests that need
updating to remove the capability.
Fixes https://github.com/llvm/llvm-project/issues/136344
Commit: b54b3e81f28c7ead02e6a29274ad03088a70a988
https://github.com/llvm/llvm-project/commit/b54b3e81f28c7ead02e6a29274ad03088a70a988
Author: Iris Shi <0.0 at owo.li>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
Recommit "[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)" (#136467)
Commit: 1a14ef1c89bf4632bf25a959142770f190dcaaf1
https://github.com/llvm/llvm-project/commit/1a14ef1c89bf4632bf25a959142770f190dcaaf1
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Temporarily silence noisy warning for FPEvalMethod in another place
When adding an explicit default copy ctor and assignment operator,
clang emits the diag there, instead of for the class. That's narrow
enough that we can suppress the warning there too.
With this, it only files building a single file (CompilerInvocation.cpp).
See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513
Commit: c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
https://github.com/llvm/llvm-project/commit/c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/test/MC/SystemZ/machine-directive-invalid.s
M llvm/test/MC/SystemZ/machine-directive.s
Log Message:
-----------
[SystemZ] Implement .machine (push|pop) directives (#137302)
The `.machine push` and `.machine pop` directives were missing from the
SystemZ Backend Asm Parser. This PR adds them, and expands the
corresponding test to test proper operation.
Internally, this is modeled as a simple stack implemented on a
`SmallVector<StringRef>`.
Commit: 1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
https://github.com/llvm/llvm-project/commit/1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] prevent -Wunknown-warning-option with older clangs
Commit: 6aafd5ef06599f3a7b60309dae2071dfa3f63697
https://github.com/llvm/llvm-project/commit/6aafd5ef06599f3a7b60309dae2071dfa3f63697
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] Make Sparc/MCTargetDesc depend on Sparc/TargetInfo
Like fa7e69561c86f8, but for Sparc.
Commit: 7495f92f08d5d621743d26c410e9b27d872af508
https://github.com/llvm/llvm-project/commit/7495f92f08d5d621743d26c410e9b27d872af508
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
Log Message:
-----------
[AMDGPU] Fix undefined scc register in successor block of SI_KILL terminators (#134718)
Fix issue 131298 where an undefined $scc register causes verifier errors
when using SI_KILL_F32_COND_IMM_TERMINATOR instructions. The problem
occurs because the $scc register defined in a comparison before the kill
terminator is used in successor blocks, but was not properly marked as live-in.
This patch:
- Adds code to check if SCC is used in the successor block
- Adds SCC as a live-in to successor blocks
- Handles both explicit and implicit uses of SCC
With this patch the machine verifier no longer reports undefined $scc
errors in following kill terminator instruction.
Fixes #131298
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 7bc16a0f63c3f31762b97e5855932b769c4d3cf5
https://github.com/llvm/llvm-project/commit/7bc16a0f63c3f31762b97e5855932b769c4d3cf5
Author: Callum Fare <callum at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Adding missing Offload unit tests for event entry points (#137315)
A couple of liboffload entry points were missed out from the tests, and
unsurprisingly a crash in one of them made it in. Add the tests and fix
the unchecked error in `olDestroyEvent`.
Commit: c2a62af2a51d58183bcd72ee8a86c37ddd526758
https://github.com/llvm/llvm-project/commit/c2a62af2a51d58183bcd72ee8a86c37ddd526758
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Another Wpreferred-type-bitfield-enum-conversion suppression fix!
If a compiler does not know `__has_warning`, it will of course complain
if it's used on the same line as the check for its presence. Put the use
in a separate line.
Should help e.g. https://lab.llvm.org/buildbot/#/builders/123/builds/18503
Commit: e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
https://github.com/llvm/llvm-project/commit/e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Add diagnostic + attr for unterminated strings (#137829)
This introduces three things related to intialization like:
char buf[3] = "foo";
where the array does not declare enough space for the null terminator
but otherwise can represent the array contents exactly.
1) An attribute named 'nonstring' which can be used to mark that a
field or variable is not intended to hold string data.
2) -Wunterminated-string-initialization, which is grouped under
-Wextra, and diagnoses the above construct unless the declaration
uses the 'nonstring' attribute.
3) -Wc++-unterminated-string-initialization, which is grouped under
-Wc++-compat, and diagnoses the above construct even if the
declaration uses the 'nonstring' attribute.
Fixes #137705
Commit: 84a5435db63f43ec3f4abbb42eda2674dd35cda9
https://github.com/llvm/llvm-project/commit/84a5435db63f43ec3f4abbb42eda2674dd35cda9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseStmt.cpp
A clang/test/Parser/gh137861.cpp
Log Message:
-----------
Fix crash when an attribute is applied to pragma attribute/pragma dump (#137880)
These two don't result in a statement, so the attempt to apply the
attributes to them was crashing. This patch correctly prohibits the use
of attributes on these clauses.
Fixes: #137861
Commit: 41647412c6a4091080fd47b0f554adc5c54b4b54
https://github.com/llvm/llvm-project/commit/41647412c6a4091080fd47b0f554adc5c54b4b54
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/usubo_carry.ll
Log Message:
-----------
[PowerPC] Fix an LowerADDSUBO_CARRY error when converting carry bit for usubo_carry (#137809)
In PowerPC, if a borrow occurs during a subtraction, the carry bit is
zero (unset). The carry bit is set if no borrow occurs.
For ISD::USUBO_CARRY, the nodes produce two results: the normal result
of the addition or subtraction, and a boolean value that is 1 if and
only if there is an outgoing carry or borrow.
Therefore, we need to convert a 1 (which indicates a borrow in
ISD::USUBO_CARRY) to 0 to match PowerPC's definition of borrow.
Similarly, we need to convert a 0 (no borrow in ISD::USUBO_CARRY) to 1
for PowerPC.
To perform this conversion, we use XOR 1 instead of XOR
DAG.getAllOnesConstant(DL, CarryOp.getValueType()).
`
Commit: 721c5cc327e30edbdd6cf14348ec076c79079125
https://github.com/llvm/llvm-project/commit/721c5cc327e30edbdd6cf14348ec076c79079125
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/loop.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from loop regions (#135344)
This change extends `spirv.mlir.loop` so it can yield values, the same
as `spirv.mlir.selection`.
Commit: f5c8c1eedb44861cda8885a04813de999ca9d18a
https://github.com/llvm/llvm-project/commit/f5c8c1eedb44861cda8885a04813de999ca9d18a
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLPVectorizer] Move X86 specific handling into X86TTIImpl. (#137830)
`ad9909d "[SLP]Fix perfect diamond match with extractelements in scalars" `
changed SLPVectorizer getScalarizationOverhead() to call
TTI.getVectorInstrCost() instead of TTI.getScalarizationOverhead() in some
cases. This was due to X86 specific handlings in these (overridden) methods,
and unfortunately the general preference of TTI.getScalarizationOverhead()
was dropped. If VL is available it should always be preferred to use
getScalarizationOverhead(), and this is indeed the case for SystemZ which
has a special insertion instruction that can insert two GPR64s.
Then ` 33af951 "[SLP]Synchronize cost of gather/buildvector nodes with
codegen"` reworked SLPVectorizer getGatherCost() which together with
ad9909d caused the SystemZ test vec-elt-insertion.ll to fail.
This patch restores the SystemZ test and reverts the change in SLPVectorizer
getScalarizationOverhead() so that TTI.getScalarizationOverhead() is always
called again. The ForPoisonSrc argument is now passed on to the TTI method
so that X86 can handle this as required.
Fixes: #135346
Commit: 75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
https://github.com/llvm/llvm-project/commit/75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/clc_fmax.h
M libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
M libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
Log Message:
-----------
[libclc] Clean up unnecessary #undef __CLC_BODYs (#137959)
This macro is automatically undefined by the various gentype-like
helpers.
Commit: c26db586a06204a9e6f9912f41fce62a559a0196
https://github.com/llvm/llvm-project/commit/c26db586a06204a9e6f9912f41fce62a559a0196
Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
Log Message:
-----------
[mlir][affine] Modify assertion into a user visible diagnostic (#136474)
Fixes #122227
The loop’s induction variable (%i) is used to compute two different
indices via affine.apply.
And the Vectorization Assumption is Violated i.e, Each vectorized loop
should contribute at most one non-invariant index.
**Minimal example crashing :**
```
#map = affine_map<(d0)[s0] -> (d0 mod s0)>
#map1 = affine_map<(d0)[s0] -> (d0 floordiv s0)>
func.func @single_loop_unrolling_2D_access_pattern(%arg0: index) -> memref<2x2xf32> {
%c2 = arith.constant 2 : index
%cst = arith.constant 1.0 : f32
%alloc = memref.alloc() : memref<2x2xf32>
affine.for %i = 0 to 4 {
%row = affine.apply #map1(%i)[%c2]
%col = affine.apply #map(%i)[%c2]
affine.store %cst, %alloc[%row, %col] : memref<2x2xf32>
}
return %alloc : memref<2x2xf32>
}
```
The single loop %i contributes two indices (%row and %col) to the 2D
memref access.
The permutation map expects one index per vectorized loop dimension, but
here one loop (%i) maps to two indices (dim=0 and dim=1).
The code detects this when trying to assign the second index (dim=1) to
the same vector dimension (perm[0]).
Commit: a8607063f32a14a6cf453c84edcb21d08f517f25
https://github.com/llvm/llvm-project/commit/a8607063f32a14a6cf453c84edcb21d08f517f25
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
Log Message:
-----------
[flang-rt] Simplify INDEX with len-1 SUBSTRING. (#137889)
The len-1 case is noticeably slower than gfortran's straightforward
implementation
https://github.com/gcc-mirror/gcc/blob/075611b646e5554ae02b2622061ea1614bf16ead/libgfortran/intrinsics/string_intrinsics_inc.c#L253
This change speeds up a simple microkernel by 37% on icelake.
Commit: f91a6e6dab44a7eacee2312f955b6e28cb227900
https://github.com/llvm/llvm-project/commit/f91a6e6dab44a7eacee2312f955b6e28cb227900
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
Log Message:
-----------
[SCEV] Reject comparision of pointers to different address spaces in SCEVWrapPredicate::implies (#137935)
Commit: 8836bce84208737f5807c396345a41e688d3ec11
https://github.com/llvm/llvm-project/commit/8836bce84208737f5807c396345a41e688d3ec11
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cse.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
A flang/test/HLFIR/volatile.fir
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
Log Message:
-----------
[flang] Add lowering of volatile references (#132486)
[RFC on
discourse](https://discourse.llvm.org/t/rfc-volatile-representation-in-flang/85404/1)
Flang currently lacks support for volatile variables. For some cases,
the compiler produces TODO error messages and others are ignored. Some
of our tests are like the example from _C.4 Clause 8 notes: The VOLATILE
attribute (8.5.20)_ and require volatile variables.
Prior commits:
```
c9ec1bc753b0 [flang] Handle volatility in lowering and codegen (#135311)
e42f8609858f [flang][nfc] Support volatility in Fir ops (#134858)
b2711e1526f9 [flang][nfc] Support volatile on ref, box, and class types (#134386)
```
Commit: 0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
https://github.com/llvm/llvm-project/commit/0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
Author: enh-google <enh at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/test/src/search/lsearch_test.cpp
Log Message:
-----------
[libc] lsearch_test.cpp: put helpers in anonymous namespace. (#137964)
Commit: bad8bf56d3e4f107423b307f5f75564296703a76
https://github.com/llvm/llvm-project/commit/bad8bf56d3e4f107423b307f5f75564296703a76
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Linearization: push 'bit width' logic out of patterns (#136581)
[NFC]
Vector linearization is a collection of rewrite patterns that reduce the
rank of vector operands and results.
In https://github.com/llvm/llvm-project/pull/83314 an option to ignore
(make 'legal') operations with large inner-most dimensions was added.
This current PR is a step towards making that option live outside of
upstream MLIR. The motivation is to remove non-core functionality (I
would like to use this pass, but would prefer not to deal with
'targetVectorBitWidth` at all).
As a follow-up to this PR, I propose that user(s) of the
`targetVectorBitWidth` move the relevant code (now in
mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code
bases, and then eventually remove it from upstream. In addition the tests need to
split out (I've intentionally not modified the lit tests here, to make
it easier to confirm that this is a NFC). I'm happy to help make it
easier to do this final step!
The approach I've used is to move the logic pertaining to
`targetVectorBitWidth` out the patterns, and into the conversion target,
which the end user can control outside of core MLIR.
Commit: d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
https://github.com/llvm/llvm-project/commit/d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/IR/ternary.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/ternary.cir
Log Message:
-----------
[CIR] Upstream TernaryOp (#137184)
This patch adds TernaryOp to CIR plus a pass that flattens the operator
in FlattenCFG.
This is the first PR out of (probably) 3 wrt. TernaryOp. I split the
patches up to make reviewing them easier. As such, this PR is only about
adding the CIR operation. The next PR will be about the CodeGen bits
from the C++ conditional operator and the final one will add the
cir-simplify transform for TernaryOp and SelectOp.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
https://github.com/llvm/llvm-project/commit/0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/AST/Mangle.h
M clang/lib/AST/Mangle.cpp
Log Message:
-----------
[clang AST] move mangling API to namespace clang to allow calls from swift-frontend (#137884)
When implementing `@objcDirect` in Swift, Swift needs to mangle a native
`Decl` that is not a clang Node, which in turn don't have access to
`clang::MangleContext`. Reimplementing mangling logic in Swift is
redundant.
This patch moves mangling logic from `clang::MangleContext` to `clang`
using only basic types (`StringRef`, `std::optional`, etc.), such that
Swift can we can just call Clang API: Swift depends on Clang already.
We are separating this from #126639 so we can draft the proposal on the
Swift side. #126639 will be worked to depend on this PR.
Tests: No new tests, old ones should pass with no problem.
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: ea3959e841367ef691472ccf78ec25252dbfe288
https://github.com/llvm/llvm-project/commit/ea3959e841367ef691472ccf78ec25252dbfe288
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[MLIR][Arith] Add ValueBoundsOpInterface for FloorDivSI (#137879)
Enables value bounds inference through signed division operations.
Commit: 8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
https://github.com/llvm/llvm-project/commit/8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Add lexing support for floating points (#137720)
- this takes care to add support to match the [behaviour of
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/34b6d0f91e6afd523bdc574836093f021713cce7/tools/clang/lib/Parse/HLSLRootSignature.cpp#L74)
acceptable floating point integers
Namely:
- Allow for specifying the decimal '.'
- Allow for specifying exponents with 'e' or 'E' and allow for 'f' to
denote an otherwise interpreted integer as a float
This pr is simply responsible of creating a token that could be
interpeted as a floating point integer by `NumericLiteralParser`. As
such, we are not required to validate that the special characters only
occur once and that 'f' is only at the end of the string. These will be
validated when invoking `NumericLiteralParser` during parsing.
Resolves #126565
Commit: 6274cdb9a6714908c8a4e30d2ef0bf22a6949065
https://github.com/llvm/llvm-project/commit/6274cdb9a6714908c8a4e30d2ef0bf22a6949065
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetOSMacros.def
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Fix UEFI Target info (#127290)
For X64 UEFI targets set appropriate integer type sizes, and relevant
ABI information.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: ff8fc5bc45c166d686e485b306fdcdadd5b02637
https://github.com/llvm/llvm-project/commit/ff8fc5bc45c166d686e485b306fdcdadd5b02637
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][cmake] Add clang resource dir to LLDB shell tests config (#136761)
We want to be able to access the Clang resources directory in LLDB shell
tests, this commit adds the ability to do this by populating the
`CLANG_RESOURCE_DIR` variable in LLDBConfig.cmake.
Commit: 88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
https://github.com/llvm/llvm-project/commit/88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_mc_test_checks.py
M llvm/utils/update_mca_test_checks.py
M llvm/utils/update_mir_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
Change update_xxx_checks to continue on error when processing mutliple inputs (#137728)
Change llvm/utils/update_xxx_checks.py scripts to:
Catch exceptions individually for each test. On exception print which
test triggered the exception and continue with the remaining test
updates.
Commit: 2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
https://github.com/llvm/llvm-project/commit/2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
Log Message:
-----------
[VectorUtils][VPlan] Consolidate VPWidenIntrinsicRecipe::onlyFirstLaneUsed and isVectorIntrinsicWithScalarOpAtArg (#137497)
We can reuse isVectorIntrinsicWithScalarOpAtArg in VectorUtils to
determine if only the first lane will be used for a
VPWidenIntrinsicRecipe, provided that we also move the VP EVL operand
check into it.
This was needed by a local patch I was working on that created a
VPWidenIntrinsicRecipe with a VP intrinsic, and prevents the need to
update the scalar arguments in two places.
Commit: 2a5ee2501d6249933b0dd4f81a4ec56e146b9669
https://github.com/llvm/llvm-project/commit/2a5ee2501d6249933b0dd4f81a4ec56e146b9669
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
Log Message:
-----------
[HLSL] Allow resource annotations to specify only register space (#135287)
Specifying only `space` in a `register` annotation means the compiler
should implicitly assign a register slot to the resource from the
provided virtual register space.
Closes #133346
Commit: c02496901d979ddc7cd83aec34e408adba81e433
https://github.com/llvm/llvm-project/commit/c02496901d979ddc7cd83aec34e408adba81e433
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port ff8fc5bc45c1, kind of
This is probably the wrong value. Might have to tweak later.
But I think nobody is running these tests at the moment anyways.
Commit: ee136383628290f7efa0fc4562beef2b411048bb
https://github.com/llvm/llvm-project/commit/ee136383628290f7efa0fc4562beef2b411048bb
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/extload-align.ll
M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unroll.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
Log Message:
-----------
[AMDGPU] Remove explicit datalayout from tests where not needed
Since e39f6c1844fab59c638d8059a6cf139adb42279a opt will infer the
correct datalayout when given a triple. Avoid explicitly specifying it
in tests that depend on the AMDGPU target being present to avoid the
string becoming out of sync with the TargetInfo value.
Only tests with REQUIRES: amdgpu-registered-target or a local lit.cfg
were updated to ensure that tests for non-target-specific passes that
happen to use the AMDGPU layout still pass when building with a limited
set of targets.
Reviewed By: shiltian, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137921
Commit: a57847232f3b6d23c2d4d183be1964607140bf7b
https://github.com/llvm/llvm-project/commit/a57847232f3b6d23c2d4d183be1964607140bf7b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
Log Message:
-----------
[LoadStoreVectorizer] Remove more unnecessary data layouts from tests
The tests in this directory all depend on the AMDGPU target being
present so we can let opt infer the data layout.
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137924
Commit: b02f2e80567af09576692554bc7ce048326dfd06
https://github.com/llvm/llvm-project/commit/b02f2e80567af09576692554bc7ce048326dfd06
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
Log Message:
-----------
[GlobalOpt] Simplify datalayout for test
There is no need to have a full AMDGPU data layout here, we just need a
different alloca and globals address space.
Commit: fa769655e73d70b480be8034a1cbc101115c1678
https://github.com/llvm/llvm-project/commit/fa769655e73d70b480be8034a1cbc101115c1678
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[LV] NFC: Make VPPartialReductionRecipe a VPReductionRecipe
Commit: ea0e6e33835fe9fada89f77cc3a6cd74eb690067
https://github.com/llvm/llvm-project/commit/ea0e6e33835fe9fada89f77cc3a6cd74eb690067
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
Log Message:
-----------
[OpenACC] Improve 'loop' content restrictions
The 'loop' construct has some limitations that are not particularly
clear on what can be in the for-loop. This patch adds some restriction
so that the increment can only be a addition or subtraction operation,
BUT starts allowing Itr = Itr +/- N forms.
Commit: 1531dfcb3a953b7b3187bca7e58e4e18def58d7d
https://github.com/llvm/llvm-project/commit/1531dfcb3a953b7b3187bca7e58e4e18def58d7d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/mangle-question-mark.ll
M llvm/test/CodeGen/X86/win32-preemption.ll
M llvm/unittests/IR/ManglerTest.cpp
Log Message:
-----------
[llvm] Linker flags for UEFI (#137878)
Use appropriate linker flag format to match PE spec for UEFI.
Commit: d30554b19edc27bc9ca3475b888c1b3e4eda87c4
https://github.com/llvm/llvm-project/commit/d30554b19edc27bc9ca3475b888c1b3e4eda87c4
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
[mlir][xegpu] SIMT distribution patterns for XeGPU CreateNdTdesc, LoadNd, StoreNd and Dpas Ops. (#135271)
This PR adds the SIMT distribution patterns for create_nd_tdesc, load_nd, store_nd and dpas XeGPU ops.
Commit: d851490c290832507d5fd87227e995d233b9f5b2
https://github.com/llvm/llvm-project/commit/d851490c290832507d5fd87227e995d233b9f5b2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
Log Message:
-----------
[HLSL] Make lerp overload tests stricter. NFC (#137898)
These tests had checks across multiple functions, because none of the
hlsl header implementation functions were inlined. Switch the run lines
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
Note - this would be simpler with update_cc_test_checks, but the
differences between DX and SPIRV are difficult to account for with those
scripts.
Commit: ae6b4b23ea4291e937192a3c08d0f3c9835864c2
https://github.com/llvm/llvm-project/commit/ae6b4b23ea4291e937192a3c08d0f3c9835864c2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
Log Message:
-----------
[HLSL] Overloads for `lerp` with a scalar weight (#137877)
This adds overloads for the `lerp` function that accept a scalar for the
weight parameter by splatting it into the appropriate vector.
Fixes #137827
Commit: b85f37a132827c8c298c2362ef0429f0dd71adb2
https://github.com/llvm/llvm-project/commit/b85f37a132827c8c298c2362ef0429f0dd71adb2
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Free buffer to fix memory leak on test (#137979)
Commit: 228b3309880bbd5a237257df5d67a0f7f4b5a01f
https://github.com/llvm/llvm-project/commit/228b3309880bbd5a237257df5d67a0f7f4b5a01f
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Support pack expansion for Clang Thread Safety attributes (#137477)
Support for attribute parameter packs was added some time ago in commit
ead1690d31f815c00fdd2bc23db4766191bbeabc. But template substitution
didn't expand the packs yet. For now expansion can only happen within a
`VariadicExprArgument`: i.e. in `try_acquire_capability`, which takes a
regular and a variadic argument, the template can't have a single pack
that then expands to cover both arguments.
This is a prerequisite for #42000.
Commit: 4a6c81dc0e2790ec48a7da483970b95d847be8d7
https://github.com/llvm/llvm-project/commit/4a6c81dc0e2790ec48a7da483970b95d847be8d7
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
[clang] Implement JSON formatted -ftime-report (#137737)
This patch adds a new flag, -ftime-report-json, which outputs the same
information as -ftime-report but as JSON instead of -ftime-report's
pretty printed format.
Commit: e8f590e0e3507e6ad30d17bfd52530e70d372315
https://github.com/llvm/llvm-project/commit/e8f590e0e3507e6ad30d17bfd52530e70d372315
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Improve acc.loop support as a container (#137887)
Dialects which have their own loop representation not representable with
numeric bounds + steps cannot be represented cleanly with acc.loop. In
such a case, we permit the dialects representation with acc.loop merely
encompasing its loop representation. This limitation became obvious when
looking at range / random iterator C++ loops.
The API of acc.loop was updated to test for this differentiation.
Additionally, the verifier was updated to check for consistent bounds
and whether inner-loops are contained when it works as a container.
Commit: 92b03e4f04405bfe55d707ed17a8b6ca89513018
https://github.com/llvm/llvm-project/commit/92b03e4f04405bfe55d707ed17a8b6ca89513018
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Format two files with CallingConv switches (#138000)
I'm planning on modifying this code so format it so we can pass the
formatting check.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 7dad8b91bc94741034052a4eb06ef45e7cb47c06
https://github.com/llvm/llvm-project/commit/7dad8b91bc94741034052a4eb06ef45e7cb47c06
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
Log Message:
-----------
[flang] Fetch the initial reduction value from the input array. (#136790)
Instead of using loop-carried IsFirst predicate, we can fetch
the initial reduction values for MIN/MAX LOC/VAL reductions
from the array itself. This results in a little bit cleaner
loop nests, especially, generated for total reductions.
Otherwise, LLVM is able to peel the first iteration of the innermost
loop, but the surroudings of the peeled code are executed
multiple times withing the outer loop(s).
This patch does the manual peeling, which only works for
non-masked reductions where the input array is not empty.
Commit: 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
https://github.com/llvm/llvm-project/commit/9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
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/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#138010)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
Commit: 6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
https://github.com/llvm/llvm-project/commit/6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
Log Message:
-----------
Reland [llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions (#137701)
This patch adds support for LLVM IR atomicrmw `fmaximum` and `fminimum`
instructions.
These mirror the `llvm.maximum.*` and `llvm.minimum.*` instructions, but
are atomic and use IEEE754 2019 handling for NaNs, which is different to
`fmax` and `fmin`. See:
https://llvm.org/docs/LangRef.html#llvm-minimum-intrinsic
for more details.
Future changes will allow this LLVM IR to be lowered to specialised
assembler instructions on suitable targets, such as AArch64.
Commit: 4ac4ad410ca5ed8b83ff397246aa6ac27742690d
https://github.com/llvm/llvm-project/commit/4ac4ad410ca5ed8b83ff397246aa6ac27742690d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
Log Message:
-----------
[AArch64][llvm] Pre-commit tests for #137703 (NFC) (#137702)
Add pre-commit tests for lowering atomicrmw `fminimum`/`fmaximum` to
AArch64 assembler, in a subsequent change.
Commit: ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
https://github.com/llvm/llvm-project/commit/ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)
We would like to report, for a module, which direct dependencies it
exports during dependency scanning. This PR implements this reporting by
augmenting `ModuleDep`'s `ClangModuleDeps` variable. `ClangModuleDeps`
now contains instances of `DepInfo`, which is made of a `ModuleID` and a
boolean flag that indicates if a particular dependence is exported.
rdar://144794793
Commit: 60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
https://github.com/llvm/llvm-project/commit/60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
Log Message:
-----------
[AArch64][llvm] Codegen for 16/32/64-bit floating-point atomicrmw fminimum/faximum (#137703)
Codegen for AArch64 16/32/64-bit floating-point atomic read-modify-write
operations (`atomicrmw {fmaximum,fminimum}`) using LD{B}FMAX and
LD{B}FMIN atomic instructions.
Commit: 02e316cf8c9c73aad580e8c0d1b3b691567601ca
https://github.com/llvm/llvm-project/commit/02e316cf8c9c73aad580e8c0d1b3b691567601ca
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] legalize memset (#136244)
fixes #136243
This change converts memset into a series of geps and stores It is
intentionally limited to memsets of fixed size It also converts the byte
stores to type stores.
DXIL does not support i8 plus this reduces the total number of gep and
store instructions.
This change also moves DXILFinalizeLinkage to run after Legalization to
clean up any dead intrinsic definitions.
Commit: 9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
https://github.com/llvm/llvm-project/commit/9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-ldst-opt-instr-ref.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-ldst-opt. (#136009)
The aarch64-ldst-opt pass tries to merge two load instructions
(LDR*) to a load pair instruction (LDP*).
When merging the instructions, there is a case where one of the
loads would have to also be sign extended. In either case,
(sign extend or not), the pass needs to preserve the debug-instr-number
from the original loads to the load pair instruction to make sure debug
info
isn't lost in the case where instruction referencing is being used.
For example:
We can have something like this:
```
debugValueSubstitutions:[]
$x1 = LDRXui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !13, dbg-instr-ref(1, 0), debug-location !11
$x0 = LDRXui killed $x0, 0, debug-instr-number 2
DBG_INSTR_REF !14, dbg-instr-ref(2, 0), debug-location !11
```
This would be changed to:
```
debugValueSubstitutions: []
$x0, $x1 = LDPXi $x0, 0
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !13, dbg-instr-ref(2, 0), debug-location !14
```
In this case, we need to create a new debug instruction number
for the `LDP` instruction, we then need to add entries into the
debugSubstitutions table to map the old instr-refs to the new ones.
After this patch, the result will be:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 3, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$x0, $x1 = LDPXi $x0, 0, debug-instr-number 3
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !12, dbg-instr-ref(2, 0), debug-location !14
```
However, this is not all, we also can have a case where there is a
sign-extend involved, let's look at the case:
```
debugValueSubstitutions:[]
$w1 = LDRWui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
$x0 = LDRSWui $x0, 0, debug-instr-number 2
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This will become:
```
debugValueSubstitutions:[]
$w0, $w1 = LDPWi $x0, 0
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
$x0 is where the final value is stored, so the sign extend (SBFMXri)
instruction contains the final value we care about we give it a new
debug-instr-number 3. Whereas, $w1 contains the final value that we care
about, therefore the LDP instruction is also given a new
debug-instr-number 4. We have to add these subsitutions to the
debugValueSubstitutions table. However, we also have to ensure that the
OpIndex that pointed to debug-instr-number 1 gets updated to 1, because
$w1 is the second operand of the LDP instruction.
The result after the patch looks like:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 4, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$w0, $w1 = LDPWi $x0, 0, debug-instr-number 4
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31, debug-instr-number 3
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This patch addresses that problem.
Commit: 27e8e08b6633a31e6a5512df7a543615db4a1d56
https://github.com/llvm/llvm-project/commit/27e8e08b6633a31e6a5512df7a543615db4a1d56
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port d30554b19edc27bc9ca3475b888c1b3e4eda87c4 (#138022)
Commit: 0a1dde1d7957531701ba56e357276033a927f496
https://github.com/llvm/llvm-project/commit/0a1dde1d7957531701ba56e357276033a927f496
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
Log Message:
-----------
[Clang] Fix GPU match any truncating 64-bit lane mask
Summary:
This is a lane mask, needs all 64 bits for those wave64 targets. At some
point we should introduce __lanemask_t for this.
Commit: 21dcf6bcd1e2845601d07e1e46f17615d595f698
https://github.com/llvm/llvm-project/commit/21dcf6bcd1e2845601d07e1e46f17615d595f698
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
Log Message:
-----------
[libc] Make sure we use the right linker for bitcode linking
Summary:
We need to use the default arguments to ensure this uses the right
linker for the toolchain given cross-compiling contexts.
Commit: e9193f5fddf99188b385f2a5358dff60f7b119c4
https://github.com/llvm/llvm-project/commit/e9193f5fddf99188b385f2a5358dff60f7b119c4
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] add uefi fullbuild to workflows (#131376)
Comes after #131246 to enable UEFI being build. Skips tests until we
have set up testing.
Commit: af4aeb325c37832e399283763345d4fc47f449eb
https://github.com/llvm/llvm-project/commit/af4aeb325c37832e399283763345d4fc47f449eb
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
[RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (#137559)
Refactor RawPtrRefMemberChecker so that each subclass override
isUnsafePtr like other WebKit checkers instead of overriding
isPtrCompatible.
Commit: 69327c16d17b13cb2bc27968a557276bd82eef9a
https://github.com/llvm/llvm-project/commit/69327c16d17b13cb2bc27968a557276bd82eef9a
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
[clang] Make `-ftime-report` and `-ftime-report-json` honor `-info-output-file` (#138035)
This way, the output of `-ftime-report` and `-ftime-report-json` can be
redirected to a specific file rather than just stderr.
Commit: df6d1cf4c2e9660967a53498a991ef9c1915c61e
https://github.com/llvm/llvm-project/commit/df6d1cf4c2e9660967a53498a991ef9c1915c61e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/basic.cpp
Log Message:
-----------
[CIR] Upstream support for l-value references (#138001)
This adds basic support for handling reference values.
Commit: ba3a46c1eaea31ce4135fe30d34ede660dd2c680
https://github.com/llvm/llvm-project/commit/ba3a46c1eaea31ce4135fe30d34ede660dd2c680
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
Log Message:
-----------
[flang][cuda] Fix type of kNoAsyncObject (#138029)
Commit: e6ffccbaa7c908839af150be8f7e21e0f8844dcc
https://github.com/llvm/llvm-project/commit/e6ffccbaa7c908839af150be8f7e21e0f8844dcc
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[NVPTX][NFC] Minor cleanup in NVPTXInstrInfo.td (#138006)
Commit: af45da1d32f47dba97a9e973c4e0c61f8cc61fea
https://github.com/llvm/llvm-project/commit/af45da1d32f47dba97a9e973c4e0c61f8cc61fea
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unused tablegen multiclass. NFC
Commit: 1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
https://github.com/llvm/llvm-project/commit/1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
Log Message:
-----------
[lldb-dap] Add an RAII helper for synchronous mode (NFC) (#137900)
While debugging the flakiness of the launch and attach tests, I noticed
that we have some places in lldb-dap where we put the debugger in
synchronous mode and have an early exit, that would leave the debugger
in this state. This PR introduces an RAII helper to avoid such mistakes.
Commit: 71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
https://github.com/llvm/llvm-project/commit/71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[AMDGPU] Fix register class constraints for si-fold-operands pass when folding immediate into copies (#131387)
Fixes https://github.com/llvm/llvm-project/issues/130020
This fixes an issue where the si-fold-operands pass would incorrectly
fold immediate values into COPY instructions targeting av_32 registers.
The pass now checks register class constraints before attempting to fold
the immediate.
Commit: 5dc3cd0ee40c00d9fb542488fa5a54ff70273112
https://github.com/llvm/llvm-project/commit/5dc3cd0ee40c00d9fb542488fa5a54ff70273112
Author: Haowei <haowei at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Adding missing PR_PAC_ macro defintions (#138040)
This is a follow up of 3beacfa022da2a9c94e012e25bed89e8e4867ac2, which
added the PR_PAC_APIAKEY macro to resolve the build failures on older Linux
distros. However, it missed a few other definitions. This patch fixes
this issue.
Commit: 7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
https://github.com/llvm/llvm-project/commit/7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Target/TargetCallingConv.td
A llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][CallingConv] Add CCAssignToRegTuple for synthetic registers. (#137826)
Currently CCAssignToReg takes a list<Register>. There are tuple-heavy
back-ends where we would like to reference any register-- whether those
are singletons or those defined by RegisterTuples. However, the latter
are synthesized during tuple expansion and are not visible outside of
the register info emitter.
The problem is that the parser will see tuple registers as undefined
variables before the calling convention emitter is ever reached. To
defer evaluation of the symbol, we introduce CCAssignToRegTuple which
takes list<string> instead. This allows us to defer the actual
register name lookup until the emitter runs-- where we also validate
that the register actually exists.
This is currently used in a downstream back-end which will be upstreamed
very soon. In the meantime, a unit test is provided to exercise the
feature.
Commit: afd738cd9016ddef4e26b309770ba35fd017a178
https://github.com/llvm/llvm-project/commit/afd738cd9016ddef4e26b309770ba35fd017a178
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Log Message:
-----------
[clang] Shard out some small gtest binaries (#138021)
@nico mentioned that FormatTests and BasicTests are small binaries with
few dependencies, so keeping them separate is nice. I broke them out as
distinct test binaries, and they are still pretty small:
$ find tools/clang/unittests/ -type f -name '*Tests' | xargs du -cksh |
sort -nr
708M total
276M tools/clang/unittests/AllClangUnitTests
244M tools/clang/unittests/Interpreter/ClangReplInterpreterTests
167M
tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests
13M tools/clang/unittests/Format/FormatTests
6.9M tools/clang/unittests/Basic/BasicTests
1.1M tools/clang/unittests/libclang/CrashTests/libclangCrashTests
I also broke out libclangCrashTests and re-enabled the failing test to
resolve llvm#137855.
Commit: 708053cd7ec576c67fd1c72cd6b836987fbee2ce
https://github.com/llvm/llvm-project/commit/708053cd7ec576c67fd1c72cd6b836987fbee2ce
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/union.c
Log Message:
-----------
[CIR] Upstream initial support for union type (#137501)
Closes #136059
Commit: c3715ecb1e1e63856a029be3c95b7e9595a56018
https://github.com/llvm/llvm-project/commit/c3715ecb1e1e63856a029be3c95b7e9595a56018
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
A utils/bazel/llvm-project-overlay/clang-tools-extra/clang-apply-replacements/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add clang-apply-replacements BUILD file (#138054)
Commit: e6a5d73f4d68462c1913fe9ac12217850872ae4e
https://github.com/llvm/llvm-project/commit/e6a5d73f4d68462c1913fe9ac12217850872ae4e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit checkers] Treat std::bit_cast as a pointer conversion (#137476)
WebKit repalced its use of WTF::bitwise_cast with std::bit_cast. Add the
support for recognizing it as a pointer conversion.
Commit: 46838e1a093510529185408349fe192c09ea42f0
https://github.com/llvm/llvm-project/commit/46838e1a093510529185408349fe192c09ea42f0
Author: Pranav Kant <prka at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lld/ELF/ICF.cpp
Log Message:
-----------
[lld] NFC. Rename function to better reflect its implementation (#136625)
Commit: 07deaf8464f29c34ff46983450a7412a36adcb7b
https://github.com/llvm/llvm-project/commit/07deaf8464f29c34ff46983450a7412a36adcb7b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/thread.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
Reland: [llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#136046)
Reland https://github.com/llvm/llvm-project/pull/133173
Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.
This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.
Commit: b564f5eaeb10022f5b65397e7c922c150816365b
https://github.com/llvm/llvm-project/commit/b564f5eaeb10022f5b65397e7c922c150816365b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 07deaf8464f2
Commit: c588224ca797886064a7a79f6c0114a6963c325e
https://github.com/llvm/llvm-project/commit/c588224ca797886064a7a79f6c0114a6963c325e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Turn on LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING
This has been defined in #137787 and affects in
llvmorg-21-init-10310-g92195f6fc873 (#137787).
Commit: 8effc8da292bfacb823a7e3c4134296da481fedc
https://github.com/llvm/llvm-project/commit/8effc8da292bfacb823a7e3c4134296da481fedc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 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/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
Reland [clang-format] Add OneLineFormatOffRegex option (#137577)
Commit: e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
https://github.com/llvm/llvm-project/commit/e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate user-defined conversion function call (#137914)
Fix #137770
Commit: 6efdcc188567fa2c9bde383e4397062f6d31427a
https://github.com/llvm/llvm-project/commit/6efdcc188567fa2c9bde383e4397062f6d31427a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/i128-ld-st.ll
Log Message:
-----------
[NVPTX] Fixup EXT_LOAD lowering for i128 values (#138049)
Ensure that when custom lowering a vector load/store to a multi-output
load/store node we confirm that the memory value type matches the type
used by the node. Also add some asserts for basic sanity checking of
load size.
Fixes https://github.com/llvm/llvm-project/issues/138034
Commit: c2c0ef50a1a679058fffe445a6e78b6d232dc231
https://github.com/llvm/llvm-project/commit/c2c0ef50a1a679058fffe445a6e78b6d232dc231
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::VariadicCallType` to scoped enum
Commit: 4258998654a67fb98da16f2c56cbb5912e990a9c
https://github.com/llvm/llvm-project/commit/4258998654a67fb98da16f2c56cbb5912e990a9c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
Log Message:
-----------
[clang][bytecode] Only print ptr/reference types via toAPValue() (#137965)
Otherwise, convert them to an RValue to print them. This fixes the
printing of e.g. complex values.
Commit: 53c175ceafc58fcdf13fd51f73506a7d277873bb
https://github.com/llvm/llvm-project/commit/53c175ceafc58fcdf13fd51f73506a7d277873bb
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
Log Message:
-----------
[nfc][clang] Rename function (#137874)
Rename function to meet the coding guidelines.
Commit: 16f01b37772ba7d9fec25a27ed493a93fbbe6f87
https://github.com/llvm/llvm-project/commit/16f01b37772ba7d9fec25a27ed493a93fbbe6f87
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Fix signatures after argument change (#138081)
Commit: 5f3e5df48186a7e409d548deec13a68486e3b944
https://github.com/llvm/llvm-project/commit/5f3e5df48186a7e409d548deec13a68486e3b944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::BuiltinCountedByRefKind` to scoped enum
Commit: 01a18809ee80b5a8bfa5a7a116e846405ab2851a
https://github.com/llvm/llvm-project/commit/01a18809ee80b5a8bfa5a7a116e846405ab2851a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
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/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "[flang][cuda] Use a reference for asyncObject (#138010)" (#138082)
This reverts commit 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0.
Commit: 4acfd83ee492ba238c4082a5467a5a8e92d45102
https://github.com/llvm/llvm-project/commit/4acfd83ee492ba238c4082a5467a5a8e92d45102
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused Context::getStack() (#138079)
Commit: e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
https://github.com/llvm/llvm-project/commit/e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::NameClassificationKind` to scoped enum
Commit: d0a97271a4ea2b0fe392afe498af20f8499260d2
https://github.com/llvm/llvm-project/commit/d0a97271a4ea2b0fe392afe498af20f8499260d2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
Log Message:
-----------
[clang][bytecode] Remove obsolete test file (#138080)
The corresponding test in `test/SemaCXX` has a line using the bytecode
interpreter these days.
Commit: c51be1be3ac9c66fc0c598298edd1fd224c1da07
https://github.com/llvm/llvm-project/commit/c51be1be3ac9c66fc0c598298edd1fd224c1da07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/Sema/integer-overflow.c
Log Message:
-----------
[clang][bytecode] Fix checking for integer overflow (#137962)
We need to evaluate both the True/False expressions of a conditional
operator as well as the LHS/RHS of a binary operator in more cases.
Commit: 93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
https://github.com/llvm/llvm-project/commit/93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream global initialization for VectorType (#137511)
This change adds global initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
https://github.com/llvm/llvm-project/commit/ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
Author: Thomas Du Plessis <t at dupes.io>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
Log Message:
-----------
[clangd] Add container field to remote index Refs grpc method (#71605)
Fixes https://github.com/clangd/clangd/issues/1358
Commit: 7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
https://github.com/llvm/llvm-project/commit/7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/IR/SymbolTable.h
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[MLIR] Add method to invalidate cached symbol table (#138014)
This PR adds a method to the `SymbolTableCollection` class to invalidate
the cached symbol table for an operation.
This is important when doing IR modifications that erase and also create
operations having the `OpTrait::SymbolTable` trait. If a symbol table of
an erased operation is not invalidated, a new operation sharing the same
address would be associated with outdated, and wrong, information.
Commit: 0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
https://github.com/llvm/llvm-project/commit/0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/macro_reserved.i
Log Message:
-----------
[Clang] Do not warn for serialized builtin or command-line definitions (#137306)
When using `-dD` to generate a preprocessed output, the `#define`
directives
are preserved. This includes built-in and command-line definitions.
Before, clang would warn for reserved identifiers for serialized
built-in
and command-line definitions.
This patch adds an exception to these cases.
Commit: 9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
https://github.com/llvm/llvm-project/commit/9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[DAG] Use SDValue for PatFrag checks (#137519)
If the SDNode is used it can pick up the wrong results number, for
example looking at the known bits of the first result where it should be
looking at the second. The SDValue is already present as the
SelectCodeCommon checks move from parent to child, pass the SDValue
through to CheckNodePredicate as Op so that it can use it if necessary.
SDNode *N is still generated, keeping most PatFrags the same.
Fixes #137274
Commit: 6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
https://github.com/llvm/llvm-project/commit/6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
Log Message:
-----------
[libclc] Move minmag & maxmag to the CLC library (#137982)
Commit: c5b750f5af72fadd4c00c120c9c585240da466b4
https://github.com/llvm/llvm-project/commit/c5b750f5af72fadd4c00c120c9c585240da466b4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move log2/log10 tables to CLC tables impl
These two tables were being used by the CLC library but their
definitions still remained in the OpenCL layer. This worked out after
linking the two together but is a layering violation.
This had a side effect of removing the two table getters from the final
bytecode library, which were never intended to be exposed.
These two tables should probably be refactored so allow better
vectorization of log/log2/log10, but that is left to future work.
Commit: 47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
https://github.com/llvm/llvm-project/commit/47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Skip part of TestLldbGdbServer.py on Windows
See https://github.com/llvm/llvm-project/issues/138085.
Commit: 2dbab4ca8ddb218af555d8d1fd86b72612387582
https://github.com/llvm/llvm-project/commit/2dbab4ca8ddb218af555d8d1fd86b72612387582
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb][test] Disable a bunch of flakey lldb-dap tests
These, or parts of these, are all failing every so often on Linaro's
build bots with:
raise ValueError(desc)
ValueError: no response for "disconnect"
Sorry to use a global disable here but this is happening too often
and spamming unrelated PRs.
I think it's the same issue as https://github.com/llvm/llvm-project/issues/137660.
Commit: 9693bf457b8a3ae95735f86e23a94a7946ec540e
https://github.com/llvm/llvm-project/commit/9693bf457b8a3ae95735f86e23a94a7946ec540e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add some logical typing changes. (#138074)
This adds a few logical changes that might require discussion to the
libclang/python typing project, as the next step towards #76664 .
Some documentation is also updated to reflect the recent changes in
returned types.
Commit: 4b3acfb10a6b6388b95682c471bdbf42982be030
https://github.com/llvm/llvm-project/commit/4b3acfb10a6b6388b95682c471bdbf42982be030
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
A clang/test/Sema/warn-duplicate-decl-specifier.c
Log Message:
-----------
[C] Add -Wduplicate-decl-specifier to -Wc++-compat (#138012)
The existing diagnostic, already enabled by default in C, will diagnose
use of duplicate declaration specifiers (e.g., `const const`). However,
the C++ standard claims that is ill-formed, so the diagnostic is now
also controlled via -Wc++-compat.
Note: Clang treats this as a warning in C++ rather than an error, but
GCC does treat this as an error in C++, so the compatibility concerns
are minor but do exist.
Commit: 00f9ef282c7482754a0fea497417604d1deca9fa
https://github.com/llvm/llvm-project/commit/00f9ef282c7482754a0fea497417604d1deca9fa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
[C] Modify -Wdefault-const-init (#137961)
Post-commit review feedback on
https://github.com/llvm/llvm-project/pull/137166 raised a concern from
the Linux kernel about wanting to silence the new diagnostic when the
uninitialized object is a const member of a structure. These members can
be initialized later if the containing object is non-const, such as
through a call to memset, for example.
This splits the diagnostic groups into:
```
-Wc++-compat
-Wdefault-const-init
-Wdefault-const-init-field
-Wdefault-const-init-var
-Wdefault-const-init-unsafe
-Wdefault-const-init-field-unsafe
-Wdefault-const-init-var-unsafe
```
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 21aa7b8138a140514ea90d85bf86c57de68c6d4f
https://github.com/llvm/llvm-project/commit/21aa7b8138a140514ea90d85bf86c57de68c6d4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Verifier: Avoid unnecessary hasFnAttr (#138104)
When checking string attribute values are valid, it's not
necessary to check hasFnAttr prior to querying the value.
Commit: 212f2456fcde822fad37bfa4e69ced1a51a4c19d
https://github.com/llvm/llvm-project/commit/212f2456fcde822fad37bfa4e69ced1a51a4c19d
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] rename enabled flags to `disable-*` (#132991)
Closes #132983
Commit: e377dc4d38b69050a3301c68637d1b6dacaee3a9
https://github.com/llvm/llvm-project/commit/e377dc4d38b69050a3301c68637d1b6dacaee3a9
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
Log Message:
-----------
[AMDGPU] Max. WG size-induced occupancy limits max. waves/EU (#137807)
The default maximum waves/EU returned by the family of
`AMDGPUSubtarget::getWavesPerEU` is currently the maximum number of
waves/EU supported by the subtarget (only a valid occupancy range in
"amdgpu-waves-per-eu" may lower that maximum). This ignores maximum
achievable occupancy imposed by flat workgroup size and LDS usage,
resulting in situations where `AMDGPUSubtarget::getWavesPerEU` produces
a maximum higher than the one from
`AMDGPUSubtarget::getOccupancyWithWorkGroupSizes`.
This limits the waves/EU range's maximum to the maximum achievable
occupancy derived from flat workgroup sizes and LDS usage. This only has
an impact on functions which restrict flat workgroup size with
"amdgpu-flat-work-group-size", since the default range of flat workgroup
sizes achieves the maximum number of waves/EU supported by the
subtarget.
Improvements to the handling of "amdgpu-waves-per-eu" are left for a
follow up PR (e.g., I think the attribute should be able to lower the
full range of waves/EU produced by these methods).
Commit: 75d1cceb948666af9b2cb26fc3933d4176a2806d
https://github.com/llvm/llvm-project/commit/75d1cceb948666af9b2cb26fc3933d4176a2806d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
Add missing RUN lines to test
These were intended to be present when 00f9ef282c7482754a0fea497417604d1deca9fa
landed
Commit: bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
https://github.com/llvm/llvm-project/commit/bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-tentative-defn-compat.c
Log Message:
-----------
[C] Add -Wtentative-definition-compat (#137967)
This adds a new diagnostic to warn about redeclaration of a tentative
definition in C. This is incompatible with C++, so the new diagnostic
group is under -Wc++-compat.
Commit: 9494464b1369ffb85dc2feae773185049996c001
https://github.com/llvm/llvm-project/commit/9494464b1369ffb85dc2feae773185049996c001
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Assembler/2008-09-02-FunctionNotes2.ll
A llvm/test/Verifier/2008-09-02-FunctionNotes2.ll
Log Message:
-----------
Verifier: Move test from Assembler to right place and avoid grep (#138113)
Commit: 79b841df750e6e3d4a0e817e59c5741da4b4ef6d
https://github.com/llvm/llvm-project/commit/79b841df750e6e3d4a0e817e59c5741da4b4ef6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/Assembler/2002-04-07-InfConstant.ll
M llvm/test/Assembler/2002-04-29-NameBinding.ll
M llvm/test/Assembler/2003-04-15-ConstantInitAssertion.ll
M llvm/test/Assembler/2003-05-12-MinIntProblem.ll
M llvm/test/Assembler/2003-05-21-MalformedStructCrash.ll
M llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
M llvm/test/Assembler/2003-11-24-SymbolTableCrash.ll
M llvm/test/Assembler/2004-01-20-MaxLongLong.ll
M llvm/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll
M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
M llvm/test/Assembler/2006-12-09-Cast-To-Bool.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
M llvm/test/Assembler/2007-03-18-InvalidNumberedVar.ll
M llvm/test/Assembler/2007-04-20-AlignedLoad.ll
M llvm/test/Assembler/2007-04-20-AlignedStore.ll
M llvm/test/Assembler/2007-08-06-AliasInvalid.ll
M llvm/test/Assembler/2008-01-11-VarargAttrs.ll
M llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
M llvm/test/Assembler/2008-09-29-RetAttr.ll
M llvm/test/Assembler/2008-10-14-QuoteInName.ll
Log Message:
-----------
Assembler: Replace some usage of grep in tests with FileCheck (#138114)
Commit: 3015edf96e4faad0d367d0879269c1c905a4eec7
https://github.com/llvm/llvm-project/commit/3015edf96e4faad0d367d0879269c1c905a4eec7
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[cmake] Pass LLVM_TABLEGEN_FLAGS to cross compile targets (#138086)
If ValueTypes.td contains conditional directives enabled by defs in
LLVM_TABLEGEN_FLAGS then native build tblgen and min-tblgen must be
built with matching flags.
This ensures the embedded types in TableGen are consistent with those
used for building tables.
Commit: 0fab741a2687a6c42832fe8286591ebe626c40a8
https://github.com/llvm/llvm-project/commit/0fab741a2687a6c42832fe8286591ebe626c40a8
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Don't scalarise v8{f16,bf16} vsetcc operations. (#135398)
I have also removed custom promotion code for the v4{f16,bf16} cases
because the same common code can be used.
Commit: 149d795ab097d66a7ad0aa5d777534eb9c7420dd
https://github.com/llvm/llvm-project/commit/149d795ab097d66a7ad0aa5d777534eb9c7420dd
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
Log Message:
-----------
[LLVM][InstCombine] Enable constant folding for SVE sdiv & udiv intrinsics. (#137966)
Commit: 724eea76544cd3fe4bc739886f3dd2bb92ee169d
https://github.com/llvm/llvm-project/commit/724eea76544cd3fe4bc739886f3dd2bb92ee169d
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/RuntimeDyld/X86/coff-alignment.ll
Log Message:
-----------
[llvm][test] Change an XFAIL into a more correct REQUIRES (#137942)
As this test is about executing x86_64 code with "lli", we should only
try to do it if we actually execute on an x86_64 target. So instead of
XFAILing individual architectures that can't execute it, instead change
this into requiring an x86_64 target.
Also generalize the target triple form used; don't assume that the
vendor field is set to "pc" - many mingw toolchains use the vendor field
set to "w64".
Commit: 3376071a24b772446d2f2241e4370b6d0cba6947
https://github.com/llvm/llvm-project/commit/3376071a24b772446d2f2241e4370b6d0cba6947
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][NFC] Add missed // clang-format on
clang-format was turned off for the defines, but there was no matching
`// clang-format on` comment at the end. Ran into this in #137973
Commit: 49941749a84235bbe61db34cbb729d5fa65aaef2
https://github.com/llvm/llvm-project/commit/49941749a84235bbe61db34cbb729d5fa65aaef2
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M offload/unittests/OffloadAPI/CMakeLists.txt
Log Message:
-----------
[offload] Don't print device path during configure (#138109)
Commit: 180bc5916b1dfdf4da8516ed2666de386127e8c6
https://github.com/llvm/llvm-project/commit/180bc5916b1dfdf4da8516ed2666de386127e8c6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__type_traits/is_unbounded_array.h
Log Message:
-----------
[libc++] Simplify the implementation of is_unbounded_array a bit (#137716)
Commit: a6459debc06f9cb86940ff5cdae35a1f52e1ed19
https://github.com/llvm/llvm-project/commit/a6459debc06f9cb86940ff5cdae35a1f52e1ed19
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
Log Message:
-----------
[libc++] Remove a few unused includes from <__bit/*> (#137934)
Commit: 001cc34275111df842edbaa874b7319eef930c81
https://github.com/llvm/llvm-project/commit/001cc34275111df842edbaa874b7319eef930c81
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[clang] Add scoped enum support to `StreamingDiagnostic` (#138089)
This patch adds templated `operator<<` for diagnostics that pass scoped
enums, saving people from `llvm::to_underlying()` clutter on the side of
emitting the diagnostic. This eliminates 80 out of 220 usages of
`llvm::to_underlying()` in Clang.
I also backported `std::is_scoped_enum_v` from C++23.
Commit: b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
https://github.com/llvm/llvm-project/commit/b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Improve type legalisation for PARTIAL_REDUCE_MLA (#130935)
Implement proper splitting functions for PARTIAL_REDUCE_MLA ISD nodes.
This makes the udot_8to64 and sdot_8to64 tests generate dot product
instructions for when the new ISD nodes are used.
---------
Co-authored-by: James Chesterman <james.chesterman at arm.com>
Commit: 0009a1783490a8ff69251a0ec7df1891a427cfb0
https://github.com/llvm/llvm-project/commit/0009a1783490a8ff69251a0ec7df1891a427cfb0
Author: Simon Camphausen <simon.camphausen at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ToEmitCInterface.h
M mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/ConvertToEmitC/func-failed.mlir
A mlir/test/Conversion/ConvertToEmitC/func.mlir
A mlir/test/Conversion/ConvertToEmitC/tosa.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
[mlir][EmitC] Add pass that combines all available emitc conversions (#117549)
Commit: b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
https://github.com/llvm/llvm-project/commit/b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang][frontend] Require invocation to construct `CompilerInstance` (#137668)
This PR makes it so that `CompilerInvocation` needs to be provided to
`CompilerInstance` on construction. There are a couple of benefits in my
view:
* Making it impossible to mis-use some `CompilerInstance` APIs. For
example there are cases, where `createDiagnostics()` was called before
`setInvocation()`, causing the `DiagnosticEngine` to use the
default-constructed `DiagnosticOptions` instead of the intended ones.
* This shrinks `CompilerInstance`'s state space.
* This makes it possible to access **the** invocation in
`CompilerInstance`'s constructor (to be used in a follow-up).
Commit: b877cfa8f25412a3946d1cde63a1dad95fd95c90
https://github.com/llvm/llvm-project/commit/b877cfa8f25412a3946d1cde63a1dad95fd95c90
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[ADT] Remove `is_scoped_enum_v` (#138134)
`std::underlying_type` is not SFINAE-friendly in Clang and GCC before 9,
and it's too much of a hassle to make it work. Instead, I'm inlining the
implementation in the only place it's needed. Fixes buildbot failure
https://lab.llvm.org/buildbot/#/builders/134/builds/17904 caused by
#138089. Demo: https://godbolt.org/z/9qo3csP98
Commit: d33c6764680ed78ffe824a83b6a33c0b609bafce
https://github.com/llvm/llvm-project/commit/d33c6764680ed78ffe824a83b6a33c0b609bafce
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Constify ConstantFoldInstOperands and ConstantFoldInstruction argument. NFC (#138108)
I tried to use these with a const reference in a separate patch, but the
pointers weren't marked as const. It turns out that these don't mutate
the instruction.
Commit: 0c7c82af230bd525bb96a54ca9480797b5fa2a42
https://github.com/llvm/llvm-project/commit/0c7c82af230bd525bb96a54ca9480797b5fa2a42
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/test/CMakeLists.txt
A llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
A llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
[KeyInstr] Add fields to DILocation behind compile time flag (#133477)
Add AtomGroup and AtomRank to DILocation behind compile time flag
EXPERIMENTAL_KEY_INSTRUCTIONS which is controlled by cmake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS.
Add IR read-write roundtrip test in a directory that is unsupported unless the
CMake flag is enabled.
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
https://github.com/llvm/llvm-project/commit/80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/setjmp/x86_64/setjmp.cpp
Log Message:
-----------
[libc][NFC] add remarks to the setjmp implementation (#137066)
We use naked functions to avoid compiler-generated prologue and
epilogue.
Despite GCC documentation listing this as an unsupported case for
extended asm, the generated code is not wrong as we only pass in
constant operands to extended asm.
See https://github.com/llvm/llvm-project/issues/137055 for related
remarks.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 64f552cefacbb36ccb5f6df7b57f532bb63f0006
https://github.com/llvm/llvm-project/commit/64f552cefacbb36ccb5f6df7b57f532bb63f0006
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MachineInstr operand accessors (#137261)
- Change MachineInstr operand accessors to use `ArrayRef` internally to
slice the operand array into sub-arrays.
- Minor: remove unnecessary {} on `MachineInstrBuilder::add`.
Commit: 38c283370121e8f41c5f7575b547511bdac0a702
https://github.com/llvm/llvm-project/commit/38c283370121e8f41c5f7575b547511bdac0a702
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use early return to simplify VLA shuffle lowering [nfc]
Commit: 47681736cbf6f32a70ca0aaf5d2671bc9c76112d
https://github.com/llvm/llvm-project/commit/47681736cbf6f32a70ca0aaf5d2671bc9c76112d
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII (#137275)
Static analysis flagged CGAtomicOptionsRAII as having an explicit
destructor but not having explicit copy ctor and assignment. Rule of
three says we should. We are just using this as an RAII object, no need
for either so they will be specified as deleted.
Commit: abd2c07e390c39830296ee70d4743663b02dc8df
https://github.com/llvm/llvm-project/commit/abd2c07e390c39830296ee70d4743663b02dc8df
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[CostModel] Make Op0 and Op1 const in getVectorInstrCost. NFC (#137631)
This does not alter much at the moment, but allows const pointers to be
passed as Op0 and Op1, simplifying later patches
Commit: 7ffaaf47528ff42d4c037e1b003d940e51347db5
https://github.com/llvm/llvm-project/commit/7ffaaf47528ff42d4c037e1b003d940e51347db5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
Log Message:
-----------
[Clang] Warning as error for fold expressions over comparison operators (#136836)
We made chained comparisons an error.
Fold-expressions over a comparison operator produce chained comparisons,
so we should be consistent there too.
We only emit the warning when instantiating the fold expression so as
not to warn on types with user-defined comparisons.
Partially addresses #129570
Commit: 2876dbcd6617898cef8396ff30b20b07556d2456
https://github.com/llvm/llvm-project/commit/2876dbcd6617898cef8396ff30b20b07556d2456
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
Log Message:
-----------
[AArch64] Don't allow mixed partial reductions without i8mm (#137602)
Partial reductions with mixed extends should only be allowed if i8mm is
present.
Commit: 2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
https://github.com/llvm/llvm-project/commit/2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[CodeGen] Remove experimental deferred spilling from GreedyRegAlloc (#137850)
This experimental option was introduced in 2015 via commit 1192294, and
the target hook was added in 2020 via commit 99e865b6. There does not
appear to have ever been a use of this target hook in tree.
This code is complicating one of the most complicated and hard to
understand parts of our code base, and was an experiment introduced
nearly 10 years ago. Let's get rid of it.
Note that the idea described in the original patch is not neccessarily a
bad one, and we might return to it someday.
Commit: c61746650178c117996e1787617f36ccda7233f7
https://github.com/llvm/llvm-project/commit/c61746650178c117996e1787617f36ccda7233f7
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[flang][llvm][OpenMP] Add implicit casts to omp.atomic (#131603)
Currently, implicit casts in Fortran are handled by the OMPIRBuilder.
This patch shifts that responsibility to FIR codegen.
Commit: 09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
https://github.com/llvm/llvm-project/commit/09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Disable statusline on Windows (#138111)
Something to do with control code handling in Windows terminals breaks
the statusline in various ways. It makes LLDB unusable and even if you
set the setting to disable statusline, it's too late, and the terminal
session is now in a weird state.
See https://github.com/llvm/llvm-project/issues/134846 for more details.
Until we figure this out, don't allow it to be used on Windows.
Commit: e5f09aac483e11595e5cb0c999710ec6e0fb43e9
https://github.com/llvm/llvm-project/commit/e5f09aac483e11595e5cb0c999710ec6e0fb43e9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] Start work to lower 'loop' (#137972)
As can be seen by the comment, this ends up being a construct that is
going to be quite a lot of work in the future to make sure we properly
identify the upperbound, lowerbound, and step. For now, we just treat
the 'loop' as container so that we can put the 'for' loop into it.
In the future, we'll have to teach the OpenACC dialect how to derive the
upperbound, lowerbound, and step from the cir.for loop. Additionally,
we'll probably have to add a few more options to it so that we can give
it the recipes it needs to determine these for random access iterators.
For Integer and Pointer values, these should already be known.
Commit: 927cdd2c73590ef6475f7e00ce79078d6e8323bd
https://github.com/llvm/llvm-project/commit/927cdd2c73590ef6475f7e00ce79078d6e8323bd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/stdio/printf_core/core_structs.h
Log Message:
-----------
[libc] Fix typo in uint128 type for PPC printf handling (#138157)
Commit: 0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
https://github.com/llvm/llvm-project/commit/0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit: Autogenerate checks for an LSV test (#138155)
Related PR: https://github.com/llvm/llvm-project/pull/134436
Commit: a7aca819d44b8d67f2cffd452e6b63741c83cd62
https://github.com/llvm/llvm-project/commit/a7aca819d44b8d67f2cffd452e6b63741c83cd62
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
Revert "[NFC] Precommit: Autogenerate checks for an LSV test" (#138161)
Reverts llvm/llvm-project#138155
Commit: a9ccb246178a454abba8fb53499012d586e5eea9
https://github.com/llvm/llvm-project/commit/a9ccb246178a454abba8fb53499012d586e5eea9
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#138110)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: dadd91e793a7622e0ca34ad9c3993a01a437b651
https://github.com/llvm/llvm-project/commit/dadd91e793a7622e0ca34ad9c3993a01a437b651
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit tests for an LSV patch (#138167)
Autogenerate checks for merge-vectors.ll and introduce
merge-vectors-complex.ll with mismatched types.
Related PR: https://github.com/llvm/llvm-project/pull/134436
This is a reland of https://github.com/llvm/llvm-project/pull/138155,
which was reverted due to missed nits.
Commit: acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
https://github.com/llvm/llvm-project/commit/acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[Clang][NFC] Use const auto & to avoid copy (#138069)
Static analysis flagged this code as causing a copy when we never modify
ModName and therefore we can use const auto & and avoid copying.
Commit: f24606376d449fa14bc72953951c52005f590434
https://github.com/llvm/llvm-project/commit/f24606376d449fa14bc72953951c52005f590434
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MIR Printer (#137361)
- Move `MIPrinter` class to anonymous namespace, and remove it as a
friend of `MachineBasicBlock`.
- Move `canPredictBranchProbabilities` to `MachineBasicBlock` and change
it to use the new `BranchProbability::normalizeProbabilities` function
that accepts a range, and also to use `llvm::equal()` to check equality
of the two vectors.
- Use `ListSeparator` to print comma separate lists instead of manual
code to do that.
Commit: 35c76eb195990865ee63a0aba3c18ad3c4189e73
https://github.com/llvm/llvm-project/commit/35c76eb195990865ee63a0aba3c18ad3c4189e73
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/test/lit.cfg.py
Log Message:
-----------
[flang][OpenMP] Always set "openmp_flags" (#138153)
Many OpenMP tests use "%openmp_flags" in the RUN line. In many OpenMP
lit tests this variable is expected to at least have "-fopenmp" in it.
However, in the lit config this variable was only given a value when the
OpenMP runtime build was enabled.
If the runtime build was not enabled, %openmp_flags would expand to an
empty string, and unless a lit test specifically used -fopenmp in the
RUN line, OpenMP would be disabled.
This patch sets %openmp_flags to start with "-fopenmp" regardless of the
build configuration.
Commit: 526ae7ffb5317ebdfab3564c2c5811d1d08259b1
https://github.com/llvm/llvm-project/commit/526ae7ffb5317ebdfab3564c2c5811d1d08259b1
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
Log Message:
-----------
[mlir][vector] Remove remaining bitwidths from linearization patterns (#138072)
In https://github.com/llvm/llvm-project/pull/136581 the bitwidth logic
was supposed to be completely removed from the linearization patterns.
But it was left in a few places. This PR removes the remainders (they
were default valued constructor arguments that were unused).
Commit: 5718460b22400e71e1832be489c9090f2c7d3ebb
https://github.com/llvm/llvm-project/commit/5718460b22400e71e1832be489c9090f2c7d3ebb
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax constraints on shape_cast (#136587)
`vector.shape_cast` was initially designed to be the union of
collapse_shape and expand_shape. There was an inconsistency in the
verifier that allowed any shape casts when the rank did not change, which
led to a strange middle ground where you could cast from shape (4,3) to
(3,4) but not from (4,3) to (2,3,2). That issue was fixed (verifier made stricter)
in https://github.com/llvm/llvm-project/pull/135855, but further feedback
there (and polling) suggests that vector.shape_cast should rather allow all
shape casts (so more like tensor.reshape than
tensor.collapse_shape/tensor.expand_shape). This PR makes this simplification
by relaxing the verifier.
Commit: a88d580860b88bbb02797bae95032b6eb0c4579c
https://github.com/llvm/llvm-project/commit/a88d580860b88bbb02797bae95032b6eb0c4579c
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
A llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
A llvm/test/CodeGen/NVPTX/byval-const-global.ll
A llvm/test/CodeGen/NVPTX/tag-invariant-loads.ll
Log Message:
-----------
[NVPTX] Pull invariant load identification into IR pass (#138015)
Pull invariant load identification, which was previously part of
DAGToDAG ISel, into a new IR pass NVPTXTagInvariantLoads. This makes it
possible to disable this optimization at O0 and reduces the complexity
of the SelectionDAG pass. Moving this logic to an IR pass also allows
for implementing a more powerful traversal in the future.
Fixes https://github.com/llvm/llvm-project/issues/138138
Commit: b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
https://github.com/llvm/llvm-project/commit/b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add Bazel rules for conversions (#138154)
Follow-up from #117549
tested by:
```
cd utils/bazel
bazelisk build --config=generic_clang @llvm-project//mlir:all
bazelisk test --config=generic_clang @llvm-project//mlir/test:all
```
Commit: deae5eef7147c5ad3acff612ab0ed00e2186d9a5
https://github.com/llvm/llvm-project/commit/deae5eef7147c5ad3acff612ab0ed00e2186d9a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Fix branch extension logic compatibility with __objc_stubs (#137913)
Enhance branch extension logic to handle __objc_stubs identically to
__stubs
The branch extension algorithm currently has specific handling for the
`__stubs` section:
1. It ensures all `__stubs` content is directly reachable via branches
from the text section.
2. It calculates the latest text section address that might require
thunks to reach the end of `__stubs`.
The `__objc_stubs` section requires precisely the same handling due to
its similar nature, but this was not implemented.
This commit generalizes the existing logic so it applies consistently to
both the `__stubs` and `__objc_stubs` sections, ensuring correct
reachability and thunk placement for both. Without this change it's
possible to get relocation errors during linking in scenarios where the
`__objc_stubs` section is large enough.
Commit: 0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
https://github.com/llvm/llvm-project/commit/0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
Author: David Truby <david.truby at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[flang] Move LLVM_ENABLE_RUNTIMES definition above uses (#138136)
Commit: 514b853972d81a2834a9d2b89df27cd9c382df7d
https://github.com/llvm/llvm-project/commit/514b853972d81a2834a9d2b89df27cd9c382df7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
Log Message:
-----------
[mlir] Fix the build
This patch fixes:
llvm/include/llvm/ADT/SmallVector.h:1162:7: error: implicit
instantiation of undefined template 'std::basic_string<char>'
This happens under -DCMAKE_CXX_FLAGS="-stdlib=libc++".
Commit: e25ddf908178d6ad4a2557b2800b4ea6248eb632
https://github.com/llvm/llvm-project/commit/e25ddf908178d6ad4a2557b2800b4ea6248eb632
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/inline-attr.ll`
Commit: 334e05b4b78a5de6efdcb23f208f3453a5b364a0
https://github.com/llvm/llvm-project/commit/334e05b4b78a5de6efdcb23f208f3453a5b364a0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[nfc] Fix formatting in clang release notes (#138172)
`-ftime-report` was supposed to be an inline code section, which
requires two backticks instead of one.
Commit: 6aa963f780d63d4c8fa80de97dd79c932bc35f4e
https://github.com/llvm/llvm-project/commit/6aa963f780d63d4c8fa80de97dd79c932bc35f4e
Author: Mikhail Zakharov <zmish1993 at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)
This change adds a setting `target.process.track-memory-cache-changes`.
Disabling this setting prevents invalidating and updating values in
`ValueObject::UpdateValueIfNeeded` when only "internal" debugger memory
is updated. Writing to "internal" debugger memory happens when, for
instance, expressions are evaluated by visualizers (pretty printers).
One of the examples when cache invalidation has a particularly heavy
impact is visualizations of some collections: in some collections
getting collection size is an expensive operation (it requires traversal
of the collection).
At the same time evaluating user expression with side effects (visible
to target, not only to debugger) will still bump memory ID because:
- If expression is evaluated via interpreter: it will cause write to
"non-internal" memory
- If expression is JIT-compiled: then to call the function LLDB will
write to "non-internal" stack memory
The downside of disabled `target.process.track-memory-cache-changes`
setting is that convenience variables won't reevaluate synthetic
children automatically.
---------
Co-authored-by: Mikhail Zakharov <mikhail.zakharov at jetbrains.com>
Commit: 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
https://github.com/llvm/llvm-project/commit/49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`
Commit: 5209668e357e0a1d295d9e9aa9dbca8f41132c0c
https://github.com/llvm/llvm-project/commit/5209668e357e0a1d295d9e9aa9dbca8f41132c0c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/pointers.cpp
Log Message:
-----------
[CIR] Upstream pointer arithmetic support (#138041)
This adds support for explicit pointer arithmetic, including unary
increment and decrement of pointer values.
Commit: 74f55c744a18b848cc780c42f0e3dde7e7c96195
https://github.com/llvm/llvm-project/commit/74f55c744a18b848cc780c42f0e3dde7e7c96195
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Revert "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37.
Commit: cf9d4048fb5840b2800df532c9f93bb2fb842614
https://github.com/llvm/llvm-project/commit/cf9d4048fb5840b2800df532c9f93bb2fb842614
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Reapply "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 74f55c744a18b848cc780c42f0e3dde7e7c96195 with a fix for the
check lines.
Commit: 760bba4666d6cdb7b4aef3c8ce9a242f59e39216
https://github.com/llvm/llvm-project/commit/760bba4666d6cdb7b4aef3c8ce9a242f59e39216
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Allow UPDATE clause to not have any arguments (#137521)
The UPDATE clause can be specified on both ATOMIC and DEPOBJ directives.
Currently, the ATOMIC directive has its own handling of it, and the
definition of the UPDATE clause only supports its use in the DEPOBJ
directive, where it takes a dependence-type as an argument.
The UPDATE clause on the ATOMIC directive may not have any arguments.
Since the implementation of the ATOMIC construct will be modified to use
the standard handling of clauses, the definition of UPDATE should
reflect that.
Commit: 1f56afa9b4d1839b8c8703ff9c7a4784546a6451
https://github.com/llvm/llvm-project/commit/1f56afa9b4d1839b8c8703ff9c7a4784546a6451
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Spiller.h
Log Message:
-----------
[InlineSpiller] Fix missing LiveRegMatrix declaration. NFC.
b25b51eb639d adds a reference to LiveRegMatrix in Spiller.h without
including the header, or adding a declaration. That breaks modules
builds.
It looks like it might get reverted in #137801, but let's fix the
breakage in the meantime.
Commit: a60984ec8d8eb84fd087ed1bcf2ebfb6512ae20d
https://github.com/llvm/llvm-project/commit/a60984ec8d8eb84fd087ed1bcf2ebfb6512ae20d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A offload/Maintainers.md
Log Message:
-----------
[Offload] Add 'Maintainers.md' file for offload (#138177)
Summary:
The offload project lacks a maintainers file. Adding it with myself and
Johannes as the still active maintainers.
Commit: d7f98a4ef9992936a92c2a71fec743ea6f3493d0
https://github.com/llvm/llvm-project/commit/d7f98a4ef9992936a92c2a71fec743ea6f3493d0
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[Clang][NFC] Use std::move to avoid copy (#138073)
Static analysis flagged this code for using copy when we could use
std::move.
Worth noting that CD.Message is a StringRef but Conflict.Message is
std::string. Otherwise I would have used a temporary in place and avoid
a local variable.
Commit: c2bec64833753df539ab9089555e8c039c33b9bb
https://github.com/llvm/llvm-project/commit/c2bec64833753df539ab9089555e8c039c33b9bb
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Log Message:
-----------
[AMDGPU] Simplify GCNTTIImpl::isValidAddrSpaceCast. NFCI. (#137986)
This just removes some code that references specific address spaces.
Commit: 2bff80f25d51e24d3c552e033a2863dd36ef648b
https://github.com/llvm/llvm-project/commit/2bff80f25d51e24d3c552e033a2863dd36ef648b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Target/Memory.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/source/Target/Memory.cpp:438:3: error: 'lock_guard' may not
intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
Commit: 441b68370a2fb97c1a650de15528e5600eacab6b
https://github.com/llvm/llvm-project/commit/441b68370a2fb97c1a650de15528e5600eacab6b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp:586:14: error:
variable 'realParam' set but not used
[-Werror,-Wunused-but-set-variable]
Commit: 978df3b9f1b74dcb4748eca93f4bf989253d4839
https://github.com/llvm/llvm-project/commit/978df3b9f1b74dcb4748eca93f4bf989253d4839
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
Log Message:
-----------
[NVPTX][test] Fixup to get ptxas passing for byval-const-global.ll (#138175)
Commit: b2e2ae8702e9fbbe0ef0eb5929aa2d5dc867b1c5
https://github.com/llvm/llvm-project/commit/b2e2ae8702e9fbbe0ef0eb5929aa2d5dc867b1c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:901:12:
error: variable 'origVecType' set but not used
[-Werror,-Wunused-but-set-variable]
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:908:12:
error: variable 'origTensorDescTy' set but not used
[-Werror,-Wunused-but-set-variable]
Commit: 8d02529f77f809a1a8db623a3a124a33f0be94b9
https://github.com/llvm/llvm-project/commit/8d02529f77f809a1a8db623a3a124a33f0be94b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Consistently use ArrayRef<VPValue *> for operands in ctors (NFC) (#137798)
Now that there is an ArrayRef constructor taking iterator_ranges, use it
consistently to slightly simplify code.
Depends on https://github.com/llvm/llvm-project/pull/137796.
PR: https://github.com/llvm/llvm-project/pull/137798
Commit: 42f5d716cbb8b391203eb880ac81f6272fd611f1
https://github.com/llvm/llvm-project/commit/42f5d716cbb8b391203eb880ac81f6272fd611f1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/call03.f90
Log Message:
-----------
[flang][frontend] warn when a volatile target is pointer associated with an non-volatile pointer (#136778)
closes #135805
Commit: 4fdb8cb42f73ebec9a3bdd37b2f27c222f9afd87
https://github.com/llvm/llvm-project/commit/4fdb8cb42f73ebec9a3bdd37b2f27c222f9afd87
Author: jimingham <jingham at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/linux-x86_64.core
A lldb/test/API/commands/target/stop-hooks/on-core-load/stop_hook.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/test.core.yaml
M lldb/test/API/python_api/event/TestEvents.py
Log Message:
-----------
Make stop-hooks fire when lldb first gains control of a process. (#137410)
stop-hooks are supposed to trigger every time the process stops, but as
initially implemented they would only fire when control was returned to
the user. So for instance when a process was launched the stop hook
would only trigger when the process hit a breakpoint or crashed.
However, it would be really useful to be able to trigger a stop hook
when lldb first gains control over the process. One way to do that would
be to implement general "target lifecycle events" and then send process
created events that users could bind actions to.
OTOH, extending the stop hooks to fire when lldb first gains control
over the process is a pretty natural extension to the notion of a stop
hook. So this patch takes the shorter route to that ability by making
stop-hooks fire when lldb first gains control over the process.
I also added the ability to specify whether to trigger the stop hook "on
gaining control". I'm on the fence about whether to set the default to
be "trigger on gaining control" or "don't trigger on gaining control".
Since I think it's a generally useful feature, I've set the default to
"trigger on gaining control".
Commit: a073bb5afdb8715429d98ea80ecdef1390fb4962
https://github.com/llvm/llvm-project/commit/a073bb5afdb8715429d98ea80ecdef1390fb4962
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][acc] Add LegalizeDataValues support for DeclareEnterOp (#138008)
The patch extends the existing LegalizeDataValues to support
DeclareEnter and DeclareExit pair.
Since unlike other ops, DeclareEnter and DeclareExit don't have a region
defined, we use dominance/post dominance information to ensure only the
uses within the region dominated by DeclareEnter and post dominated by
DeclareExit are updated with data on device.
Commit: c37b2549ff0150301eb23bd28c2802efc426b7f2
https://github.com/llvm/llvm-project/commit/c37b2549ff0150301eb23bd28c2802efc426b7f2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstSimplify/gep.ll
Log Message:
-----------
Revert "[InstSimplify] Fold `getelementptr inbounds null, idx -> null` (#130742)" (#138168)
Revert #130742 for now to avoid breaking glibc failures until the
workaround patches are landed.
Commit: 3a492abf05521467bc882094272d03c3eb6251c4
https://github.com/llvm/llvm-project/commit/3a492abf05521467bc882094272d03c3eb6251c4
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Add linearization pattern for vector.splat (#137651)
This PR is a breakdown [2 / 4] of the PR #136193
The PR adds linearization patterns for vector.splat.
Commit: 9400270449bc848fa8dd2a7575fc4fc102e34d0d
https://github.com/llvm/llvm-project/commit/9400270449bc848fa8dd2a7575fc4fc102e34d0d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-comparator-fix-vec-ops-compare.ll
Log Message:
-----------
[SLP]Fix comparator for vector operands of extractelements in PHICompare
Need to make comparator to follow strict-weak ordering to fix compiler
crashes.
Fixes #138178
Commit: faf4e8af74eec8dac4c7e55702227d7d9a82f93c
https://github.com/llvm/llvm-project/commit/faf4e8af74eec8dac4c7e55702227d7d9a82f93c
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/unittests/Basic/CMakeLists.txt
A clang/unittests/Basic/OffloadArchTest.cpp
Log Message:
-----------
[Clang][SYCL] Add initial set of Intel OffloadArch values (#138158)
Following #137070, this PR adds an initial set of Intel `OffloadArch`
values with corresponding predicates that will be used in SYCL
offloading. More Intel architectures will be added in a future PR.
Commit: 4efcc52ed839c4348c69a01538c7ecd399e4b113
https://github.com/llvm/llvm-project/commit/4efcc52ed839c4348c69a01538c7ecd399e4b113
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement Loop lowering of seq/auto/independent (#138164)
These just add a standard 'device_type' flag to the acc.loop, so
implement that lowering. This also modifies the dialect to add helpers
for these as well, to be consistent with the previous ones.
Commit: a76936f1c01c7cadbce8ea6553af758d0f614b6a
https://github.com/llvm/llvm-project/commit/a76936f1c01c7cadbce8ea6553af758d0f614b6a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/loop.cpp
Log Message:
-----------
[CIR] Upstream support for range-based for loops (#138176)
This upstreams the code needed to handle CXXForRangeStmt.
Commit: 472c211f58f4169fe18f7941bb6b519e5425e621
https://github.com/llvm/llvm-project/commit/472c211f58f4169fe18f7941bb6b519e5425e621
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add deps missing from 0009a1783490a8ff69251a0ec7df1891a427cfb0 to //mlir:AllExtensions
Commit: 7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
https://github.com/llvm/llvm-project/commit/7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Run PatchEntries pass before LongJmp (#137236)
With --force-patch option, every original function entry point is
overwritten with a trampoline to a new version of the function to
prevent the execution of the original code.
If the function size is too small for the trampoline code, we are forced
to bail out on rewriting the function. That presented a problem on
AArch64 due to LongJmp pass that assumed the presence of the new copy of
the function. If the new copy was not emitted it could have lead to a
relocation overflow.
Run PatchEntries pass before LongJmp and make the latter aware of the
functions that are not going to be emitted. Make --force-patch option
behavior on AArch64 consistent with other architectures.
Commit: cd6a614ef5a5b00899791520249b6fe11b5761dd
https://github.com/llvm/llvm-project/commit/cd6a614ef5a5b00899791520249b6fe11b5761dd
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after a073bb5afdb8715429d98ea80ecdef1390fb4962
Commit: b69957fa642635f769c3aa33a539f74497df0b4d
https://github.com/llvm/llvm-project/commit/b69957fa642635f769c3aa33a539f74497df0b4d
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
M lldb/test/Shell/ObjectFile/ELF/eh_frame-symbols.yaml
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
Log Message:
-----------
[lldb] Change synthetic symbol names to have file address (#137512)
Changes the default synthetic symbol names to contain their file address
Commit: 1b1e360b76d31fcd09b93b8c05be8a93dfea432b
https://github.com/llvm/llvm-project/commit/1b1e360b76d31fcd09b93b8c05be8a93dfea432b
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/test/Driver/uefi-constructed-args.c
Log Message:
-----------
[NFC][clang] No sharedlibs for UEFI (#137872)
There is no support for shared libraries for UEFI target. Remove the
incorrect -dll flag set from UEFI toolchain.
Commit: ed8d4fe0b1d8088bd1a4f99f77afe33f435ef668
https://github.com/llvm/llvm-project/commit/ed8d4fe0b1d8088bd1a4f99f77afe33f435ef668
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A mlir/test/Dialect/Vector/linearize-subject-to-bitwidth.mlir
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Separate bitwidth specific tests out (#138071)
In https://github.com/llvm/llvm-project/pull/136581 the logic pertaining
to bitwidth was removed from the patterns. This PR further factorizes
bitwidth logic out of the main test file.
The number of tests with bitwidth (in the new file added in this PR) is
now lower than before this PR. This is because this PR only tests the
bitwidth specific logic once (there was a fair amount of redundant
testing before).
I didn't do this test refactoring in
https://github.com/llvm/llvm-project/pull/136581 because I wanted to
make it clear that it was NFC by leaving the tests unchanged there
Commit: 1a44f38d2af8724e9819f03d4b76a50615217a8d
https://github.com/llvm/llvm-project/commit/1a44f38d2af8724e9819f03d4b76a50615217a8d
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][vector] Canonicalize/fold 'order preserving' transposes (#135841)
Handles special case where transpose doesn't permute any non-1
dimensions (and so is effectively a shape_cast) and is adjacent to a
shape_cast that it can fold into. For example
```
%1 = vector.transpose %0, [1, 0, 3, 2] : vector<4x1x1x6xf32> to vector<1x4x6x1xf32>
```
can be folded into an adjacent shape_cast. An alternative to this PR
would be to canonicalize such transposes to shape_casts directly, but I
think it'll be difficult getting consensus that shape_cast is 'more
canonical' than transpose, so this PR compromises with the less
opinionated claim that
1) shape_cast is more canonical than shape_cast(transpose)
2) shape_cast is more canonical than transpose(shape_cast)
The pattern `ConvertIllegalShapeCastOpsToTransposes` that is specific to
transposes with scalable dimensions reverses the canonicalization added
here, so I've I've disabled this canonicalization for scalable vectors
Commit: 471fe9c68948d339016d0c4aa66c116ff31e0516
https://github.com/llvm/llvm-project/commit/471fe9c68948d339016d0c4aa66c116ff31e0516
Author: jimingham <jingham at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/python_api/event/TestEvents.py
Log Message:
-----------
Fix TestEvents.py after: 4fdb8cb (#138211)
I changed the option name from at-first-stop (-F) to at-initial-stop
(-I) but missed one place in the testsuite.
Commit: aa6d541065ef755bea9c6ed2b3598f0664c10002
https://github.com/llvm/llvm-project/commit/aa6d541065ef755bea9c6ed2b3598f0664c10002
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Log Message:
-----------
[InstSimplify] Fold {u,s}{min,max} x, poison -> poison (#138166)
Following from the discussion in
https://github.com/llvm/llvm-project/pull/138095#discussion_r2070484664,
these intrinsics are poison if any of their operands are poison, and are
marked as such in propagatesPoison in ValueTracking.cpp.
This will help fold away leftover vectors produced by VectorCombine when
scalarizing intrinsics.
Commit: 4b1f1f77b0bd7085ecb8c9a431a3161666ec0f54
https://github.com/llvm/llvm-project/commit/4b1f1f77b0bd7085ecb8c9a431a3161666ec0f54
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lld/docs/ld.lld.1
Log Message:
-----------
ELF: Fix man page formatting.
Commit: 7f922f1400f00a73d1618e3f17556704c6b9436d
https://github.com/llvm/llvm-project/commit/7f922f1400f00a73d1618e3f17556704c6b9436d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
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/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#138186)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
New tentative with some fix. The previous was reverted yesterday.
Commit: 9b6b144438ccf371e51b578e642f2ce5d3aa89c8
https://github.com/llvm/llvm-project/commit/9b6b144438ccf371e51b578e642f2ce5d3aa89c8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
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/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "[flang][cuda] Use a reference for asyncObject" (#138221)
Reverts llvm/llvm-project#138186
Commit: feda31e0483c47cbef549c068aab1c60e7d10572
https://github.com/llvm/llvm-project/commit/feda31e0483c47cbef549c068aab1c60e7d10572
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Remove compatibility workaround for briefComment (#138135)
Remove a workaround that made cindex.py from LLVM 3.2 work with older
libclang.so versions
Commit: 2cae14fdc62a07252ad1c2c2b11678c4539416a6
https://github.com/llvm/llvm-project/commit/2cae14fdc62a07252ad1c2c2b11678c4539416a6
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
M lldb/test/Shell/ObjectFile/ELF/eh_frame-symbols.yaml
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
Log Message:
-----------
Revert "[lldb] Change synthetic symbol names to have file address (#137512)"
This reverts commit b69957fa642635f769c3aa33a539f74497df0b4d.
Commit: 44c4b4cef9d13ef91a771c45664dde643009f996
https://github.com/llvm/llvm-project/commit/44c4b4cef9d13ef91a771c45664dde643009f996
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/invalid-call.cir
Log Message:
-----------
[CIR] Upstream cir.call with scalar arguments (#136810)
This PR upstreams support for scalar arguments in `cir.call` operation.
Related to #132487 .
Commit: f46ff4c204b622029b02d0c7d4ed47ad162521e8
https://github.com/llvm/llvm-project/commit/f46ff4c204b622029b02d0c7d4ed47ad162521e8
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/AllocationOrder.h
Log Message:
-----------
[NFC][regalloc] Fix typo in llvm/lib/CodeGen/AllocationOrder.h.
Commit: 36541ec3ca7027aec87118262773b35964c0edec
https://github.com/llvm/llvm-project/commit/36541ec3ca7027aec87118262773b35964c0edec
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/lib/Parser/preprocessor.cpp
A flang/test/Preprocessing/pp048.F
Log Message:
-----------
[flang] Fix #else with trailing text (#138045)
Fixed the issue, where the extra text on #else line (' Z' in the example
below) caused the data from the "else" clause to be processed together
with the data of "then" clause.
```
#ifndef XYZ42
PARAMETER(A=2)
#else Z
PARAMETER(A=3)
#endif
end
```
Commit: 099a0fa3f2cf1a434e20b2fa97b6251088321467
https://github.com/llvm/llvm-project/commit/099a0fa3f2cf1a434e20b2fa97b6251088321467
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[MemProf] Add v4 which contains CalleeGuids to CallSiteInfo. (#137394)
This patch adds CalleeGuids to the serialized format and increments the version number to 4. The unit tests are updated to include a new test for v4 and the YAML format is also updated to be able to roundtrip the v4 format.
Commit: ade1203337d7453a51edc549e6dba61f1c5e54e3
https://github.com/llvm/llvm-project/commit/ade1203337d7453a51edc549e6dba61f1c5e54e3
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
Log Message:
-----------
[libclang/python] Add tests for equality operators. (#138132)
Adds tests for SourceRange, SourceLocation and Cursor.
This is a follow-up to #138074
Commit: 68fd69aca6c9d8129cd5dc27829a8abebea4cefc
https://github.com/llvm/llvm-project/commit/68fd69aca6c9d8129cd5dc27829a8abebea4cefc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PointerAuthDiscArgKind` to scoped enum
Commit: 09fb9adbd2a432a83e451ee9156faceb9d76e9aa
https://github.com/llvm/llvm-project/commit/09fb9adbd2a432a83e451ee9156faceb9d76e9aa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::NonTrivialCUnionContext` to scoped enum
Commit: 8089c3d1edf0f880415bfbc155571f4a43fcdf17
https://github.com/llvm/llvm-project/commit/8089c3d1edf0f880415bfbc155571f4a43fcdf17
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::NonTagKind` to scoped enum
Commit: ed673aac7aa78896ec55aa615e37432006c2830a
https://github.com/llvm/llvm-project/commit/ed673aac7aa78896ec55aa615e37432006c2830a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::OffsetOfKind` to scoped enum
Commit: 7e71db8463adfbaadbd28a6c0e8b807ff7075c3c
https://github.com/llvm/llvm-project/commit/7e71db8463adfbaadbd28a6c0e8b807ff7075c3c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AvailabilityMergeKind` to scoped enum
Commit: 35e743d4bf1960a9ea982227a6159325784c56b9
https://github.com/llvm/llvm-project/commit/35e743d4bf1960a9ea982227a6159325784c56b9
Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_ast_print.c
A clang/test/OpenMP/metadirective_default.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/OpenMP/metadirective_otherwise.cpp
Log Message:
-----------
default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#128640)
This PR replaces the `default` clause with the `otherwise` clause for
the `metadirective` in OpenMP. The `otherwise` clause serves as a
fallback condition when no directive from the when clauses is selected.
In the `when` clause, context selectors define traits evaluated to
determine the directive to be applied.
The previous merge was reverted due to a failing test case, which has
now been resolved.
---------
Co-authored-by: urvi-rav <urvi.rav at hpe.com>
Commit: 8f06f5dca05f8c63caf4cfc171b59ce673afecec
https://github.com/llvm/llvm-project/commit/8f06f5dca05f8c63caf4cfc171b59ce673afecec
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/test/Lower/volatile-openmp.f90
Log Message:
-----------
[flang] update LIT test for AIX (NFC) (#138228)
Commit: ae344408348a5c3ff6ccdbc675c401ea83d8a708
https://github.com/llvm/llvm-project/commit/ae344408348a5c3ff6ccdbc675c401ea83d8a708
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Make DXILOpLowering responsible for cleaning up dead intrinsics (#138199)
This moves the responsibility for cleaning up dead intrinsics from
DXILFinalizeLinkage to DXILOpLowering, and moves DXILFinalizeLinkage
back to it's pre-#136244 place in the pipeline. Doing this avoids issues
with DXIL passes running on obviously dead code, and makes it more clear
what DXILFinalizeLinkage is really doing.
This also helps with the story for #134260, as cleaning up dead
intrinsics doesn't make sense if this becomes a more generic pass.
Note that test/CodeGen/DirectX/remove-dead-intriniscs.ll already covers
most of the testing here. It'd be nice to have something that catches
the regression from changing the pass ordering but I couldn't come up
with anything that wouldn't be incredibly fragile.
Fixes #138180.
Commit: 6f39995da24d1eb5a8efc40531abff3054f2b6bf
https://github.com/llvm/llvm-project/commit/6f39995da24d1eb5a8efc40531abff3054f2b6bf
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] Ensure fmaximum/fminimum is defined in mlir/Dialect/LLVMIR/LLVMEnums.td (#138198)
Fix a compile error (with LLVM_ENABLE_WERROR=On) when building
`bin/flang`:
```
enumeration values 'FMaximum' and 'FMinimum' not handled in switch
```
caused by adding new LLVM IR instructions in #137701.
This wasn't picked up by the auto CI builders on GitHub, so I hadn't
realised until @kazutakahirata notified me about it.
Commit: 630a0ff2c25c4ced739b1c07633097ccbf182cd6
https://github.com/llvm/llvm-project/commit/630a0ff2c25c4ced739b1c07633097ccbf182cd6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::TrivialABIHandling` to scoped enum
Commit: 32adf2c3601fd766d98410336bdcc9df6224e07b
https://github.com/llvm/llvm-project/commit/32adf2c3601fd766d98410336bdcc9df6224e07b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Rename New Premerge Jobs (#138024)
This patch renames the new premerge job as suggested in
https://discourse.llvm.org/t/github-ci-notifications-and-main-branch/85868/10.
This uses more industry standard terms (like CI vs premerge checks which
might be somewhat of a LLVM CI idiom?) and makes it more generic if we
end up doing postcommit testing through Github.
Commit: be6497ff7583248d76a6710dd48cfeb63dd68f27
https://github.com/llvm/llvm-project/commit/be6497ff7583248d76a6710dd48cfeb63dd68f27
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::TryCaptureKind` to scoped enum
Commit: 048befe9ef7edab3580a922d69664b21e2a532fa
https://github.com/llvm/llvm-project/commit/048befe9ef7edab3580a922d69664b21e2a532fa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
Revert "[clang][NFC] Convert `Sema::TryCaptureKind` to scoped enum"
This reverts commit be6497ff7583248d76a6710dd48cfeb63dd68f27.
Commit: 0294c3615c5dcb5eee140bd3fa9ba3c084e1836f
https://github.com/llvm/llvm-project/commit/0294c3615c5dcb5eee140bd3fa9ba3c084e1836f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Reland "Convert `Sema::TryCaptureKind` to scoped enum"
Commit: aea2f6f69cd256d85a0d3986c0e72181bb5247ab
https://github.com/llvm/llvm-project/commit/aea2f6f69cd256d85a0d3986c0e72181bb5247ab
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
Log Message:
-----------
[Clang] incorrect assertion when checking template template parameter of a lambda (#138121)
When a lambda is used in an alias declaration, we were trying to refer
to its call operator. However, that could happen before (or during) the
call operator is defined.
So we should not assume a lambda always has a call operator.
Fixes #136432
Fixes #137014
Fixes #138018
Commit: b4ab53c3b04787f430c2e3484998951c48b05968
https://github.com/llvm/llvm-project/commit/b4ab53c3b04787f430c2e3484998951c48b05968
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[Target] Use llvm::max_element (NFC) (#137926)
Commit: 8b752b9874489229e4afceadd958fdc9ff7a2edb
https://github.com/llvm/llvm-project/commit/8b752b9874489229e4afceadd958fdc9ff7a2edb
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[clang] Add test for QualTypes in template class NNS (#137804)
Recently commit dc17429ae6 removed some code related to template
arguments in NestedNameSpecifier::print that would not pass on the
TemplateParameterList. This would cause printIntegral to add type
suffixes for the unsigned parameter, but only for the prefix. Add a
regression test to prevent such problems from coming back.
Commit: 3f367a65d31a7178e222a7babae7baa0a93ff292
https://github.com/llvm/llvm-project/commit/3f367a65d31a7178e222a7babae7baa0a93ff292
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.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
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
Log Message:
-----------
[CIR] Refactor IntType constraints (#138106)
- Adds `CIR_` prefixes to integer type constraints types to disambiguate their names from other dialects.
- Renames `PrimitiveInt` to `CIR_AnyFundamentalIntType` to align more with constrian conventions.
- Adds bunch of helper constraint classes to be able to define base types to reduce clutter of necessary type casts.
- Reworks constraints to use `CIR_ConfinedType` to avoid repeating validation checks.
- Adds `IntOfWidths` variadic bitwidth constraint to reduce boilerplate code needed to handle multi-bitwidth parameters.
- Constraints are moved into a separate file, which starts decoupling of constraints and types to remove the cyclic dependency between types and attributes and will eventually help fix several outstanding TODOs.
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1593
Commit: ff28e1a5a92da380c2869aba09971687c26d2f0f
https://github.com/llvm/llvm-project/commit/ff28e1a5a92da380c2869aba09971687c26d2f0f
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/IR/invalid-long-double.cir
Log Message:
-----------
[CIR] Refactor floating point type constraints (#138112)
- This cleans up moves cir floating point type constraints to dedicated constraints file, and fixes long double verifier to use constraints directly.
- Renames `CIR_AnyFloat` to `CIR_AnyFloatType`.
This mirrors inbubator changes from https://github.com/llvm/clangir/pull/1594
Commit: 4109bac3301eb7b7033eec3c8e8107be8cad9bc9
https://github.com/llvm/llvm-project/commit/4109bac3301eb7b7033eec3c8e8107be8cad9bc9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress.ll
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
M llvm/tools/llvm-reduce/deltas/Utils.h
M mlir/test/Target/LLVMIR/Import/blockaddress.ll
Log Message:
-----------
[IR] Do not store Function inside BlockAddress (#137958)
Currently BlockAddresses store both the Function and the BasicBlock they
reference, and the BlockAddress is part of the use list of both the
Function and BasicBlock.
This is quite awkward, because this is not really a use of the function
itself (and walks of function uses generally skip block addresses for
that reason). This also has weird implications on function RAUW (as that
will replace the function in block addresses in a way that generally
doesn't make sense), and causes other peculiar issues, like the ability
to have multiple block addresses for one block (with different
functions).
Instead, I believe it makes more sense to specify only the basic block
and let the function be implied by the BB parent. This does mean that we
may have block addresses without a function (if the BB is not inserted),
but this should only happen during IR construction.
Commit: 140c2b6d081b781b19f50bf1c4fbf4b17bfacdc1
https://github.com/llvm/llvm-project/commit/140c2b6d081b781b19f50bf1c4fbf4b17bfacdc1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AllowFoldKind` to scoped enum
Commit: a8ec6e8788832cff77ec855a2331438c937fb5da
https://github.com/llvm/llvm-project/commit/a8ec6e8788832cff77ec855a2331438c937fb5da
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/global-initializer-sized.ll
M llvm/test/Verifier/scalable-global-vars.ll
Log Message:
-----------
[IR] Require that global value initializers are sized (#137358)
While external globals can be unsized, I don't think an unsized
initializer makes sense.
It seems like the backend currently ends up treating this as a zero-size
global. If people want that behavior, they should declare it as such.
Commit: f66f2fe0e5be6dc6eb3ef4d42af8692f9adcdc80
https://github.com/llvm/llvm-project/commit/f66f2fe0e5be6dc6eb3ef4d42af8692f9adcdc80
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/cygwin-symbols.s
Log Message:
-----------
[LLD][COFF] add __{data,bss}_{start,end}__ symbols for Cygwin support (#136180)
Cygwin requires these symbols for its fork emulation to know what data
to copy into the child. GNU ld defines these symbols for MinGW targets
also, so do the same here.
Cygwin also has the `.data_cygwin_nocopy` section, which is merged into
`.data` outside the `__data_start__` to `__data_end__` range. This
excludes it from fork's copying. AFAIK it's only used by the Cygwin DLL
itself (which requires a custom linker script to link, that's not
supported by LLD), but the section is included in GNU ld's default
linker script so handle it here too.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 592243c1cb3ea53b34033132a87b0d14af9d1079
https://github.com/llvm/llvm-project/commit/592243c1cb3ea53b34033132a87b0d14af9d1079
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Support/Compiler.h
Log Message:
-----------
[Clang][Cygwin] Fix symbol visibility definition (#138118)
Currently building for Cygwin hits this error:
```
In file included from /h/projects/llvm-project/clang/lib/Basic/Attributes.cpp:17:
/h/projects/llvm-project/clang/include/clang/Basic/ParsedAttrInfo.h:180:73: error: invalid declarator before ‘;’ token
180 | extern template class CLANG_TEMPLATE_ABI Registry<clang::ParsedAttrInfo>;
```
That's because `CLANG_TEMPLATE_ABI` ends up not being defined. The
solution here is to follow MinGW case.
Commit: db247ddc9d5411ace70b478f7119eb44a43a8e5c
https://github.com/llvm/llvm-project/commit/db247ddc9d5411ace70b478f7119eb44a43a8e5c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::ArithConvKind` to scoped enum
Commit: 9bc20fbbadb18a1c3415d4442066ed35a6bcc175
https://github.com/llvm/llvm-project/commit/9bc20fbbadb18a1c3415d4442066ed35a6bcc175
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/tools/CMakeLists.txt
M clang/tools/libclang/CMakeLists.txt
Log Message:
-----------
[Clang][Cygwin] Disable shared libs on Cygwin by default (#138119)
This change follows MinGW decisions, otherwise build with GCC fail with:
```
FAILED: bin/msys-clang-cpp-21.0git.dll lib/libclang-cpp.dll.a
...
/usr/lib/gcc/x86_64-pc-msys/13.3.0/../../../../x86_64-pc-msys/bin/ld: error: export ordinal too large: 92250
```
Co-authored-by: jeremyd2019 <github at jdrake.com>
Commit: 8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3
https://github.com/llvm/llvm-project/commit/8a84a19cf9ccbc1d0878f51b0466dc3a3b93dbe3
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Support/Unix/Signals.inc
Log Message:
-----------
[LLVM][Cygwin] Fix Signals compatibility with Cygwin API (#138117)
Cygwin types sometimes do not match Linux exactly. Like in this case:
```
In file included from /h/projects/llvm-project/llvm/include/llvm/Support/Error.h:23,
from /h/projects/llvm-project/llvm/include/llvm/Support/FileSystem.h:34,
from /h/projects/llvm-project/llvm/lib/Support/Signals.cpp:22:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h: In instantiation of ‘llvm::format_object<Ts>::format_object(const char*, const Ts& ...) [with Ts = {int, char [4096]}]’:
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:126:10: required from ‘llvm::format_object<Ts ...> llvm::format(const char*, const Ts& ...) [with Ts = {int, char [4096]}]’
/h/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:850:19: required from here
/h/projects/llvm-project/llvm/include/llvm/Support/Format.h:106:34: error: no matching function for call to ‘std::tuple<int, char [4096]>::tuple(const int&, const char [4096])’
106 | : format_object_base(fmt), Vals(vals...) {
| ^~~~~~~~~~~~~
```
Casting here is safe and solves the issue.
Commit: 68bfe91b5a34f80dbcc4f0a7fa5d7aa1cdf959c2
https://github.com/llvm/llvm-project/commit/68bfe91b5a34f80dbcc4f0a7fa5d7aa1cdf959c2
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[llvm] X86_64 CC for UEFI (#137905)
Select appropriate registers for X86_64 UEFI.
Commit: abe93fe7c88c477343c884036982ddc15f820425
https://github.com/llvm/llvm-project/commit/abe93fe7c88c477343c884036982ddc15f820425
Author: Mateusz Mikuła <oss at mateuszmikula.dev>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/tools/libclang/CIndexer.cpp
Log Message:
-----------
[Clang][Cygwin] Remove erroneous _WIN32 define and clean up Cygwin code (#138120)
With this define present and building with Clang the build fails:
```
In file included from /h/projects/llvm-project/clang/tools/libclang/CIndexer.cpp:36:
In file included from /usr/include/w32api/windows.h:69:
In file included from /usr/include/w32api/windef.h:9:
In file included from /usr/include/w32api/minwindef.h:163:
In file included from /usr/include/w32api/winnt.h:1658:
In file included from /usr/lib/clang/20/include/x86intrin.h:15:
In file included from /usr/lib/clang/20/include/immintrin.h:24:
In file included from /usr/lib/clang/20/include/xmmintrin.h:31:
/usr/lib/clang/20/include/mm_malloc.h:45:22: error: use of undeclared identifier '_aligned_malloc'; did you mean 'aligned_alloc'?
45 | __mallocedMemory = _aligned_malloc(__size, __align);
| ^
```
Removing it allows the build with Clang to succeed and doesn't break
build with GCC.
The "#define _WIN32" was originally "#define LLVM_ON_WIN32", but this
was changed into a plain "#define _WIN32" (which not necessarily is
something that is supported to do) in
1865df49960e34cc90d0083b0e0cd4771c0feb35 as part of a larger
refactoring.
This cygwin specific code isn't needed for converting paths anymore, as
dladdr takes care of it. (dladdr was added to cygwin in 2017, according
to the tags in version 2.8.0.)
Co-authored-by: Jeremy Drake <github at jdrake.com>
Commit: df344285e260109e016e28a14e663f376d8e903c
https://github.com/llvm/llvm-project/commit/df344285e260109e016e28a14e663f376d8e903c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/test/Assembler/convergence-control.ll
A llvm/test/Transforms/ADCE/convergence.ll
A llvm/test/Transforms/BDCE/convergence.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Verifier/convergencectrl-invalid.ll
Log Message:
-----------
[IR] Relax convergence requirements on call (#135794)
Before this commit, having a convergence token on a non-convergent call
was considered to be an error.
This commit relaxes this requirement and allows convergence tokens to be
present on non-convergent calls.
When such token is present, they have no effect as the underlying call
is non-convergent.
This allows passes like DCE to strip `convergent` attribute from
functions for which all convergent operations have been stripped. When
this happens, a convergence token can still exist in the call-site,
causing the verifier to complain.
Alternatives have been considered in #134863 and #134844.
Commit: d0dcfd4c68171c3b9b863626c08efa7f38cd0c54
https://github.com/llvm/llvm-project/commit/d0dcfd4c68171c3b9b863626c08efa7f38cd0c54
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::VarArgKind` to scoped enum
Commit: aa10f879dcbb3a08698d8c956de9cdf3b03def66
https://github.com/llvm/llvm-project/commit/aa10f879dcbb3a08698d8c956de9cdf3b03def66
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
Log Message:
-----------
llvm-reduce: Fix trailing whitespace in command guide (#138240)
Commit: df264170f7f83530e03fb1ac22b3241797e86fe4
https://github.com/llvm/llvm-project/commit/df264170f7f83530e03fb1ac22b3241797e86fe4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
M llvm/test/Transforms/ObjCARC/provenance.ll
Log Message:
-----------
[ObjC][ProvenanceEval] Only evaluate pointers (#136876)
I believe this pass should only be calling PA.related() on pointer
arguments -- the operation is not really meaningful for non-pointers.
I've adjusted the test to use ptr loads instead of i8 loads, which I
believe aligns with how these special globals would actually be used,
and which is probably what this was intending to test.
Ran into this while trying to eliminate illegal non-pointer AA queries.
Commit: daa4061d61216456baa83ab404e096200e327fb4
https://github.com/llvm/llvm-project/commit/daa4061d61216456baa83ab404e096200e327fb4
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
R lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
R lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
R lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
R lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
Revert "[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)"
And a follow up warning fix.
This reverts commit 6aa963f780d63d4c8fa80de97dd79c932bc35f4e
and 2bff80f25d51e24d3c552e033a2863dd36ef648b.
This is failing on Windows on Arm: https://lab.llvm.org/buildbot/#/builders/141/builds/8375
Seems to produce the line the test wants but not in the right place.
Reverting while I investigate.
Commit: 40edb37bb370541b71657fc308ba26b1ec2deb16
https://github.com/llvm/llvm-project/commit/40edb37bb370541b71657fc308ba26b1ec2deb16
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/StackSlotColoring.cpp
Log Message:
-----------
[StackSlotColoring] Fix issue where colors for a StackID are dropped (#138140)
In InitializeSlots, if an interval with a non-zero StackID (A) is
encountered we set All/UsedColors to a size of A + 1. If after this we
process another interval with a non-zero StackID (B), where B < A, then
we resize All/UsedColors to size < A + 1, and lose the BitVector
associated with A.
AFAIK this is a latent bug upstream, but when adding a new TargetStackID
locally I hit a `NextColors[StackID] != -1 && "No more spill slots?"`
assertion due to this issue.
Commit: ff8060a642377a17a1dfadb865634583cde4e097
https://github.com/llvm/llvm-project/commit/ff8060a642377a17a1dfadb865634583cde4e097
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AssignConvertType` to scoped enum
Commit: 461255e0c17265141009437ba3887f49f9838a40
https://github.com/llvm/llvm-project/commit/461255e0c17265141009437ba3887f49f9838a40
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::AllocationFunctionScope` to scoped enum
Commit: f7fdc8d0cf7cd5caa7d463e1e80e0d5a08c71bb2
https://github.com/llvm/llvm-project/commit/f7fdc8d0cf7cd5caa7d463e1e80e0d5a08c71bb2
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
[llvm][Support] Disable runOnNewStack test when threading is disabled
On our buildbot https://lab.llvm.org/buildbot/#/builders/122/builds/1478,
one of the new tests added by https://github.com/llvm/llvm-project/pull/136046
failed.
This is because on non-Apple Silicon platforms, the implementation
is to start a new thread, but when threading is disabled this is the
same as calling a function normally.
Commit: c0917ab2e1cf603c3746f519fe1826869767bd8b
https://github.com/llvm/llvm-project/commit/c0917ab2e1cf603c3746f519fe1826869767bd8b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `Sema::IfExistsResult` to scoped enum
Commit: 4ba27780d34916d4a856e6593035b15a5cace56e
https://github.com/llvm/llvm-project/commit/4ba27780d34916d4a856e6593035b15a5cace56e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::CorrectTypoKind` to scoped enum
Commit: 083b4a3d66c2d3e87b9b35104b59e07a004b5d3e
https://github.com/llvm/llvm-project/commit/083b4a3d66c2d3e87b9b35104b59e07a004b5d3e
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
A llvm/test/CodeGen/SystemZ/mcount.ll
Log Message:
-----------
[SystemZ] Add proper mcount handling (#135767)
When compiling with `-pg`, the `EntryExitInstrumenterPass` will insert
calls to the glibc function `mcount` at the begining of each
`MachineFunction`.
On SystemZ, these calls require special handling:
- The call to `mcount` needs to happen at the beginning of the prologue.
- Prior to the call to `mcount`, register `%r14`, the return address of
the callee function, must be stored 8 bytes above the stack pointer
`%r15`. After the call to `mcount` returns, that register needs to be
restored.
This commit adds some special handling to the EntryExitInstrumenterPass
that keeps the insertion of the mcount function into the module, but
skips over insertion of the actual call in order to perform this
insertion in the `emitPrologue` function. There, a simple sequence of
store/call/load is inserted, which implements the above.
The desired change in the `EntryExitInstrumenterPass` necessitated the
addition of a new attribute and attribute kind to each function, which
is used to trigger the postprocessing, aka call insertion, in
`emitPrologue`. Note that the new attribute must be of a different kind
than the `mcount` atribute, since otherwise it would replace that
attribute and later be deleted by the code that intended to delete
`mcount`. The new attribnute is called `insert-mcount`, while the
attribute kind is `systemz-backend`, to clearly mark it as a
SystemZ-specific backend concern.
This PR should address issue #121137 . The test inserted here is derived
from the example given in that issue.
Commit: 6e63b68389983194b5007d8d489e74d1ffcea500
https://github.com/llvm/llvm-project/commit/6e63b68389983194b5007d8d489e74d1ffcea500
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::OverloadKind` to scoped enum
Commit: e4d9be3d1205ddcdc131658409fcfa0f76aa1317
https://github.com/llvm/llvm-project/commit/e4d9be3d1205ddcdc131658409fcfa0f76aa1317
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
Log Message:
-----------
[Clang][AArch64] make bitperm intrinsics available in streaming mode (#129700)
Based on recent changes in armv9.6 BitPerm instructions and thus
intrinsics are available in streaming mode when
[FEAT_SSVE_BitPerm](https://developer.arm.com/documentation/109697/2024_12/Feature-descriptions/The-Armv9-6-architecture-extension?lang=en#md463-the-armv96-architecture-extension__feat_FEAT_SSVE_BitPerm)
is available. This patch reflects this change and is based on [ACLE
proposal](https://github.com/ARM-software/acle/pull/385).
Commit: 8b56fb7a705a368c691b203a430009342b440886
https://github.com/llvm/llvm-project/commit/8b56fb7a705a368c691b203a430009342b440886
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
Log Message:
-----------
[X86] Check for AMXTile in asserting (#136507)
Assert if hasAMXTILE is false.
Commit: cf2f13a867fb86b5c7ce33df8a569477dce71f4f
https://github.com/llvm/llvm-project/commit/cf2f13a867fb86b5c7ce33df8a569477dce71f4f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::CCEKind` to scoped enum
Commit: 7f5c34bc5e54e0fb149275d9ee6805e9e6a7a3ea
https://github.com/llvm/llvm-project/commit/7f5c34bc5e54e0fb149275d9ee6805e9e6a7a3ea
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[IR] Replace blockaddress refcount with single flag (#138239)
BasicBlock currently has a blockaddress refcount. However,
blockaddresses are uniqued, which means that there can only be a single
blockaddress for a given BasicBlock. Prior to #137958 there were some
edge case exceptions to this, but now it always holds. As such, replace
the refcount with a single flag.
As we're now just tracking two bits, I've dropped the BasicBlockBits
structure, as I found it more annoying than useful (esp with the weird
AIX workarounds). Instead handle the subclass data the same way we do in
Operators.
Commit: 3d4f979e271d2a1fe0906f4d1b16db108838f98f
https://github.com/llvm/llvm-project/commit/3d4f979e271d2a1fe0906f4d1b16db108838f98f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Allow __attribute__((nonstring)) on multidimensional arrays (#138133)
This addresses post-commit review feedback from the Linux kernel folks
and improves compatibility with the same feature in GCC
Commit: 85c810060e1a2a90dc4ec184b4c4275db17ef28f
https://github.com/llvm/llvm-project/commit/85c810060e1a2a90dc4ec184b4c4275db17ef28f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/OpenMP/assumes_messages.c
A clang/test/Sema/c++-keyword-in-c.c
A clang/test/Sema/c++-keyword-in-objc.m
Log Message:
-----------
[C] Diagnose use of C++ keywords in C (#137234)
This adds a new diagnostic group, -Wc++-keyword, which is off by default
and grouped under -Wc++-compat. The diagnostic catches use of C++
keywords in C code.
This change additionally fixes an issue with -Wreserved-identifier not
diagnosing use of reserved identifiers in function parameter lists in a
function declaration which is not a definition.
Fixes https://github.com/llvm/llvm-project/issues/21898
Commit: 72f5ac442da0e4af3a856d11f2c6dfd1c790998d
https://github.com/llvm/llvm-project/commit/72f5ac442da0e4af3a856d11f2c6dfd1c790998d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Stop setting intermediate cloned function names
The name will be stolen from the original function, so there's
no point in setting an initial suffixed name.
Commit: da3022577e1f277999922acaef9be169c20dfd48
https://github.com/llvm/llvm-project/commit/da3022577e1f277999922acaef9be169c20dfd48
Author: William <113542065+saturn691 at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/string/memory_utils/aarch64/inline_bcmp.h
M libc/src/string/memory_utils/aarch64/inline_memcmp.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/op_aarch64.h
Log Message:
-----------
[libc] Add support for string/memory_utils functions for AArch64 without HW FP/SIMD (#137592)
Add conditional compilation to add support for AArch64 without vector
registers and/or hardware FPUs by using the generic implementation.
**Context:**
A few functions were hard-coded to use vector registers/hardware FPUs.
This meant that libc would not compile on architectures that did not
support these features. This fix falls back on the generic
implementation if a feature is not supported.
Commit: f33dc8e4388cb1cc6a9212bc0618542c80b5c1ee
https://github.com/llvm/llvm-project/commit/f33dc8e4388cb1cc6a9212bc0618542c80b5c1ee
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/test/Sema/warn-duplicate-decl-specifier.c
Log Message:
-----------
Add additional test coverage
Test was requested via post-commit review
Commit: 74ca51eac39dbed18dbcbcd0f00b50562b90361f
https://github.com/llvm/llvm-project/commit/74ca51eac39dbed18dbcbcd0f00b50562b90361f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[NFC][TableGen] Use private inheritance for TrailingObjects (#138027)
- Use private inheritance for `TrailingObjects` as suggested in the
documentation for `TrailingObjects` class.
- Move std::uninitialized_copy calls from various `get` functions to the
constructors of respective classes.
- Eliminate `NumArgNames` from `DagInit`. Its always equal to `NumArgs`.
- Eliminate unused `name_size/name_empty` from `DagInit`.
Commit: 9060ca01913776cbed78b03e72d7700adc2201b7
https://github.com/llvm/llvm-project/commit/9060ca01913776cbed78b03e72d7700adc2201b7
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
Log Message:
-----------
[AMDGPU] Check for nonnull loads feeding addrspacecast (#138184)
Handle nonnull loads just like nonnull arguments when checking for
addrspacecasts that are known never null.
Commit: 5060f08c3a98c2e4976d7ec380d9d8ea1888a68c
https://github.com/llvm/llvm-project/commit/5060f08c3a98c2e4976d7ec380d9d8ea1888a68c
Author: John Brawn <john.brawn at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Use pattern to select bf16 fpextend (#137212)
Currently bf16 fpextend is lowered to a vector shift. Instead leave it
as fpextend and have an instruction selection pattern which selects to a
shift later. Doing this means that DAGCombiner patterns for fpextend
will be applied, leading to better codegen. It also means that in some
situations we use a mov instruction where we previously have a dup
instruction, but I don't think this makes any difference.
Commit: 41035f4aa8139353a532509e5d4406dbb07446ac
https://github.com/llvm/llvm-project/commit/41035f4aa8139353a532509e5d4406dbb07446ac
Author: Ivan Ho <ivan.ho at cl.cam.ac.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/CMakeLists.txt
A mlir/cmake/modules/IRDLToCpp.cmake
M mlir/cmake/modules/MLIRConfig.cmake.in
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/InitAllTranslations.h
A mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
A mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Target/CMakeLists.txt
A mlir/lib/Target/IRDLToCpp/CMakeLists.txt
A mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
A mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/Header.txt
A mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
A mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
A mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
A mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
A mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
A mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
A mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
A mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
A mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
A mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
M mlir/test/tblgen-to-irdl/TestDialect.td
A mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
A mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][IRDL] Added IRDL to C++ Translation (#133982)
This PR introduces a new tool, mlir-irdl-to-cpp, that converts IRDL to
C++ definitions.
The C++ definitions allow use of the IRDL-defined dialect in MLIR C++
infrastructure, enabling the use of conversion patterns with IRDL
dialects for example. This PR also adds CMake utilities to easily
integrate the IRDL dialects into MLIR projects.
Note that most IRDL features are not supported. In general, we are only
able to define simple types and operations.
- The only type constraint supported is `irdl.any`.
- Variadic operands and results are not supported.
- Verifiers for the IRDL constraints are not generated.
- Attributes are not supported.
---------
Co-authored-by: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Commit: 26a1366380796f95f308faab5010b019c4b75b10
https://github.com/llvm/llvm-project/commit/26a1366380796f95f308faab5010b019c4b75b10
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/lang/cpp/dynamic-value/Makefile
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/dynamic-value/a.h
A lldb/test/API/lang/cpp/dynamic-value/forward-a.cpp
M lldb/test/API/lang/cpp/dynamic-value/pass-to-base.cpp
Log Message:
-----------
[lldb] Fix dynamic type resolution for types parsed from declarations (#137974)
This fixes a regression caused by us starting to parse types from
declarations. The code in TypeSystemClang was assuming that the value
held in ClangASTMetadata was authoritative, but this isn't (and cannot)
be the case when the type is parsed from a forward-declaration.
For the fix, I add a new "don't know" state to ClangASTMetadata, and
make sure DWARFASTParserClang sets it only when it encounters a forward
declaration. In this case, the type system will fall back to completing
the type.
This does mean that we will be completing more types than before, but
I'm hoping this will offset by the fact that we don't search for
definition DIEs eagerly. In particular, I don't expect it to make a
difference in -fstandalone-debug scenarios, since types will nearly
always be present as definitions.
To avoid this cost, we'd need to create some sort of a back channel to
query the DWARFASTParser about the dynamicness of the type without
actually completing it. I'd like to avoid that if it is not necessary.
Commit: cffb8aee140ce0c022060941b7b60025dd70395c
https://github.com/llvm/llvm-project/commit/cffb8aee140ce0c022060941b7b60025dd70395c
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/DebugInfo/NVPTX/debug-bool-var.ll
Log Message:
-----------
[DEBUGINFO] Propagate debug metadata for sext SDNode. (#135971)
In some cases of chained `sext` operators the debug metadata can be
missed. This patch propagates proper metadata to resulting node.
Particular case of issue is NVPTX codegen for function with bool local
variable:
```
void test(int i) {
bool xyz = i == 0;
foo(i);
}
```
---------
Signed-off-by: Alexander Peskov <apeskov at nvidia.com>
Commit: f6ac5276ee364b3b22ce746439e0ce3224dc9091
https://github.com/llvm/llvm-project/commit/f6ac5276ee364b3b22ce746439e0ce3224dc9091
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
Log Message:
-----------
[Offload] Ensure all `llvm::Error`s are handled (#137339)
`llvm::Error`s containing errors must be explicitly handled or an assert
will be raised. With this change, `ol_impl_result_t` can accept and
consume an `llvm::Error` for errors raised by PluginInterface that have
multiple causes and other places now call `llvm::consumeError`.
Note that there is currently no facility for PluginInterface to
communicate exact error codes, but the constructor is designed in
such a way that it can be easily added later. This MR is to
convert a crash into an error code.
A new test was added, however due to the aforementioned issue with
error codes, it does not pass and instead is marked as a skip.
Commit: 7d01b85c2a0aa8bc91f731cfeb2a7b6885b8d04a
https://github.com/llvm/llvm-project/commit/7d01b85c2a0aa8bc91f731cfeb2a7b6885b8d04a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
Reland "[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)"
This reverts commit daa4061d61216456baa83ab404e096200e327fb4.
Original PR https://github.com/llvm/llvm-project/pull/129092.
I have restricted the test to X86 Windows because it turns out the only
reason that `expr x.get()` would change m_memory_id is that on x86 we
have to write the return address to the stack in ABIWindows_X86_64::PrepareTrivialCall:
```
// Save return address onto the stack
if (!process_sp->WritePointerToMemory(sp, return_addr, error))
return false;
```
This is not required on AArch64 so m_memory_id was not changed:
```
(lldb) expr x.get()
(int) $0 = 0
(lldb) process status -d
Process 15316 stopped
* thread #1, stop reason = Exception 0x80000003 encountered at address 0x7ff764a31034
frame #0: 0x00007ff764a31038 TestProcessModificationIdOnExpr.cpp.tmp`main at TestProcessModificationIdOnExpr.cpp:35
32 __builtin_debugtrap();
33 __builtin_debugtrap();
34 return 0;
-> 35 }
36
37 // CHECK-LABEL: process status -d
38 // CHECK: m_stop_id: 2
ProcessModID:
m_stop_id: 3
m_last_natural_stop_id: 0
m_resume_id: 0
m_memory_id: 0
```
Really we should find a better way to force a memory write here, but
I can't think of one right now.
Commit: 543f112e148a81de290d099f10784dc3ff698aa4
https://github.com/llvm/llvm-project/commit/543f112e148a81de290d099f10784dc3ff698aa4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/warn-jump-bypasses-init.c
Log Message:
-----------
[C] Add -Wjump-bypasses-init (#138009)
We already diagnose when a jump bypasses initialization in C++ because
such code is ill-formed there. However, we were not using this to
diagnose those same jumps in C.
-Wjump-bypasses-init is grouped under -Wc++-compat and diagnoses this
situation as a compatibility issue with C++. This diagnostic is off by
default.
The diagnostic could perhaps be enabled by default for C, but due to the
design of jump diagnostic handling, it not a trivial task. For now,
we'll add the diagnostic as off-by-default so we get incremental
improvement, but a follow-up could try to refactor jump diagnostics so
we can enable this by default in C and have it as a C++ compatibility
diagnostic as well.
Commit: a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
https://github.com/llvm/llvm-project/commit/a4ceac7e3e04c32cb3e334eb89b54d8e99a298f8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/ASTMerge/struct/test.c
A clang/test/C/C23/n3037.c
A clang/test/C/C23/n3037_1.c
M clang/test/C/drs/dr1xx.c
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/www/c_status.html
Log Message:
-----------
[C23] Implement WG14 N3037 (#132939)
This changes the type compatibility rules so that it is permitted to
redefine tag types within the same TU so long as they are equivalent
definitions.
It is intentionally not being exposed as an extension in older C
language modes. GCC does not do so and the feature doesn't seem
compelling enough to warrant it.
Commit: 98e31b75f1ad7bd838d11b1ab5f610965ed6e64e
https://github.com/llvm/llvm-project/commit/98e31b75f1ad7bd838d11b1ab5f610965ed6e64e
Author: David Green <david.green at arm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Cleanup SDValue(N,0) to Op in tablegen PatFrag. NFC
Commit: 0b2ab11321d2b400987e9ade28a221dff67aea7d
https://github.com/llvm/llvm-project/commit/0b2ab11321d2b400987e9ade28a221dff67aea7d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Basic/IdentifierTable.cpp
Log Message:
-----------
Simplify implementation; NFC
Suggestion came via post-commit review feedback
Commit: e66592509b7d56c8a6db8883be2257325f1d7b56
https://github.com/llvm/llvm-project/commit/e66592509b7d56c8a6db8883be2257325f1d7b56
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/lib/IR/Function.cpp
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return-nonvoid-noncallee-use.ll
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return.ll
M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
M llvm/test/tools/llvm-reduce/reduce-operands-int.ll
M llvm/test/tools/llvm-reduce/reduce-operands-ptr.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.h
Log Message:
-----------
llvm-reduce: Add values to return reduction (#132686)
In void functions, try to replace instruction uses
with a new non-void return. If the return type matches
the instruction, also try to directly return it.
This handles most of the cases, but doesn't try to handle
all of the weird exception related terminators.
Also doesn't try to replace argument uses, although it could. We
could also handle cases where we can insert a simple cast to an
original return value. I didn't think too hard about where to put this
in the default pass order. In many cases it obviates the need for most
of the CFG folds, but I've left it near the end initially.
I also think this is too aggressive about removing dead code, and
should leave existing dead code alone. I'm also not sure why we have
both "removeUnreachableBlocks" and EliminateUnreachableBlocks" in Utils.
Fixes #66039, fixes #107327
Commit: aa4b44e69979b12d85e2b88cd8c924ce2e800b96
https://github.com/llvm/llvm-project/commit/aa4b44e69979b12d85e2b88cd8c924ce2e800b96
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Fix some clang-format mistakes (#138036)
Fixes for https://github.com/llvm/llvm-project/pull/138000
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 26bc8b0ffa4335fa18359de7c224f1460a8c102c
https://github.com/llvm/llvm-project/commit/26bc8b0ffa4335fa18359de7c224f1460a8c102c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-values-to-return-args.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.h
Log Message:
-----------
llvm-reduce: Reduce with early return of arguments (#133627)
Extend the instruction -> return reduction with one that inserts
return of function arguments. Not sure how useful this really is. This
has more freedom since we could insert the return anywhere in the function,
but this just inserts the return in the entry block.
Commit: e3a81df38cb67d472d66db3e918a46bd534ea11c
https://github.com/llvm/llvm-project/commit/e3a81df38cb67d472d66db3e918a46bd534ea11c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-instructions-to-return.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-new-return-type.ll
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
Log Message:
-----------
llvm-reduce: Change function return types if function is not called (#134035)
Extend the early return on value reduction to mutate the function return
type if the function has no call uses. This could be generalized to rewrite
cases where all callsites are used, but it turns out that complicates the
visitation order given we try to compute all opportunities up front.
This is enough to cleanup the common case where we end up with one
function with a return of an uninteresting constant.
Commit: 1ab70fed622bcbd4a679f66b1c638cdd46f0365c
https://github.com/llvm/llvm-project/commit/1ab70fed622bcbd4a679f66b1c638cdd46f0365c
Author: Reilly Brogan <reilly at reillybrogan.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Enable installing binding header and modules as part of distribution (#133962)
This allows the C/Fortran interop header (`ISO_Fortran_binding.h`) and
the Fortran module interfaces (`.mod` files) to be installed with
`LLVM_DISTRIBUTION_COMPONENTS`.
Signed-off-by: Reilly Brogan <reilly at reillybrogan.com>
Commit: 65438787c7729d84964a25c2db5f7996dd1343cc
https://github.com/llvm/llvm-project/commit/65438787c7729d84964a25c2db5f7996dd1343cc
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaExprObjC.cpp
Log Message:
-----------
[Clang][NFC] assert IFaceT in SemaObjC::HandleExprPropertyRefExpr (#138026)
Static analysis flagged that we use IFaceT in HandleExprPropertyRefExpr
without checking even though getInterfaceType() can return nullptr. The
comments make it clear the assumption is that we will always have an
interface, so we will document this via an assert.
Fixes: https://github.com/llvm/llvm-project/issues/134954
Commit: a18adb2358cac0f14cce5faf27f607c2b1601ed9
https://github.com/llvm/llvm-project/commit/a18adb2358cac0f14cce5faf27f607c2b1601ed9
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/test/Lower/OpenMP/cray-pointers01.f90
M flang/test/Semantics/declarations08.f90
A flang/test/Semantics/resolve125.f90
Log Message:
-----------
[flang] fix scoping of cray pointer declarations and add check for initialization (#136776)
This PR:
- makes Cray pointer declarations shadow previous bindings instead of
modifying them,
- errors when the pointee of a cray pointee has the SAVE attribute, and
- adds a missing newline after dumping the list of cray pointers in a
scope.
Closes #135579
Commit: 04e32b8a33bbbd184114aba23c017706b957fb95
https://github.com/llvm/llvm-project/commit/04e32b8a33bbbd184114aba23c017706b957fb95
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/CMakeLists.txt
R mlir/cmake/modules/IRDLToCpp.cmake
M mlir/cmake/modules/MLIRConfig.cmake.in
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/InitAllTranslations.h
R mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h
R mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Target/CMakeLists.txt
R mlir/lib/Target/IRDLToCpp/CMakeLists.txt
R mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
R mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/Header.txt
R mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt
R mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt
R mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
R mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
R mlir/test/Dialect/IRDL/invalid_names.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
R mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt
R mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
R mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h
R mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir
R mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir
M mlir/test/tblgen-to-irdl/TestDialect.td
R mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt
R mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Revert "[MLIR][IRDL] Added IRDL to C++ Translation" (#138285)
Reverts llvm/llvm-project#133982
Commit: 580da48a93ea3065cced426bb37df65a933c21f7
https://github.com/llvm/llvm-project/commit/580da48a93ea3065cced426bb37df65a933c21f7
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/func-attr-instrument-functions.f90
Log Message:
-----------
[flang][flang-driver] Support flag -finstrument-functions (#137996)
Commit: c54122fe538f0edbf5a7a6f2a62bf4973a00262c
https://github.com/llvm/llvm-project/commit/c54122fe538f0edbf5a7a6f2a62bf4973a00262c
Author: Xiang Li <python3kgae at outlook.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/pretty-resources-print.mlir
Log Message:
-----------
[NFC][mlir][AsmPrinter] Don't compute resourceStr when --mlir-elide-resource-strings-if-larger=0 (#138275)
When skipping the printing of large DenseResourceElementsAttr with
--mlir-elide-resource-strings-if-larger,
we need to compute resourceStr to check if the string is small enough to
print.
With --mlir-elide-resource-strings-if-larger set to 0, nothing should be
printed, but we still compute the size.
This change will allow an early return when
--mlir-elide-resource-strings-if-larger=0, making the print process
faster.
Commit: 9a26b2903bd1c3fbb3a71747f9c53aec93158595
https://github.com/llvm/llvm-project/commit/9a26b2903bd1c3fbb3a71747f9c53aec93158595
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
Log Message:
-----------
[VPlan] Don't rely on region check in isUniformAfterVectorization. (#137883)
Generalize isUniformAfterVectorization check to not rely on the region,
but purely work on checking operands and opcodes.
This will be needed when disolving the vector region
(https://github.com/llvm/llvm-project/pull/117506) and improves codegen
slightly in some cases.
PR: https://github.com/llvm/llvm-project/pull/137883
Commit: ee3610efb511ec0a8d5ebd2016ce23b4b4344cd1
https://github.com/llvm/llvm-project/commit/ee3610efb511ec0a8d5ebd2016ce23b4b4344cd1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
Log Message:
-----------
Remove unused function; NFC
Commit: ace189b23b4f4ce6dc7b6ae31b25943f89a14aa0
https://github.com/llvm/llvm-project/commit/ace189b23b4f4ce6dc7b6ae31b25943f89a14aa0
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Disable flaky TestLldbGdbServer.py (#138263)
See #138085 for details.
Commit: 52d2b589b2d7adc3e2b4ea503df4131e088de61f
https://github.com/llvm/llvm-project/commit/52d2b589b2d7adc3e2b4ea503df4131e088de61f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Analysis/ScalarEvolution/guards.ll
M llvm/test/Transforms/IndVarSimplify/canonicalize-cmp.ll
M llvm/test/Transforms/IndVarSimplify/cycled_phis.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/pr102597.ll
M llvm/test/Transforms/IndVarSimplify/pr126012.ll
M llvm/test/Transforms/IndVarSimplify/pr66986.ll
M llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
M llvm/test/Transforms/IndVarSimplify/scev-invalidation.ll
M llvm/test/Transforms/IndVarSimplify/shift-range-checks.ll
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
Log Message:
-----------
[IndVarSimplify] Set samesign when converting signed comparison to unsigned comparison in eliminateIVComparison. (#138215)
Commit: d6dbe7799e638702309e23fc7b73d4be2231e2ac
https://github.com/llvm/llvm-project/commit/d6dbe7799e638702309e23fc7b73d4be2231e2ac
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Pass.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/LTO/AMDGPU/closed-world-assumption.ll
Log Message:
-----------
[AMDGPU][Attributor] Add `ThinOrFullLTOPhase` as an argument (#123994)
Commit: 4ec473e0e19c1586f27ebc146249b10acb3b8769
https://github.com/llvm/llvm-project/commit/4ec473e0e19c1586f27ebc146249b10acb3b8769
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#138236)
Commit: 32ca368c1e5de75f8800a45de883ee93d5854c91
https://github.com/llvm/llvm-project/commit/32ca368c1e5de75f8800a45de883ee93d5854c91
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
Log Message:
-----------
[PPC][NFC] Remove duplicate processor feature from pwr9/10/11 and future (#137903)
The new TableGen warning introduced in
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
shows the following warnings:
```
warning: Processor future contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr10 contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr11 contains duplicate feature 'predictable-select-expensive'
warning: Processor pwr9 contains duplicate feature 'predictable-select-expensive'
```
Commit: e777e7a5d21b2fb3e77f16b86c4531f35a0a5cac
https://github.com/llvm/llvm-project/commit/e777e7a5d21b2fb3e77f16b86c4531f35a0a5cac
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
Log Message:
-----------
[OpenACC] Implement better dupe catching for device_type clauses (#138196)
Previously we just checked duplicates for a handful of clauses between
active device_type clauses. However, after looking into the
implementation for 'collapse', I discovered that duplicate device_type
identifiers with duplicate versions of htese clause are problematic.
This patch corrects this and now catches these conflicts.
Commit: 7220fdad0cbf42a9d134e157ba5821192327f4f3
https://github.com/llvm/llvm-project/commit/7220fdad0cbf42a9d134e157ba5821192327f4f3
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/Fir/invalid.fir
M flang/test/Fir/volatile.fir
M flang/test/Fir/volatile2.fir
M flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
A flang/test/Lower/volatile-allocatable1.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile1.f90
M flang/test/Lower/volatile2.f90
M flang/test/Lower/volatile3.f90
M flang/test/Lower/volatile4.f90
Log Message:
-----------
[flang] Hide strict volatility checks behind flag (#138183)
Enabling volatility lowering by default revealed some issues in lowering
and op verification.
For example, given volatile variable of a nested type, accessing
structure members of a structure member would result in a volatility
mismatch when the inner structure member is designated (and thus a
verification error at compile time).
In other cases, I found correct codegen when the checks were disabled,
also related to allocatable types and how we handle volatile references
of boxes.
This hides the strict verification of fir and hlfir ops behind a flag so
I can iteratively improve lowering of volatile variables without causing
compile-time failures, keeping the strict verification on when running
tests.
Commit: 39e6e888a8155583713e1b8b256119a2be7902e0
https://github.com/llvm/llvm-project/commit/39e6e888a8155583713e1b8b256119a2be7902e0
Author: John Harrison <harjohn at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
Log Message:
-----------
[lldb-dap] Adding defaults to VSCode settings for user level defaults. (#137694)
This adds support for loading user level defaults in VSCode. The
defaults are stored as basic settings that are loaded when the debug
configuration is resolved. Not all settings are currently supported, I
limited it to settings that would likely apply across multiple
launch.json configurations.
This should resolve #134564
Commit: 58addfbbcc520d925e93f33b2c68dcf657496828
https://github.com/llvm/llvm-project/commit/58addfbbcc520d925e93f33b2c68dcf657496828
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/reexport-without-rpath.s
Log Message:
-----------
[lld] handle re-exports for full framework paths (#137989)
Framework load paths can be either the top level framework name, or
subpaths of the framework bundle pointing to specific framework binary
versions. Extend the framework lookup logic to handle the latter case.
Commit: a635bbf1418e351651ed86230eab3d13f871f971
https://github.com/llvm/llvm-project/commit/a635bbf1418e351651ed86230eab3d13f871f971
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/typedef-retain.c
M clang/test/Sema/warn-default-const-init.c
M clang/test/SemaOpenCL/invalid-block.cl
Log Message:
-----------
[C] Update the -Wdefault-const-init-unsafe wording (#138266)
This drops the "and is incompatible with C++" phrasing from the
diagnostic unless -Wc++-compat is explicitly passed. This makes the
diagnostic less confusing when it is on by default rather than enabled
because of C++ compatibility concerns
Commit: b5dbddd2004a42a8c80dc38e9571b4d29b395d17
https://github.com/llvm/llvm-project/commit/b5dbddd2004a42a8c80dc38e9571b4d29b395d17
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - change fold helper methods to take operands instead of EXTRACT_SUBVECTOR node. NFC. (#138279)
Call with the individual subvector type, source vector and index operands instead of the original EXTRACT_SUBVECTOR node.
Some of these folds still assumed that EXTRACT_SUBVECTOR/INSERT_SUBVECTOR nodes could have variable indices, despite us moving to all constant indices some time ago - all of that code has now been simplified.
I've moved the narrowExtractedVectorBinOp call higher up, but it won't affect fold order - it didn't rely on the peekThroughBitcasts call, and worked on BinOps, not BUILD_VECTOR/INSERT_SUBVECTOR nodes.
Prep work to make it easier for more of these folds to work through BITCAST nodes.
Commit: 8313d2a8dbc5e23741d7c67c3b009fc3f6de4875
https://github.com/llvm/llvm-project/commit/8313d2a8dbc5e23741d7c67c3b009fc3f6de4875
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/combined-construct-self-clause.c
M clang/test/SemaOpenACC/combined-construct-self-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
M clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-self-clause.c
M clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.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-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Fixup previous-clause diagnostics
Brought up in a previous review as a TODO, we could be better about how
we highlight what hte previous clause was, and how to show that the
'device_type' is the one being targetted. This patch rewords the
diagnostics and updates a massive number of tests.
Commit: 5d16a18c4bd0fed88086bc1e93e6fb6f1be4caab
https://github.com/llvm/llvm-project/commit/5d16a18c4bd0fed88086bc1e93e6fb6f1be4caab
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
[Metadata] Return the valid DebugLoc if one of them is null with -pick-merged-source-locations. (#138148)
Previously when getMergedLocation was passed nullptr as one of the
parameters we returned nullptr. Change that behaviour to instead return
a valid DebugLoc. This is beneficial for binaries from which SamplePGO
profiles are obtained.
Commit: b752822c445b9fba1f59a2822c7b675561749dd4
https://github.com/llvm/llvm-project/commit/b752822c445b9fba1f59a2822c7b675561749dd4
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
Log Message:
-----------
[NFCI]Prospective fix for MVSC Build bot-
The previous code hits an assert inside the MSVC compiler version 16.8,
which is our minimum supported version. This patch looks on godbolt
like it avoids this crash, so submitting it to hopefully unbreak the
bot.
Commit: cb068dcec1b30528f0d06916911f55b4bd61b0bb
https://github.com/llvm/llvm-project/commit/cb068dcec1b30528f0d06916911f55b4bd61b0bb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/builtin-object-size-cxx14.cpp
Log Message:
-----------
[Clang] Fix handling of reference types in tryEvaluateBuiltinObjectSize (#138247)
The order of operation was slightly incorrect, as we were checking for
incomplete types *before* handling reference types.
Fixes #129397
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 173ec728d287f989053bd77521b3497b069c98a2
https://github.com/llvm/llvm-project/commit/173ec728d287f989053bd77521b3497b069c98a2
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/test/CodeGen/SystemZ/mcount.ll
Log Message:
-----------
[SystemZ] Fix a bug introduced by #135767 (#138280)
Commit `083b4a3d66` introduced a store-and-load pair around the `BRASL`
call to mcount. That load instruction did not properly declare its
target register as defined, leading to a bad machine instruction.
This commit fixes this by explicitly labeling `%r14` on the load as
`def`.
Commit: aa613777af4a2f2d5103e5e67da96f41ca2bb19e
https://github.com/llvm/llvm-project/commit/aa613777af4a2f2d5103e5e67da96f41ca2bb19e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Analysis/KernelInfo.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[llvm] Remove redundant control flow (NFC) (#138304)
Commit: e59ed0fb0f3324ae3fce4080e15472a316713dfd
https://github.com/llvm/llvm-project/commit/e59ed0fb0f3324ae3fce4080e15472a316713dfd
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] __has_unique_object_representations should not accept Incomplete[] (#138291)
This implements [LWG4113](https://cplusplus.github.io/LWG/issue411)
This is technically a breaking change, but it's a fix, and I think
anyone who relies on this today is in a world of hurt.
Fixes #118350
Commit: a4e9cfd117301b662fb3cee52ce3762c525917d3
https://github.com/llvm/llvm-project/commit/a4e9cfd117301b662fb3cee52ce3762c525917d3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Pass.h
M llvm/lib/IR/Pass.cpp
Log Message:
-----------
[NFC] Fix a potential compile error in `llvm::to_string(ThinOrFullLTOPhase Phase)`
https://github.com/llvm/llvm-project/pull/123994#discussion_r2071940298
Commit: 52c62364e76be0c66ba69764a80999aa651f6b59
https://github.com/llvm/llvm-project/commit/52c62364e76be0c66ba69764a80999aa651f6b59
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[OpenMP] Remove "alternativeName" from Clause and Directive classes (#138179)
The "alternativeName" was introduced ~5 years ago in D82405, and at the
moment it has only one use, the one that the original change introduced.
OpenMP 6.0 spec has introduced different spellings of some directives,
but the "alternativeName" is not an adequate mechanism to implement it.
For those reasons remove the "alternativeName" member from both Clause
and Directive in DirectiveBase.td.
Since the alternativeName text appeared in a number of clang OpenMP
tests, implement `getOpenMPClauseNameForDiag` in SemaOpenMP.cpp to
preserve the text of the diagnostics.
Commit: 12778374881e84bf2a8571f2815ed1e94ffe5709
https://github.com/llvm/llvm-project/commit/12778374881e84bf2a8571f2815ed1e94ffe5709
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
Log Message:
-----------
[MLIR][LLVM] Debug info: fix DIDerivedTypeAttr relation to DIScopeAttr (#138200)
Fix `di_subprogram` references to scopes composed of `di_derived_type`s,
which currently fail to parse with:
```
error: failed to parse LLVM_DISubprogramAttr parameter 'scope' which is to be a `DIScopeAttr`
```
Commit: 2f16cbc700004c9d60c4ea03d102ce5d3b1343b8
https://github.com/llvm/llvm-project/commit/2f16cbc700004c9d60c4ea03d102ce5d3b1343b8
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
Log Message:
-----------
[clang-tidy][NFC][doc] fix typos in docs. (#138305)
Fixed typos in docs of `clang-tidy` checks.
Commit: 0ddcd209ddc8956eb52d642937a4397c6b08449c
https://github.com/llvm/llvm-project/commit/0ddcd209ddc8956eb52d642937a4397c6b08449c
Author: jimingham <jingham at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
Don't hold the Target's ModuleListLock over running LoadScriptingResourceInTarget (#138216)
That calls an unknown amount of Python code, and can do quite a bit of
work - especially if people do things like launch scripted processes in
this script affordance. Doing that while holding a major lock like the
ModuleList lock is asking for trouble.
I tried to make a test that would actually stall without this, but I
couldn't come up with anything that reliably failed. You always have to
get pretty unlucky.
Commit: cce6de83138223db07d538824e0c398d5da83190
https://github.com/llvm/llvm-project/commit/cce6de83138223db07d538824e0c398d5da83190
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Never consider conversion from single-element braced-init-list perfect (#138307)
We might prefer a template std::initializer list constructor.
Fix a regression introduced by #136203
https://github.com/llvm/llvm-project/pull/136203#issuecomment-2843498895
GCC had a similar issue and a similar fix
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100963
Commit: 1101b767329dd163d528fa5f667a6c0dbdde0ad5
https://github.com/llvm/llvm-project/commit/1101b767329dd163d528fa5f667a6c0dbdde0ad5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG3005 Function parameters should never be name-independent (#138245)
We already attempted to implement this (it was the intent of the paper),
in that parameters were never considered name-independent. However, we
failed to check that any previously found parameter declaration was also
name-independent.
Note that, as worded, the current resolution is insufficient (I wrote to
CWG with better wording), but there is some consensus on the design
outcome.
Fixes #136373
Commit: 3715de976e41654db83a0aef5be50790024639ea
https://github.com/llvm/llvm-project/commit/3715de976e41654db83a0aef5be50790024639ea
Author: Lily Orth-Smith <lilyorthsmith at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
A mlir/test/Conversion/VectorToLLVM/use-vector-alignment.mlir
Log Message:
-----------
[mlir] Add use-vector-alignment flag to ConvertVectorToLLVMPass (#137389)
In ConvertVectorToLLVM, the only option for setting alignment of
`vector.gather`, `vector.scatter`, and the `vector.load/store` ops was
to extract it from the datatype of the memref type. However, this is
insufficient for hardware backends requiring alignment of vector types.
This PR introduces the `use-vector-alignment` option to the
`ConvertVectorToLLVMPass`, which makes the pass use the alignment of the
vector type of these operations instead of the alignment of the memref
type.
---------
Co-authored-by: Lily Orth-Smith <lorthsmith at microsoft.com>
Commit: 55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
https://github.com/llvm/llvm-project/commit/55e39100dae2a131c7cbcdbbe628c0b82f8c12ca
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Remove FEM_Indeterminable (#137661)
Remove FEM_Indeterminable as it is unused and cannot be stored safely in
an unsigned bitfield
Commit: 4fcbdb2c89a5f7a95e844ea8ff62893447938cd1
https://github.com/llvm/llvm-project/commit/4fcbdb2c89a5f7a95e844ea8ff62893447938cd1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream local initialization for VectorType (#138107)
This change adds local initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: d76a1639e0b641d9761293608be7bce88fa30f86
https://github.com/llvm/llvm-project/commit/d76a1639e0b641d9761293608be7bce88fa30f86
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-values-to-return-callbr.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-invoke.ll
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
Log Message:
-----------
llvm-reduce: Support exotic terminators in instructions-to-return (#134794)
Use splitBasicBlock and avoid directly dealing with the specific of
how to trim the existing terminators. We just need to deal with
unconditional branch to return.
Commit: a9ce60ee885e25cba54c8900605563ff66e067b7
https://github.com/llvm/llvm-project/commit/a9ce60ee885e25cba54c8900605563ff66e067b7
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Complete the revert of 1a14ef1 (#138341)
When merging the fix for FEM_Indeterminate I reverted the follow on
warning fixes, but misread this diff and retained the explicitly
defaulted constructor.
Commit: 17fdcda3790c669fc3d378cb192d66f3d29da47c
https://github.com/llvm/llvm-project/commit/17fdcda3790c669fc3d378cb192d66f3d29da47c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Log Message:
-----------
[CIR][NFC] Upstream bulk handling for Decl kinds (#138319)
This adds explicit case statements for Decl types that weren't
explicitly present in the emitDecl function. Those that need no handling
are just accepted. Those that will need handling still go to errorNYI,
but the default statement is removed.
Commit: f313b0af15857dada7743af310229b6944fd1c61
https://github.com/llvm/llvm-project/commit/f313b0af15857dada7743af310229b6944fd1c61
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
Log Message:
-----------
[Clang][NFC] Capture by ref to avoid copying std::string (#138231)
Static analysis flagged capturing BName by value as opposed to by
reference. Updated capture to be by reference.
Commit: 9b4f747827489c5969ff903c728e65c545f58eaa
https://github.com/llvm/llvm-project/commit/9b4f747827489c5969ff903c728e65c545f58eaa
Author: Eric Astor <epastor at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A llvm/include/llvm/MC/MCParser/MCMasmParser.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
A llvm/test/tools/llvm-ml/proc_distance.asm
Log Message:
-----------
[ms] [llvm-ml] Implement support for PROC NEAR/FAR (#131707)
Matches ML.EXE by translating "ret" instructions inside a `PROC FAR` to "retf", and automatically prepending a `push cs` to all near calls to a `PROC FAR`.
Commit: 312d6b488ef9d7c0e4d649827820db7285e36406
https://github.com/llvm/llvm-project/commit/312d6b488ef9d7c0e4d649827820db7285e36406
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/Support/Win64EH.h
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/test/MC/AArch64/seh.s
M llvm/test/tools/llvm-readobj/COFF/arm64-win-error1.s
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
M llvm/tools/llvm-readobj/ARMWinEHPrinter.h
Log Message:
-----------
[AArch64] Implement assembler support for new SVE SEH unwind opcodes. (#137895)
In order to support the AArch64 ABI, Microsoft has extended the unwinder
to support additional opcodes. (Updated documentation at
https://learn.microsoft.com/en-us/cpp/build/arm64-exception-handling .)
First in a series of patches to support SVE on Windows.
Commit: 692f832b190a93383cb4ed8912856ff651e453d2
https://github.com/llvm/llvm-project/commit/692f832b190a93383cb4ed8912856ff651e453d2
Author: Eric Astor <epastor at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
R llvm/include/llvm/MC/MCParser/MCMasmParser.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
R llvm/test/tools/llvm-ml/proc_distance.asm
Log Message:
-----------
Revert "[ms] [llvm-ml] Implement support for PROC NEAR/FAR" (#138353)
Reverts llvm/llvm-project#131707 - apparently it had gotten into a bad
state, and will need relanding.
Commit: 105ce585d35eff433031d3edce977eba97eeb6ff
https://github.com/llvm/llvm-project/commit/105ce585d35eff433031d3edce977eba97eeb6ff
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Define an amdgpu.scaling_mfma wrapper (#137498)
Create a wrapper around the new scaled MFMAs that operate on specific
element types and tile sizes.
See [Issue](https://github.com/iree-org/iree/issues/20616).
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: 123758b1f4a8106926d95268ea8dc27158b6393a
https://github.com/llvm/llvm-project/commit/123758b1f4a8106926d95268ea8dc27158b6393a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[IRBuilder] Add versions of createInsertVector/createExtractVector that take a uint64_t index. (#138324)
Most callers want a constant index. Instead of making every caller
create a ConstantInt, we can do it in IRBuilder. This is similar to
createInsertElement/createExtractElement.
Commit: 50e1db7194e70ddf235edad289e726ed5c6027b7
https://github.com/llvm/llvm-project/commit/50e1db7194e70ddf235edad289e726ed5c6027b7
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/Driver/dxc_fspv_extension.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add CLI option `-fspv-extension` (#137985)
This commit implements DXC's `-fspv-extension` options. It is
implemented by replaced it with the equivalent `-spirv-ext` option. Note
that if the option is not used, that is the same as enabling all
extension, so `-spirv-ext=all` is used.
Fixes https://github.com/llvm/llvm-project/issues/137647
---------
Co-authored-by: Cassandra Beckley <cbeckley at google.com>
Commit: 880de1cae2e50e28984e56f97689e39bd60e12a3
https://github.com/llvm/llvm-project/commit/880de1cae2e50e28984e56f97689e39bd60e12a3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M mlir/include/mlir/Pass/Pass.h
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
[mlir] Declare explicit typeid to fix dylib build (#138357)
This makes the dyn_cast<PassExecutionAction> work outside the dylib,
i.e. from the unit test binary, when the CMake setting
MLIR_LINK_MLIR_DYLIB is ON.
Fixes #138202
Commit: e8825900838a11afe326e202d19a3df6e3408422
https://github.com/llvm/llvm-project/commit/e8825900838a11afe326e202d19a3df6e3408422
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
Log Message:
-----------
[CIR] Refactor global variable emission and initialization (#138222)
When global variable support was initially upstreamed, we took some
shortcuts and only implemented the minimum support for simple variables
and constant initializers.
This change refactors the code that creates global variables to
introduce more of the complexities that are present in the incubator and
the classic codegen. I can't really say this is NFC, because the code
executed is very different and it will report different NYI diagnostics,
but for the currently implemented cases, it results in the same output.
Commit: 6b25cfbb98b25bb3d127e7b7fd462e6dcf3f9f7e
https://github.com/llvm/llvm-project/commit/6b25cfbb98b25bb3d127e7b7fd462e6dcf3f9f7e
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
A lld/utils/run_benchmark.py
Log Message:
-----------
Add lld benchmarking script.
The purpose of this script is to measure the performance effect
of an lld change in a statistically sound way, automating all the
tedious parts of doing so. It copies the test case into /tmp as well as
running the test binaries from /tmp to reduce the influence on the test
machine's storage medium on the results. It accounts for measurement
bias caused by binary layout (using the --randomize-section-padding
flag to link the test binaries) and by environment variable size
(implemented by hyperfine [1]). Runs of the base and test case are
interleaved to account for environmental factors which may influence
the result due to the passage of time. The results of running hyperfine
are collected into a results.csv file in the output directory and
may be analyzed by the user with a tool such as ministat.
Requirements: Linux host, hyperfine [2] in $PATH, run from a build
directory configured to use ninja and a recent version of lld that
supports --randomize-section-padding, /tmp is tmpfs.
[1] https://github.com/sharkdp/hyperfine/blob/3cedcc38d0c430cbf38b4364b441c43a938d2bf3/src/util/randomized_environment_offset.rs#L1
[2] https://github.com/sharkdp/hyperfine
Reviewers: rnk, MaskRay, smithp35
Reviewed By: rnk
Pull Request: https://github.com/llvm/llvm-project/pull/138367
Commit: ebe7fd6df492cfe0aa01d1188644cadec601f9d6
https://github.com/llvm/llvm-project/commit/ebe7fd6df492cfe0aa01d1188644cadec601f9d6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilo-valid.s
Log Message:
-----------
[RISCV] Add some more compress patterns for Xqcilo instructions (#138309)
There are some load/store instructions that are a part of the Zcb
extension that the Xqcilo instructions can be compressed to. Add
patterns for the same.
Commit: 659f5acd038afbb281b4d1d410762f40954e08c8
https://github.com/llvm/llvm-project/commit/659f5acd038afbb281b4d1d410762f40954e08c8
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/test/CodeGen/NVPTX/sm-version.ll
Log Message:
-----------
[NVPTX] Add support for PTX ISA v8.8 (#136639)
Support PTX version 8.8 (`-mattr=+ptx88`) from CUDA 12.9. The following
new targets are also added:
- SM103 and SM121: sm_103, sm_103a, sm_121, sm_121a.
Also, some things were reformatted.
https://docs.nvidia.com/cuda/parallel-thread-execution/#changes-in-ptx-isa-version-8-8
Commit: 2b62a311d76cfe5cdceab73b3fe145ee50449d08
https://github.com/llvm/llvm-project/commit/2b62a311d76cfe5cdceab73b3fe145ee50449d08
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang][Driver] Enable internalization by default for AMDGPU (#138365)
Commit: fba68b41190805d1755d24a829d7cdc74e946095
https://github.com/llvm/llvm-project/commit/fba68b41190805d1755d24a829d7cdc74e946095
Author: satyajanga <satyajanga at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M lldb/source/Commands/CommandObjectPlatform.cpp
Log Message:
-----------
[LLDB][NFC] Remove unneeded conditional (#138321)
we already check for `platform_sp` not null in one line below.
existing code
```
if (platform_sp) {
Status error;
if (platform_sp) {
...
...
}
}
```
`platform_sp` null check is redundant and error variable is unused.
### TEST PLAN
manual test
```
satyajanga at devvm21837:toolchain $ ./bin/lldb
LLDB logging initialized. Logs stored in: /tmp
(lldb) platform select host
Platform: host
Triple: x86_64-*-linux-gnu
OS Version: 6.9.0 (6.9.0-0_fbk5_hardened_1_gf368ae920c1a)
Hostname: 127.0.0.1
WorkingDir: /home/satyajanga/llvm-sand/build/Debug/fbcode-x86_64/toolchain
Kernel: #1 SMP Tue Feb 11 07:24:41 PST 2025
Kernel: Linux
Release: 6.9.0-0_fbk5_hardened_1_gf368ae920c1a
Version: #1 SMP Tue Feb 11 07:24:41 PST 2025
(lldb) platform process list
144 matching processes were found on "host"
PID PARENT USER TRIPLE NAME
====== ====== ========== ============================== ============================
130461 874915 satyajanga x86_64-*-linux-gnu sushd
135505 874915 satyajanga x86_64-*-linux-gnu hg.real
817146 874915 satyajanga x86_64-*-linux-gnu vscode-thrift
874915 1 satyajanga
874947 874915 satyajanga
```
and running the existing tests
```
satyajanga at devvm21837:toolchain $ ./bin/llvm-lit -v ~/llvm-sand/external/llvm-project/lldb/test/API/commands/platform/
-- Testing: 9 tests, 9 workers --
PASS: lldb-api :: commands/platform/file/read/TestPlatformFileRead.py (1 of 9)
PASS: lldb-api :: commands/platform/file/close/TestPlatformFileClose.py (2 of 9)
UNSUPPORTED: lldb-api :: commands/platform/sdk/TestPlatformSDK.py (3 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformPython.py (4 of 9)
PASS: lldb-api :: commands/platform/basic/TestPlatformCommand.py (5 of 9)
PASS: lldb-api :: commands/platform/connect/TestPlatformConnect.py (6 of 9)
PASS: lldb-api :: commands/platform/process/launch/TestPlatformProcessLaunch.py (7 of 9)
PASS: lldb-api :: commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py (8 of 9)
PASS: lldb-api :: commands/platform/process/list/TestProcessList.py (9 of 9)
Testing Time: 13.48s
Total Discovered Tests: 9
Unsupported: 1 (11.11%)
Passed : 8 (88.89%)
satyajanga at devvm21837:toolchain $
```
Commit: d3506ee573a2aa1403817642ef45f8c0305bb572
https://github.com/llvm/llvm-project/commit/d3506ee573a2aa1403817642ef45f8c0305bb572
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] RemoveParentheses shouldn't remove empty parentheses (#138229)
Fix #138124
Commit: 79210feb2993ff9a79ef11f8a7016a527d4fcf22
https://github.com/llvm/llvm-project/commit/79210feb2993ff9a79ef11f8a7016a527d4fcf22
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash on formatting missing r_paren/r_brace (#138230)
Fix #138097
Commit: d11df058416aa2e13c6b2559c1ce21209c445bab
https://github.com/llvm/llvm-project/commit/d11df058416aa2e13c6b2559c1ce21209c445bab
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/ldexp.hlsl
A clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
Log Message:
-----------
[HLSL] Implement the `ldexp` intrinsic (#138182)
Closes #99133.
Implemented `ldexp` entirely in `hlsl_intrinsics.h` and
`hlsl_intrinsic_helpers.h`, added coresponding tests in
`clang/test/CodeGenHLSL/builtins/ldexp.hlsl` and
`clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl`.
Commit: c63687c04f96e3b1db9ce0f70e5f331fce69959b
https://github.com/llvm/llvm-project/commit/c63687c04f96e3b1db9ce0f70e5f331fce69959b
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[MC][TableGen] Expand ImplicitOffset field of MCInstrDesc (#138127)
Increase width of ImplicitOffset to `int` from `short` to allow more
table capacity.
Reorder the elements to maintain natural alignment.
Commit: 883afa4ef93d824ec11981ccad04af1cd1e4ce29
https://github.com/llvm/llvm-project/commit/883afa4ef93d824ec11981ccad04af1cd1e4ce29
Author: Baoshan <pangbw at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
Log Message:
-----------
[AMDGPU] remove move instruction if there is no user of it (#136735)
Co-authored-by: Baoshan Pang <bpang at fortinet.com>
Commit: 8c3aa3e81c68ee3807148a6ab416af71fecce38f
https://github.com/llvm/llvm-project/commit/8c3aa3e81c68ee3807148a6ab416af71fecce38f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
Log Message:
-----------
[libc++][NFC] Replace typedefs with using declarations in <vector> (#134083)
This brings the code base a bit closer to using `using` declarations
everywhere.
Commit: e92013c68589101b2150e3becd9eda651914fe58
https://github.com/llvm/llvm-project/commit/e92013c68589101b2150e3becd9eda651914fe58
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[MLIR][TOSA] Simplify getZeroPoint (#138344)
Commit: b006756d44def73fda09c7cb99b1c2347436aadb
https://github.com/llvm/llvm-project/commit/b006756d44def73fda09c7cb99b1c2347436aadb
Author: clubby789 <jamie at hill-daniel.co.uk>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/malloc-free-mismatched.ll
Log Message:
-----------
[InstCombine] Fix crash when alloc functions are missing `alloc-family` (#138310)
Fixes #63477 by bailing out instead of crashing.
Co-authored-by: Jamie <jamie at osec.io>
Commit: 1c68e0e4814e7e0f006a238e1c656c78aa10516b
https://github.com/llvm/llvm-project/commit/1c68e0e4814e7e0f006a238e1c656c78aa10516b
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Sema/ptrauth-struct-function-ptr-field.c
Log Message:
-----------
[clang][ptrauth] reject incorrectly placed ptrauth qualifier (#138376)
When parsing a function pointer typed field we use
Parser::ParseTypeQualifierListOpt, but then drops subsequent type
attributes and qualifiers unless explicitly handled.
There is an existing solution for the _Atomic qualifier, and this PR
simply extends that to __ptrauth for now. In future we may want to
investigate a more robust mechanism to ensure type qualifiers are not
silently dropped so that future type qualifiers do not suffer the same
problem.
Commit: 5b02a2647594719454611132b7c05318d959bf58
https://github.com/llvm/llvm-project/commit/5b02a2647594719454611132b7c05318d959bf58
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
Log Message:
-----------
[Clang][NFC] Fix typos introduced in #138307
Commit: edb690dc5b5e7804797a497c0b01f1563e67bd00
https://github.com/llvm/llvm-project/commit/edb690dc5b5e7804797a497c0b01f1563e67bd00
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
Reapply "[VPlan] Add canonical IV during construction (NFC)."
This reverts commit d431921677ae923d189ff2d6f188f676a2964ed8.
Missing gtests have been updated.
Original message:
This addresses an existing TODO and simply moves the current code to add
canonical IV recipes to the initial skeleton construction, at the same
place where the corresponding region will be introduced.
Commit: fdea1b6504770462138a92c9c9aa6b669f7f4217
https://github.com/llvm/llvm-project/commit/fdea1b6504770462138a92c9c9aa6b669f7f4217
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
Log Message:
-----------
[Utils] Use StringRef::starts_with (NFC) (#138379)
Commit: d328510f238cca5a95b75fcdaf9dfaddbc7d87c0
https://github.com/llvm/llvm-project/commit/d328510f238cca5a95b75fcdaf9dfaddbc7d87c0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Log Message:
-----------
[Instrumentation] Remove an unused local variable (NFC) (#138383)
Commit: b23c1865c0b1625c6fc03259b610d4639dd5c92a
https://github.com/llvm/llvm-project/commit/b23c1865c0b1625c6fc03259b610d4639dd5c92a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[tools] Remove unused local variables (NFC) (#138384)
Commit: b4fac94181c4cf17dbb7ecc2ae975712b0e4a6d1
https://github.com/llvm/llvm-project/commit/b4fac94181c4cf17dbb7ecc2ae975712b0e4a6d1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
M llvm/unittests/tools/llvm-exegesis/RISCV/TargetTest.cpp
Log Message:
-----------
[llvm] Remove unused using decls (NFC) (#138386)
Commit: 0b96d22f95eeef00ec40723f0d59ccb4389dc1b6
https://github.com/llvm/llvm-project/commit/0b96d22f95eeef00ec40723f0d59ccb4389dc1b6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[SPIRV] Use StringRef instead of std::string (NFC) (#138408)
We can use StringRef for PassPrefix because it is used only with
StringRef::starts_with.
Commit: 7cc5e64a26f7c752646577e4e72d9f52cac8870d
https://github.com/llvm/llvm-project/commit/7cc5e64a26f7c752646577e4e72d9f52cac8870d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/FileCheck/FileCheckImpl.h
Log Message:
-----------
[FileCheck] Use default member initialization in ExpressionFormat (NFC) (#138409)
Commit: ea08dd8dc395e5f711f3acc542d3b4f0d4c8dfc0
https://github.com/llvm/llvm-project/commit/ea08dd8dc395e5f711f3acc542d3b4f0d4c8dfc0
Author: David Green <david.green at arm.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinscis.ll
Log Message:
-----------
[AArch64] Add shuffle-of-intrinsics VectorCombine test coverage. NFC
Commit: d1e38eab95b07b422194427474521623916bbf29
https://github.com/llvm/llvm-project/commit/d1e38eab95b07b422194427474521623916bbf29
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[offload] Fix enabling unittests in standalone builds (#138418)
Modify the unittest logic in offload to only look for
`third-party/unittest` directory when `llvm_gtest` is not provided by
LLVM itself (in-tree or installed). This makes it possible to run
unittests in sparse checkouts without the `third-party/unittest` tree.
While at it, also make sure `LLVM_THIRD_PARTY_DIR` is actually set while
performing standalone builds. The logic is copied from `compiler-rt`.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 56e01c97430b0536b3b387c1decc74942e804460
https://github.com/llvm/llvm-project/commit/56e01c97430b0536b3b387c1decc74942e804460
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
Log Message:
-----------
[DebugInfo] Use default member initialization in InlineInfo (NFC) (#138410)
Commit: db0a7adb5467bb36d038fb8cf12ac6175cb7b7db
https://github.com/llvm/llvm-project/commit/db0a7adb5467bb36d038fb8cf12ac6175cb7b7db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
Log Message:
-----------
[ExecutionEngine] Use default member initialization in Segment (NFC) (#138411)
Note that orc::ExecutorAddr default-constructs itself with Addr being 0.
Commit: 9e9c9c49cc818cacaa55b4911c845cb45995d572
https://github.com/llvm/llvm-project/commit/9e9c9c49cc818cacaa55b4911c845cb45995d572
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/CSKY/CSKY.td
Log Message:
-----------
[CSKY] Remove duplicate processor features in ck807e/ck807ef (#138316)
The new TableGen warning introduced in 951292b shows the following
warnings:
```
warning: Processor ck807e contains duplicate feature 'edsp'
warning: Processor ck807e contains duplicate feature 'dsp1e2'
warning: Processor ck807e contains duplicate feature 'dspe60'
warning: Processor ck807ef contains duplicate feature 'edsp'
warning: Processor ck807ef contains duplicate feature 'dsp1e2'
warning: Processor ck807ef contains duplicate feature 'dspe60'
```
Commit: daf32369dd1230628e4ca6fc919859bc33dc0032
https://github.com/llvm/llvm-project/commit/daf32369dd1230628e4ca6fc919859bc33dc0032
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Move scalarizeInstruction out of ILV (NFC).
15bb1db4a9830 removed the last dependency on ILV, move the code out of
ILV in preparation of consolidating in VPlanRecipes.cpp.
Commit: 8d8a3d9fdcbe823b94e2821b7beb8ead5288b14e
https://github.com/llvm/llvm-project/commit/8d8a3d9fdcbe823b94e2821b7beb8ead5288b14e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#138415)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: ebdf2e06ffbf1cc0d41f159bf02a7f35947626ee
https://github.com/llvm/llvm-project/commit/ebdf2e06ffbf1cc0d41f159bf02a7f35947626ee
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Add missing dependency for test target (#138423)
It seems we were missing a dependency when adding a new test target,
e.g., test libc.test.src.math.sqrt_test.__unit__ would create a
custom target in the form of:
```
add_custom_target(
libc.test.src.__support.FPUtil.dyadic_float_test.__unit__
COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__
COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ )
```
but it wouldn't set that it depends on
libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__
being built.
For some reason, it would break the rv32 buildbot, as it would try to
run a test but the __build__ is nowhere to be found, since it wasn't
built in the first place.
Commit: 9633f87e34dddce49619e7fc2d75c659c61a9db1
https://github.com/llvm/llvm-project/commit/9633f87e34dddce49619e7fc2d75c659c61a9db1
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[LLVM][Cygwin] Define _GNU_SOURCE on Cygwin as well. (#138329)
Without it, certain functions such as dladdr are not make available by
the headers.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 497fbd0ee0c4c50d46b5b777cdcc3a532d1dcc91
https://github.com/llvm/llvm-project/commit/497fbd0ee0c4c50d46b5b777cdcc3a532d1dcc91
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[LLVM][Cygwin] Remove special case for CXX extensions on Cygwin. (#138328)
This is no longer necessary, and results in an inconvenient define of
`i386` on i386 Cygwin targets which breaks compiling
llvm/include/llvm/ExecutionEngine/JITLink/i386.h.
Signed-off-by: Jeremy Drake <github at jdrake.com>
Commit: 74d921c01ab4aefb5f7f14062ab4aef50d5c6413
https://github.com/llvm/llvm-project/commit/74d921c01ab4aefb5f7f14062ab4aef50d5c6413
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M clang/tools/clang-shlib/CMakeLists.txt
Log Message:
-----------
[Clang][Cygwin] don't use -Bsymbolic-functions (#138217)
GNU ld seems to ignore this option, but LLD treats the presence of this
unknown option as an error.
Commit: deec7fb42dd27d38b2d2925f5e635f27007a0bd7
https://github.com/llvm/llvm-project/commit/deec7fb42dd27d38b2d2925f5e635f27007a0bd7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate tok::star in braced list (#138389)
Fix #138382
Commit: bb1e3df7009af1bf4b60e1ff4ddb5b7f94d6bff9
https://github.com/llvm/llvm-project/commit/bb1e3df7009af1bf4b60e1ff4ddb5b7f94d6bff9
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M lld/test/ELF/sparcv9-reloc.s
M lld/test/ELF/sparcv9-tls-le.s
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/test/MC/Sparc/sparc-assembly-exprs.s
M llvm/test/MC/Sparc/sparc-fixups.s
M llvm/test/MC/Sparc/sparc-little-endian.s
M llvm/test/MC/Sparc/sparc-tls-relocations.s
M llvm/test/MC/Sparc/sparc64-bpr-offset.s
Log Message:
-----------
SparcInstPrinter: Support llvm-objdump --print-imm-hex
... to align with other targets, e.g., https://reviews.llvm.org/D77853
(AArch64) and https://reviews.llvm.org/D83634 (AVR).
binutils's sparc port uses %d when imm<=9, diverging from other ports.
We do not follow the binutils sparc port behavior.
Commit: b1f13293d7672c5f84175d07c92b66142defaf1a
https://github.com/llvm/llvm-project/commit/b1f13293d7672c5f84175d07c92b66142defaf1a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
Log Message:
-----------
[Scalar] Use default member initialization in OverflowTracking (NFC) (#138412)
Commit: 7d423c09c0e063eeeaa2f91100eb6f04dc15767c
https://github.com/llvm/llvm-project/commit/7d423c09c0e063eeeaa2f91100eb6f04dc15767c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
Sparc: Use mc::isRelocation and remove GOT fixup kinds that map to relocation types
Simplify code, which is enabled by
40789ce7f1b7cff6de82b7f93db25a8c54194d46 ("MCFixup: Move relocation values before FK_NONE")
Commit: 4cde986df42273b272efd7a49cc813cd3af0115c
https://github.com/llvm/llvm-project/commit/4cde986df42273b272efd7a49cc813cd3af0115c
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
Log Message:
-----------
LoongArch: Sink #include llvm/BinaryFormat/ELF.h from LoongArchMCExpr.h. NFC
Remove a fishy `#undef LoongArch` and an unneeded user-provided dtor.
Commit: c32571287ecbe7f5eb5bb7ccb5fbb8e99ea53dec
https://github.com/llvm/llvm-project/commit/c32571287ecbe7f5eb5bb7ccb5fbb8e99ea53dec
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/test/MC/Sparc/sparc-tls-relocations.s
Log Message:
-----------
Sparc: Remove TLS fixup kinds that map to relocationtypes
As described in #136088 (for RISC-V), the `llvm-mc -show-encoding`
output no longer displays descriptive fixup names. Just remove
-show-encoding.
Commit: e276216221b09b296a65c1a6d09e1ae641edcc8e
https://github.com/llvm/llvm-project/commit/e276216221b09b296a65c1a6d09e1ae641edcc8e
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-03 (Sat, 03 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/test/MC/Sparc/sparc-pic.s
M llvm/test/MC/Sparc/sparc-relocations.s
Log Message:
-----------
Sparc: Remove incorrect STT_SECTION adjustment special case for WPLT30
`call local` should perform STT_SECTION adjustment as well as `call .Ltmp0`.
The early support 9fc29098dfa684de53dd180aa93e94c39c388631 from 2014 was
confused.
Commit: 56433e874b96bf7b3da02c13226a996d4fa5aef8
https://github.com/llvm/llvm-project/commit/56433e874b96bf7b3da02c13226a996d4fa5aef8
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[SPARC][IAS][NFC] Tidy up LDSTUB and 64-bit mul/div instruction definitions
Reviewers: brad0, rorth, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/138398
Commit: c34d2fb59974dbad07a41987896dff7da8ec8a67
https://github.com/llvm/llvm-project/commit/c34d2fb59974dbad07a41987896dff7da8ec8a67
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-04 (Sun, 04 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/Sparc.td
Log Message:
-----------
[SPARC] Mark Niagara3 as VIS3-capable
>From SPARC T3 Supplement to the UltraSPARC Architecture 2007 Specification:
> T3 SPARC core has a new 9 stage floating point pipeline and added Fused
> Multiply-Add (FMADD) instruction and VIS 3.0 Instructions compared to
> UltraSPARC T2/T2+.
Reviewers: rorth, s-barannikov, brad0
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/138399
Commit: 017dfac5b5e641cfc8f26a7fd22c9573f81264b3
https://github.com/llvm/llvm-project/commit/017dfac5b5e641cfc8f26a7fd22c9573f81264b3
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-06 (Tue, 06 May 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/premerge.yaml
M bolt/docs/BinaryAnalysis.md
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M bolt/test/non-empty-debug-line.test
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/Stack.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M 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
A clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.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
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.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/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Stack.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
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
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/HeaderIncludeGen.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Headers/float.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
A clang/test/AST/ByteCode/dynalloc-limits.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
A clang/test/AST/ast-crash-dump-mangled-name-json.m
M clang/test/ASTMerge/struct/test.c
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/C/C23/n3037.c
A clang/test/C/C23/n3037_1.c
M clang/test/C/C2y/n3353.c
M clang/test/C/drs/dr1xx.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/compound_assign.cpp
M clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/CodeGen/pointers.cpp
A clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/invalid-call.cir
A clang/test/CIR/IR/invalid-long-double.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
A clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
A clang/test/CIR/IR/switch.cir
A clang/test/CIR/IR/ternary.cir
M clang/test/CIR/IR/vector.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/ternary.cir
A clang/test/CXX/drs/cwg30xx.cpp
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
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
A clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-mfpu.c
A clang/test/Driver/dxc_I.test
A clang/test/Driver/dxc_fspv_extension.hlsl
M clang/test/Driver/hip-options.hip
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/uefi-constructed-args.c
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/r600.languageOptsOpenCL.cl
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags-enabled.c
A clang/test/Modules/emit-module-interface-pcm-input.cpp
A clang/test/Modules/invalid-module-dep.c
M clang/test/OpenMP/assumes_messages.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/metadirective_ast_print.c
A clang/test/OpenMP/metadirective_default.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/OpenMP/metadirective_otherwise.cpp
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
A clang/test/Parser/gh137861.cpp
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/macro_reserved.i
M clang/test/Preprocessor/print-header-json.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
A clang/test/Sema/attr-nonstring.c
M clang/test/Sema/attr-ownership.c
A clang/test/Sema/c++-keyword-in-c.c
A clang/test/Sema/c++-keyword-in-objc.m
A clang/test/Sema/decl-hidden-in-c++.c
A clang/test/Sema/implicit-int-enum-conversion.c
M clang/test/Sema/integer-overflow.c
A clang/test/Sema/ptrauth-struct-function-ptr-field.c
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/typedef-retain.c
M clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-duplicate-decl-specifier.c
A clang/test/Sema/warn-jump-bypasses-init.c
A clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
A clang/test/Sema/warn-tentative-defn-compat.c
M clang/test/SemaCXX/builtin-object-size-cxx14.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
A clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-default-clause.c
M clang/test/SemaOpenACC/combined-construct-default-clause.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/combined-construct-self-clause.c
M clang/test/SemaOpenACC/combined-construct-self-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
M clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-default-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-self-clause.c
M clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
M clang/test/SemaOpenACC/data-construct-async-clause.c
M clang/test/SemaOpenACC/data-construct-default-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/data-construct-if-clause.c
M clang/test/SemaOpenACC/data-construct.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-collapse-clause.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenCL/invalid-block.cl
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
M clang/tools/CMakeLists.txt
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndexer.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/Basic/CMakeLists.txt
A clang/unittests/Basic/OffloadArchTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Driver/ModuleCacheTest.cpp
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M flang-rt/README.md
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/FortranStandardsSupport.md
M flang/docs/ReleaseNotes.md
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/TBAAForest.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/Driver/flang-ld-powerpc.f90
A flang/test/Driver/func-attr-instrument-functions.f90
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
M flang/test/Fir/basic-program.fir
A flang/test/Fir/convert-nontemporal-to-llvm.fir
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/simd-nontemporal.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
A flang/test/HLFIR/volatile.fir
M flang/test/HLFIR/volatile1.fir
M flang/test/HLFIR/volatile2.fir
M flang/test/HLFIR/volatile3.fir
M flang/test/HLFIR/volatile4.fir
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
M flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/volatile-allocatable1.f90
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
A flang/test/Preprocessing/pp048.F
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/declarations08.f90
A flang/test/Semantics/resolve125.f90
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
A flang/test/Transforms/tbaa3.fir
A flang/test/Transforms/tbaa4.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/offsetof_macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/setjmp.yaml
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/setjmp/CMakeLists.txt
M libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/sigsetjmp.cpp
A libc/src/setjmp/linux/CMakeLists.txt
A libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/setjmp_impl.h
A libc/src/setjmp/siglongjmp.cpp
A libc/src/setjmp/siglongjmp.h
A libc/src/setjmp/sigsetjmp.h
A libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/setjmp.cpp
A libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/src/stdio/printf_core/core_structs.h
M libc/src/string/memory_utils/aarch64/inline_bcmp.h
M libc/src/string/memory_utils/aarch64/inline_memcmp.h
M libc/src/string/memory_utils/aarch64/inline_memmove.h
M libc/src/string/memory_utils/aarch64/inline_memset.h
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/op_aarch64.h
M libc/test/src/search/lfind_test.cpp
M libc/test/src/search/lsearch_test.cpp
M libc/test/src/setjmp/CMakeLists.txt
A libc/test/src/setjmp/sigsetjmp_test.cpp
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/fmax.cl
R libclc/amdgcn/lib/math/fmin.cl
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
A libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_fmax.h
A libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/math/gentype.inc
R libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
A libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_scalar_second_arg.inc
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_fmax.cl
A libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/math/clc_asinpi.inc
M libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
A libclc/clc/lib/generic/math/clc_fdim.cl
A libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_floor.cl
A libclc/clc/lib/generic/math/clc_fmax.cl
A libclc/clc/lib/generic/math/clc_fmin.cl
A libclc/clc/lib/generic/math/clc_fract.cl
A libclc/clc/lib/generic/math/clc_fract.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fmax.cl
A libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
R libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
R libclc/generic/include/clc/integer/integer-gentype.inc
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
R libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/fract.h
R libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/fdim.cl
R libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmin.cl
M libclc/generic/lib/math/fract.cl
R libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/trunc.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/fmax.cl
R libclc/r600/lib/math/fmin.cl
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__type_traits/is_convertible.h
R libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/module.modulemap.in
M libcxx/include/type_traits
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
M lld/ELF/ICF.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/DriverUtils.cpp
M lld/MachO/InputFiles.cpp
M lld/docs/ld.lld.1
A lld/test/COFF/cygwin-symbols.s
A lld/test/COFF/merge-data-bss.test
M lld/test/ELF/sparcv9-reloc.s
M lld/test/ELF/sparcv9-tls-le.s
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/bp-section-orderer.s
A lld/test/MachO/reexport-without-rpath.s
A lld/utils/run_benchmark.py
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Host/linux/Support.h
A lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/Block.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/linux/Support.cpp
A lldb/source/Host/posix/Support.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTMetadata.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
M lldb/source/Plugins/Process/Linux/Perf.cpp
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/Makefile
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/main.cpp
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/linux-x86_64.core
A lldb/test/API/commands/target/stop-hooks/on-core-load/stop_hook.py
A lldb/test/API/commands/target/stop-hooks/on-core-load/test.core.yaml
M lldb/test/API/commands/watchpoints/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
M lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
M lldb/test/API/lang/cpp/dynamic-value/Makefile
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/dynamic-value/a.h
A lldb/test/API/lang/cpp/dynamic-value/forward-a.cpp
M lldb/test/API/lang/cpp/dynamic-value/pass-to-base.cpp
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
A lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Host/CMakeLists.txt
R lldb/unittests/Host/linux/HostTest.cpp
R lldb/unittests/Host/linux/SupportTest.cpp
A lldb/unittests/Host/posix/HostTest.cpp
A lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/CrossCompile.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
A llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/CFG.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfYAML.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/Win64EH.h
M llvm/include/llvm/Support/thread.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/KernelInfo.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.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/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AllocationOrder.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Support/Program.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
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/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/CSKY/CSKY.td
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
A llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
A llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.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/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/BasicAA/gep-modulo.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
M llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
M llvm/test/Analysis/ScalarEvolution/guards.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
M llvm/test/Assembler/2002-04-07-InfConstant.ll
M llvm/test/Assembler/2002-04-29-NameBinding.ll
M llvm/test/Assembler/2003-04-15-ConstantInitAssertion.ll
M llvm/test/Assembler/2003-05-12-MinIntProblem.ll
M llvm/test/Assembler/2003-05-21-MalformedStructCrash.ll
M llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
M llvm/test/Assembler/2003-11-24-SymbolTableCrash.ll
M llvm/test/Assembler/2004-01-20-MaxLongLong.ll
M llvm/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll
M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
M llvm/test/Assembler/2006-12-09-Cast-To-Bool.ll
M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
M llvm/test/Assembler/2007-03-18-InvalidNumberedVar.ll
M llvm/test/Assembler/2007-04-20-AlignedLoad.ll
M llvm/test/Assembler/2007-04-20-AlignedStore.ll
M llvm/test/Assembler/2007-08-06-AliasInvalid.ll
M llvm/test/Assembler/2008-01-11-VarargAttrs.ll
M llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
R llvm/test/Assembler/2008-09-02-FunctionNotes2.ll
M llvm/test/Assembler/2008-09-29-RetAttr.ll
M llvm/test/Assembler/2008-10-14-QuoteInName.ll
M llvm/test/Assembler/atomic.ll
M llvm/test/Assembler/convergence-control.ll
A llvm/test/Assembler/invalid-label-call-arg.ll
M llvm/test/Assembler/invalid-label.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
A llvm/test/CodeGen/AArch64/aarch64-ldst-opt-instr-ref.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
R llvm/test/CodeGen/AArch64/nofpclass.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/extload-align.ll
M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unroll.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.8.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
A llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
A llvm/test/CodeGen/DirectX/legalize-memset.ll
R llvm/test/CodeGen/Mips/nofpclass.ll
A llvm/test/CodeGen/NVPTX/byval-const-global.ll
A llvm/test/CodeGen/NVPTX/i128-ld-st.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
A llvm/test/CodeGen/NVPTX/tag-invariant-loads.ll
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
A llvm/test/CodeGen/PowerPC/usubo_carry.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/inline-asm-invalid.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
M llvm/test/CodeGen/SPARC/ctlz.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/pointers/generic_cast_to_ptr_explicit.ll
A llvm/test/CodeGen/SystemZ/mcount.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/reloc.mir
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/tls.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/asm-block-labels.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
R llvm/test/CodeGen/X86/lzcnt-cmp.ll
M llvm/test/CodeGen/X86/mangle-question-mark.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/test/CodeGen/X86/pr30821.mir
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
M llvm/test/CodeGen/X86/win32-preemption.ll
A llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
A llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
A llvm/test/DebugInfo/NVPTX/debug-bool-var.ll
M llvm/test/ExecutionEngine/RuntimeDyld/X86/coff-alignment.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512fp16-intrinsics.ll
M llvm/test/LTO/AMDGPU/closed-world-assumption.ll
R llvm/test/Linker/Inputs/pr22807-1.ll
R llvm/test/Linker/Inputs/pr22807-2.ll
A llvm/test/Linker/Inputs/pr22807.ll
M llvm/test/Linker/Inputs/type-unique-opaque.ll
M llvm/test/Linker/intrinsics-with-unnamed-types.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-opaque.ll
M llvm/test/MC/AArch64/seh.s
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
M llvm/test/MC/Sparc/sparc-assembly-exprs.s
M llvm/test/MC/Sparc/sparc-fixups.s
M llvm/test/MC/Sparc/sparc-little-endian.s
M llvm/test/MC/Sparc/sparc-pic.s
M llvm/test/MC/Sparc/sparc-relocations.s
M llvm/test/MC/Sparc/sparc-tls-relocations.s
M llvm/test/MC/Sparc/sparc64-bpr-offset.s
M llvm/test/MC/SystemZ/machine-directive-invalid.s
M llvm/test/MC/SystemZ/machine-directive.s
M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml
A llvm/test/TableGen/DuplicateProcessorFeatures.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
A llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
M llvm/test/ThinLTO/X86/import_opaque_type.ll
A llvm/test/Transforms/ADCE/convergence.ll
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
A llvm/test/Transforms/BDCE/convergence.ll
M llvm/test/Transforms/ConstraintElimination/abs.ll
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
A llvm/test/Transforms/CorrelatedValuePropagation/pr137582.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
M llvm/test/Transforms/IndVarSimplify/canonicalize-cmp.ll
M llvm/test/Transforms/IndVarSimplify/cycled_phis.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/pr102597.ll
M llvm/test/Transforms/IndVarSimplify/pr126012.ll
M llvm/test/Transforms/IndVarSimplify/pr66986.ll
M llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
M llvm/test/Transforms/IndVarSimplify/scev-invalidation.ll
M llvm/test/Transforms/IndVarSimplify/shift-range-checks.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cmp.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
A llvm/test/Transforms/InstCombine/cttz-shift-exact.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/malloc-free-mismatched.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstSimplify/gep.ll
M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
M llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
A llvm/test/Transforms/LoopVectorize/pr87407-trunc-with-intrinsic.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
M llvm/test/Transforms/ObjCARC/provenance.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
M llvm/test/Transforms/Reg2Mem/non-token-test.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-comparator-fix-vec-ops-compare.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinscis.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
A llvm/test/Verifier/2008-09-02-FunctionNotes2.ll
M llvm/test/Verifier/convergencectrl-invalid.ll
A llvm/test/Verifier/global-initializer-sized.ll
M llvm/test/Verifier/invalid-label-param.ll
M llvm/test/Verifier/memset-pattern-unsized.ll
M llvm/test/Verifier/nofpclass.ll
M llvm/test/Verifier/scalable-global-vars.ll
M llvm/test/Verifier/unsized-types-load.ll
M llvm/test/Verifier/unsized-types-store.ll
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/test/tools/llvm-readobj/COFF/arm64-win-error1.s
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress.ll
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return-nonvoid-noncallee-use.ll
A llvm/test/tools/llvm-reduce/reduce-instructions-to-return.ll
M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
M llvm/test/tools/llvm-reduce/reduce-operands-int.ll
M llvm/test/tools/llvm-reduce/reduce-operands-ptr.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-args.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-callbr.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-invoke.ll
A llvm/test/tools/llvm-reduce/reduce-values-to-return-new-return-type.ll
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
M llvm/tools/llvm-readobj/ARMWinEHPrinter.h
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
A llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.h
M llvm/tools/llvm-reduce/deltas/Utils.cpp
M llvm/tools/llvm-reduce/deltas/Utils.h
M llvm/unittests/ADT/ArrayRefTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/OperationsTest.cpp
M llvm/unittests/IR/ManglerTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/CMakeLists.txt
M llvm/unittests/Support/FormatVariadicTest.cpp
A llvm/unittests/Support/ProgramStackTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/tools/llvm-exegesis/RISCV/TargetTest.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_mc_test_checks.py
M llvm/utils/update_mca_test_checks.py
M llvm/utils/update_mir_test_checks.py
M llvm/utils/update_test_checks.py
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ToEmitCInterface.h
M mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/IR/SymbolTable.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/include/mlir/Pass/Pass.h
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
A mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/Pass/IRPrinting.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/ConvertToEmitC/func-failed.mlir
A mlir/test/Conversion/ConvertToEmitC/func.mlir
A mlir/test/Conversion/ConvertToEmitC/tosa.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
A mlir/test/Conversion/VectorToLLVM/use-vector-alignment.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
A mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/legalize-data.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/variables.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
M mlir/test/Dialect/Vector/invalid.mlir
A mlir/test/Dialect/Vector/linearize-subject-to-bitwidth.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
A mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
A mlir/test/IR/custom-struct-attr-roundtrip.mlir
M mlir/test/IR/invalid.mlir
M mlir/test/IR/parser.mlir
M mlir/test/IR/pretty-resources-print.mlir
M mlir/test/IR/test-func-erase-result.mlir
A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/print-memref.mlir
A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
M mlir/test/Pass/ir-printing-file-tree.mlir
M mlir/test/Target/LLVMIR/Import/blockaddress.ll
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/SPIRV/consecutive-selection.spv
M mlir/test/Target/SPIRV/loop.mlir
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestFunc.cpp
M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.h
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M offload/CMakeLists.txt
A offload/Maintainers.md
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/test/CMakeLists.txt
M offload/test/lit.cfg
A offload/test/unit/lit.cfg.py
A offload/test/unit/lit.site.cfg.in
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/common/Environment.cpp
M offload/unittests/OffloadAPI/common/Environment.hpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M offload/unittests/OffloadAPI/program/olDestroyProgram.cpp
M offload/unittests/OffloadAPI/queue/olCreateQueue.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olWaitQueue.cpp
R offload/unittests/Plugins/CMakeLists.txt
R offload/unittests/Plugins/NextgenPluginsTest.cpp
A utils/bazel/llvm-project-overlay/clang-tools-extra/clang-apply-replacements/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/79ab4d11c736...017dfac5b5e6
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