[all-commits] [llvm/llvm-project] 4d1ae5: [lldb] Reimplment PyRun_SimpleString using the Pyt...
Peter Collingbourne via All-commits
all-commits at lists.llvm.org
Mon Aug 11 11:33:24 PDT 2025
Branch: refs/heads/users/pcc/spr/main.elf-add-support-for-r_aarch64_inst32-relocation
Home: https://github.com/llvm/llvm-project
Commit: 4d1ae58d9e1d679cd0f35ce935579df221b14882
https://github.com/llvm/llvm-project/commit/4d1ae58d9e1d679cd0f35ce935579df221b14882
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Reimplment PyRun_SimpleString using the Python stable C API (#151777)
Reimplment `PyRun_SimpleString` using the Python stable C API and the
`RunString` helper.
Part of https://github.com/llvm/llvm-project/issues/151617
Commit: 3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
https://github.com/llvm/llvm-project/commit/3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
Author: Artem Belevich <tra at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
Log Message:
-----------
[CUDA] Do not include obsolete texture_fetch_functions.h (#151766)
Commit: 154354e60e46debb68716cde867cb4e325ce5eb7
https://github.com/llvm/llvm-project/commit/154354e60e46debb68716cde867cb4e325ce5eb7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
Log Message:
-----------
[lldb] Remove unused PythonObject::Dump (NFC) (#151783)
PythonObject::Dump isn't called and uses `_PyObject_Dump`, which isn't
part of the stable API.
Part of https://github.com/llvm/llvm-project/issues/151617.
Commit: 99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
https://github.com/llvm/llvm-project/commit/99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atanhf implementation to header-only in src/__support/math folder. (#151399)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 49a24b3116236d65cc2541e8d176ecf9dcb152db
https://github.com/llvm/llvm-project/commit/49a24b3116236d65cc2541e8d176ecf9dcb152db
Author: Bill Wendling <morbo at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[CodeGen][counted_by] Support use of the comma operator (#151776)
Writing something like this:
__builtin_dynamic_object_size((0, p->array), 0)
is equivalent to writing this:
__builtin_dynamic_object_size(p->array, 0)
though the former will give a warning about the first value being
unused.
Commit: 65990d61486c44186daec8e3c0831a32780b3e1d
https://github.com/llvm/llvm-project/commit/65990d61486c44186daec8e3c0831a32780b3e1d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Fix crash with --no-process-syms on MinGW (#151386)
In this case, `J->getProcessSymbolsJITDylib()` returns a NULL pointer.
In order to make sure `__main` is still defined, add the symbol to
`J->getMainJITDylib()` instead in that case. This returns a reference
and thus cannot be NULL.
Fixes #143080
Commit: 962ee7a5688d4156e0cf035422a26d273563643f
https://github.com/llvm/llvm-project/commit/962ee7a5688d4156e0cf035422a26d273563643f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_pk8_* instructions (#151758)
Commit: 8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
https://github.com/llvm/llvm-project/commit/8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
[OpenMP] Use the `libc` malloc for AMDGPU if available (#151241)
Summary:
This patch enables the OpenMP runtime to use the general-purpose
`malloc` interface in `libc` if the user built OpenMP with it enabled.
All this requires is keeping `malloc` as an external function so it will
be resolved later by the linker.
Commit: 4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
https://github.com/llvm/llvm-project/commit/4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
Author: James Y Knight <jyknight at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
NFC: Clean up of IntrusiveRefCntPtr construction from raw pointers. (#151782)
This commit handles the following types:
- clang::ExternalASTSource
- clang::TargetInfo
- clang::ASTContext
- clang::SourceManager
- clang::FileManager
Part of cleanup #151026
Commit: cc3932bf290fce1ba13102fbe1af9e1758323f55
https://github.com/llvm/llvm-project/commit/cc3932bf290fce1ba13102fbe1af9e1758323f55
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_sr_pk8_* instructions (#151765)
Commit: 185a23e865c31145588276e7e0db2460e01eb703
https://github.com/llvm/llvm-project/commit/185a23e865c31145588276e7e0db2460e01eb703
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/PropertySetRegistryTest.cpp
Log Message:
-----------
[SYCL] Add property set types and JSON representation (#147321)
This PR adds the `PropertySet` type, along with a pair of functions used
to serialize and deserialize into a JSON representation. A property set
is a key-value map, with values being one of 2 types - uint32 or byte
array. A property set registry is a collection of property sets, indexed
by a "category" name.
In SYCL offloading, property sets will be used to communicate metadata
about device images needed by the SYCL runtime. For example, there is a
property set which has a byte array containing the numeric ID, offset,
and size of each SYCL2020 spec constant. Another example is a property
set describing the optional kernel features used in the module: does it
use fp64? fp16? atomic64?
This metadata will be computed by `clang-sycl-linker` and the JSON
representation will be inserted in the string table of each
output `OffloadBinary`. This JSON will be consumed the SYCL offload
wrapper and will be lowered to the binary form SYCL runtime expects.
For example, consider this SYCL program that calls a kernel that uses
fp64:
```c++
#include <sycl/sycl.hpp>
using namespace sycl;
class MyKernel;
int main() {
queue q;
auto *p = malloc_shared<double>(1, q);
*p = .1;
q.single_task<MyKernel>([=]{ *p *= 2; }).wait();
std::cout << *p << "\n";
free(p, q);
}
```
The device code for this program would have the kernel marked with
`!sycl_used_aspects`:
```
define spir_kernel void @_ZTS8MyKernel([...]) !sycl_used_aspects !n { [...] }
!n = {i32 6}
```
`clang-sycl-linker` would recognize this metadata and then would output
the following JSON in the `OffloadBinary`'s key-value map:
```
{
"SYCL/device requirements": {
// aspects contains a list of sycl::aspect values used
// by the module; in this case just the value 6 encoded
// as a 4-byte little-endian integer
"aspects": "BjAwMA=="
}
}
```
The SYCL offload wrapper would lower those property sets to something
like this:
```c++
struct _sycl_device_binary_property_set_struct {
char *CategoryName;
_sycl_device_binary_property *PropertiesBegin;
_sycl_device_binary_property *PropertiesEnd;
};
struct _sycl_device_binary_property_struct {
char *PropertyName;
void *ValAddr;
uint64_t ValSize;
};
//
_sycl_device_binary_property_struct device_requirements[] = {
/* PropertyName */ "aspects",
/* ValAddr */ [pointer to the bytes 0x06 0x00 0x00 0x00],
/* ValSize */ 4,
};
_sycl_device_binary_property_set_struct properties[] = {
/* CategoryName */ "SYCL/device requirements",
/* PropertiesBegin */ device_requirements,
/* PropertiesEnd */ std::end(device_requirments),
}
```
---------
Co-authored-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 8039486706dcfa206e614715e5a131ee5b41e1df
https://github.com/llvm/llvm-project/commit/8039486706dcfa206e614715e5a131ee5b41e1df
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 185a23e865c3
Commit: 0988510ad436e3fc9e9526dda505c02a53d497a1
https://github.com/llvm/llvm-project/commit/0988510ad436e3fc9e9526dda505c02a53d497a1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_perm_pk16_* instructions (#151773)
Commit: 1db2879a36d11b2e54826b2fc97174e61ad68474
https://github.com/llvm/llvm-project/commit/1db2879a36d11b2e54826b2fc97174e61ad68474
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MCAssembler: Split evaluateFixup to Number of fixups and Number of fixup evaluations for relaxation
The number of fixups is a more important metric, guiding the data
structure optimization.
Commit: ee67f78776d0af64bc27cabcca62883f7a698467
https://github.com/llvm/llvm-project/commit/ee67f78776d0af64bc27cabcca62883f7a698467
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
Fix error caused by reference to local binding (#151789)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
Following code snippet:
`
for (const auto &[CategoryName, PropSet] : PSRegistry) {
J.attributeObject(CategoryName, [&] {
for (const auto &[PropName, PropVal] : PropSet) {
`
causes a build warning that is emitted as an error.
error: reference to local binding 'PropSet' declared in enclosing lambda
expression
This is resolved by capturing PropSet in a local variable.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: de7ee884a6ff50afc6379ee9febb4780ddedff11
https://github.com/llvm/llvm-project/commit/de7ee884a6ff50afc6379ee9febb4780ddedff11
Author: jinge90 <ge.jin at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M compiler-rt/test/builtins/Unit/muldc3_test.c
Log Message:
-----------
Relax muldc3 test to avoid precision issue (#151663)
Commit: b075dadbd3e0e928bdeddb3d36af64e8a383e305
https://github.com/llvm/llvm-project/commit/b075dadbd3e0e928bdeddb3d36af64e8a383e305
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/unittests/Frontend/CMakeLists.txt
Log Message:
-----------
Add missing link component for Frontend offloading test (#151796)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
/usr/bin/ld:
unittests/Frontend/CMakeFiles/LLVMFrontendTests.dir/PropertySetRegistryTest.cpp.o:
undefined reference to symbol
'_ZN4llvm10offloading21writePropertiesToJSONERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_IS7_St7variantIJjNS_11SmallVectorIhLj0EEEEESt4lessIS7_ESaISt4pairIKS7_SB_EEESD_SaISE_ISF_SI_EEERNS_11raw_ostreamE'
Need to add a missing LLVM link component in CMakeLists.txt.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 5e3cc00060e3fc19996d3201360c5693bc3ecaa8
https://github.com/llvm/llvm-project/commit/5e3cc00060e3fc19996d3201360c5693bc3ecaa8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
[Offloading] Fix a warning
This patch fixes:
llvm/lib/Frontend/Offloading/PropertySet.cpp:95:12: error: unused
variable '[It, Inserted]' [-Werror,-Wunused-variable]
Commit: a1c3c6554f0fe2a0404268c07017c315f52b5415
https://github.com/llvm/llvm-project/commit/a1c3c6554f0fe2a0404268c07017c315f52b5415
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
Log Message:
-----------
[clang][test] Split out staticanalyzer portion of Modules/specializations-lazy-load-parentmap-crash.cpp (#151259)
When the static analyzer is disabled with
-DCLANG_ENABLE_STATIC_ANALYZER=OFF, the newly added
specializations-lazy-load-parentmap-crash.cpp test fails with:
error: action RunAnalysis not compiled in
--
********************
********************
Failed Tests (1):
Clang :: Modules/specializations-lazy-load-parentmap-crash.cpp
Split out the part of the test that requires the static analyzer so that
it does not run when the static analyzer is unavailable.
Commit: 44500ae265cb537905e53b02d8c1e6ef7154a3bd
https://github.com/llvm/llvm-project/commit/44500ae265cb537905e53b02d8c1e6ef7154a3bd
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Use getDefiningOp<OpTy>() instead of dyn_cast<OpTy>(getDefiningOp()) (NFC) (#151217)
This applies similar changes to llvm/llvm-project#150428
Commit: af0be76a35a4edefcad778bd329fc44174c0e108
https://github.com/llvm/llvm-project/commit/af0be76a35a4edefcad778bd329fc44174c0e108
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace reverse RPOT with PO traversal (NFC) (#151757)
Commit: 69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
https://github.com/llvm/llvm-project/commit/69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
Log Message:
-----------
[mlir][quant] Fix quantization example. (#151518)
Fix and improve code example
quic_mabsar at quicinc.com
Commit: eefc3d275f1e089cb400e697659c55d3ae05006d
https://github.com/llvm/llvm-project/commit/eefc3d275f1e089cb400e697659c55d3ae05006d
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
A clang/test/FixIt/fixit-c++17.cpp
Log Message:
-----------
[clang][diagnostics] Fix fix-it hint parenthesis placement for fold expressions (#151790)
- Closes #151787
Insert the right parenthesis one token later to correctly enclose the
expression.
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 0e40051565db1399b573b4bddc43c806ca86dc8d
https://github.com/llvm/llvm-project/commit/0e40051565db1399b573b4bddc43c806ca86dc8d
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Skip declarations in system headers in RenamerClangTidyC… (#151772)
…heck
One typically only wants to perform renaming operations in user code,
not in system headers (which are out of the user's control). Let's skip
those altogether.
This leads to performance improvements in clang-tidy. As a benchmark, I
run all checks on a .cpp file that #includes all C++ standard headers.
On trunk:
```
Suppressed 213362 warnings (213362 in non-user code).
real 0m14.422s
user 0m14.236s
sys 0m0.184s
```
On this patch:
```
Suppressed 75411 warnings (75411 in non-user code).
real 0m12.472s
user 0m12.334s
sys 0m0.136s
```
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 41803a24140c3c53bbc82c7b61c7b196cf9d113a
https://github.com/llvm/llvm-project/commit/41803a24140c3c53bbc82c7b61c7b196cf9d113a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode] Replace MoveFn With DtorFn + memcpy (#151717)
First, the old MoveFn was rather inefficient, since the dead data cannot
ever be accessed anyway.
Second, there was a problem where the only reason a block still had a
pointer to it (and thus was made into a DeadBlock instead of simply
being deallocated) as that a nested field in the block pointed to the
block itself.
Fix this by calling the dtor function unconditionally. If the block
*still* has pointers after that, we really need to create a DeadBlock
for it.
Commit: 834621564fffb792008a6177ecade1c685519820
https://github.com/llvm/llvm-project/commit/834621564fffb792008a6177ecade1c685519820
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
Log Message:
-----------
[clang][bytecode] Don't call ctor of primitive array elements (#151725)
We don't do that for single primitive variables, so avoid it for
primitive array elements as well.
Commit: acc8b977d96745843a421e3b45da01343a3b5a2a
https://github.com/llvm/llvm-project/commit/acc8b977d96745843a421e3b45da01343a3b5a2a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
A mlir/test/Transforms/test-legalizer-full-rollback.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
A mlir/test/Transforms/test-legalizer-rollback.mlir
M mlir/test/Transforms/test-legalizer.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Move rollback tests to separate file (#151809)
Move dialect conversion tests that require a rollback to a separate
file. This is in preparation of the One-Shot Dialect Conversion
refactoring, which does no longer support rollbacks.
Also add a few more `CHECK:`.
Commit: 16a0892a9db1825ffa5e42b801e13215418d93b9
https://github.com/llvm/llvm-project/commit/16a0892a9db1825ffa5e42b801e13215418d93b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/test/Transforms/test-legalizer-full-rollback.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Add missing FileCheck (#151817)
This should have been part of #151809.
Commit: acdc01b0392343daa7b91a34ba5d9c45372ed1bf
https://github.com/llvm/llvm-project/commit/acdc01b0392343daa7b91a34ba5d9c45372ed1bf
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
Log Message:
-----------
[Offload][UnitTests] Fix incorrect CUDA path variable in CMake helper (#151820)
This PR fixes a minor bug in the `add_offload_test_device_code` CMake
helper function in `offload/unittests/CMakeLists.txt`.
The function was discovering the local CUDA Toolkit path and storing it
in the `cuda_path` variable but was then using the incorrect `CUDA_ROOT`
variable in the `add_custom_command` call for the NVPTX target.
This change corrects the command to use the intended `cuda_path`
variable.
Commit: a1dfcc6e8154bb8c188062f0a50436a27b54f763
https://github.com/llvm/llvm-project/commit/a1dfcc6e8154bb8c188062f0a50436a27b54f763
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
Log Message:
-----------
[clang][bytecode] Fix D3DCOLORtoUBYTE4 hlsl test (#151819)
HLSL is using CK_FloatingToIntegral casts to cast to vectors, which we
don't support (neither does the current interpreter). Also fix a crash
when trying to promote the HLSL bool, which can't be promoted it seems.
Commit: 0bdb4a36465407a529405cc7b84c2d5acb6528c2
https://github.com/llvm/llvm-project/commit/0bdb4a36465407a529405cc7b84c2d5acb6528c2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][DWARFIndex][NFC] Change GetNamespace/GetGlobalVariables APIs to use IterationAction (#151668)
Continuation from https://github.com/llvm/llvm-project/pull/151489
Commit: fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
https://github.com/llvm/llvm-project/commit/fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Remove leftover comment (#151822)
>From d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
Commit: 7e9927127f47c9576f273329a7f7dcc718ad622b
https://github.com/llvm/llvm-project/commit/7e9927127f47c9576f273329a7f7dcc718ad622b
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/bitfields.c
Log Message:
-----------
[CIR] Fix outdated bitfield iteration logic in accumulateFields (#151741)
This PR fixes the outdated logic for accumulating bitfields in
`accumulateFields`. The old approach remained after the algorithm was
updated. A non-bitfield member would act as a barrier, causing
`accumulateBitFields` to receive an incomplete range of fields. As a
result, it failed to accumulate them properly when clipping was
necessary.
For reference, in ClangIR we already handle this correctly:
[https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714](https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714)
Commit: b04968c4cd01758a728d46670a763b06ddf75e3b
https://github.com/llvm/llvm-project/commit/b04968c4cd01758a728d46670a763b06ddf75e3b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
Log Message:
-----------
[ExecutionEngine] Remove an unnecessary cast (NFC) (#151798)
value() already returns uint64_t.
Commit: 8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
https://github.com/llvm/llvm-project/commit/8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/tools/llvm-objdump/COFFDump.cpp
Log Message:
-----------
[llvm-objdump] Remove an unnecessary cast (NFC) (#151799)
Size is already of uint32_t.
Commit: 1b0285671e33e7ef3d2d7a9029373acd8273a55a
https://github.com/llvm/llvm-project/commit/1b0285671e33e7ef3d2d7a9029373acd8273a55a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151800)
With empty, we don't have to repeat the whole expression.
Commit: 02b89b8f47eecbae7ce16273966499cbf9ab0a1c
https://github.com/llvm/llvm-project/commit/02b89b8f47eecbae7ce16273966499cbf9ab0a1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy] Use llvm::none_of (NFC) (#151801)
We can pass a range to llvm::none_if.
Commit: d72907624544714ea53698da2f678e40947ee8d9
https://github.com/llvm/llvm-project/commit/d72907624544714ea53698da2f678e40947ee8d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Proofread LanguageExtensions.rst (#151802)
Commit: 969b246c0218a05a0ed0e237f4f92d28554b88c2
https://github.com/llvm/llvm-project/commit/969b246c0218a05a0ed0e237f4f92d28554b88c2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)
This patch improves the helper classes in the SpacemiT-X60 vector
scheduling model and will be used in follow-up PRs:
There are now two functions to map LMUL to values:
* ConstValueUntilLMULThenDoubleBase: returns BaseValue for LMUL values
before startLMUL, Value for startLMUL, then doubles Value for each
subsequent LMUL. Useful for cases where fractional LMULs have constant
cycles, and integer LMULs double as they increase.
* GetLMULValue: takes an ordered list of LMUL cycles and LMUL and
returns the corresponding cycle. Useful for cases we can't easily cover
with ConstValueUntilLMULThenDoubleBase.
This PR also adds some useful, simplified versions of
ConstValueUntilLMULThenDoubleBase, e.g., ConstValueUntilLMULThenDouble
(when BaseValue == Value), or ConstOneUntilMF4ThenDouble (when cycles
start to double after MF2).
Commit: c304a2bb0c83ce34c7a63d9812888fc89c3facb5
https://github.com/llvm/llvm-project/commit/c304a2bb0c83ce34c7a63d9812888fc89c3facb5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][bytecode][NFC] Code size is always aligned (#151824)
We don't need to align Code.size(), since we always resize it to aligned
values, so Code.size() is always aligned.
Commit: 08f50e96657bcc4ee9186b54184c5e82c42b910e
https://github.com/llvm/llvm-project/commit/08f50e96657bcc4ee9186b54184c5e82c42b910e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Use vector tripcount if computable when simplifying conds. (#151034)
Update isConditionTrueViaVFAndUF to use the vector trip count if
computable. This is the case when it has been materialized to a
constant. Otherwise fall back to the trip count.
PR: https://github.com/llvm/llvm-project/pull/151034
Commit: 300e41d72fc4f04b3cd6e65bd56a01643bf7f060
https://github.com/llvm/llvm-project/commit/300e41d72fc4f04b3cd6e65bd56a01643bf7f060
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
[CG] Add VTs for v[567]i1 and v[567]f16 (#151763)
We already had corresponding f32 and i32 vector types for these sizes.
Also add VTs v[567]i8 and v[567]i16: these are needed by the Hexagon
backend which for each i1 vector types want to query information about
the corresponding i8 and i16 types in
HexagonTargetLowering::getPreferredHvxVectorAction.
Commit: d3589edafca1f893188540c8e85a1fa1a4dd22c1
https://github.com/llvm/llvm-project/commit/d3589edafca1f893188540c8e85a1fa1a4dd22c1
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
MCAsmBackend::applyFixup: Change `Data` to indicate the relocated location
`Data` now references the first byte of the fixup offset within the current fragment.
MCAssembler::layout asserts that the fixup offset is within either the
fixed-size content or the optional variable-size tail, as this is the
most the generic code can validate without knowing the target-specific
fixup size.
Many backends applyFixup assert
```
assert(Offset + Size <= F.getSize() && "Invalid fixup offset!");
```
This refactoring allows a subsequent change to move the fixed-size
content outside of MCSection::ContentStorage, fixing the
-fsanitize=pointer-overflow issue of #150846
Pull Request: https://github.com/llvm/llvm-project/pull/151724
Commit: a3808d9a67649a091f459c66db787d78ef6778df
https://github.com/llvm/llvm-project/commit/a3808d9a67649a091f459c66db787d78ef6778df
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
MC: Remove unused MCEncodedFragment
Commit: 8e9e38acc8ff4c3bcae74e85a65e499947264782
https://github.com/llvm/llvm-project/commit/8e9e38acc8ff4c3bcae74e85a65e499947264782
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86] Try to shrink i64 compares if the input has enough sign bits (#149719)
If there are enough sign bits in a 64 bit value, we can just compare the bottom 32 bits.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 9d7a23304497742612af7b33b94b99a7c9d06701
https://github.com/llvm/llvm-project/commit/9d7a23304497742612af7b33b94b99a7c9d06701
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
Revert "[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)"
This reverts commit 969b246c0218a05a0ed0e237f4f92d28554b88c2.
The commit caused ubsan failure:
```
/home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41: runtime error: shift exponent 18446744073709551612 is too large for 64-bit type 'uint64_t' (aka 'unsigned long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41
```
Commit: f1aa6050bd90f8ec4273da55d362e23905ad3a81
https://github.com/llvm/llvm-project/commit/f1aa6050bd90f8ec4273da55d362e23905ad3a81
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
MCFragment: Use trailing data for fixed-size part
Reapply after #151724 switched to `char *Data`, fixing a
-fsanitize=pointer-overflow issue in MCAssembler::layout.
---
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
Pull Request: https://github.com/llvm/llvm-project/pull/150846
Commit: dfbf13cded64983e0a7512bcdcab577732671ec6
https://github.com/llvm/llvm-project/commit/dfbf13cded64983e0a7512bcdcab577732671ec6
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
M llvm/test/lit.cfg.py
Log Message:
-----------
[LLVM] adjust lit.cfg.py for Cygwin (#151416)
Cygwin is like Windows in that it uses COFF, and doesn't emit
.debug_frame on 64-bit architectures.
However, if -elf is appended to the target triple on Cygwin MCJIT remote
tests fail due to `__register_frame` not being defined. Only one test
fails without -elf that succeeds with it, so mark just that test as
XFAIL on Cygwin.
Commit: 7598c25b5a2a4e81a302cc775a7882c793cfe6fb
https://github.com/llvm/llvm-project/commit/7598c25b5a2a4e81a302cc775a7882c793cfe6fb
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scale_pk16 gfx1250 instructions (#151804)
Commit: f952a84f2f913c6f93a85af07e86b1a87778d349
https://github.com/llvm/llvm-project/commit/f952a84f2f913c6f93a85af07e86b1a87778d349
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Use getShiftAmountConstant in buildSDIVPow2WithCMov.
Commit: a585d5758847dd7e4cd7d8137bea6c1577c53009
https://github.com/llvm/llvm-project/commit/a585d5758847dd7e4cd7d8137bea6c1577c53009
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/vsha2cl.ll
Log Message:
-----------
[RISCV] vsha2cl intrinsics should select vsha2cl instructions.
Fixes #151814.
Commit: c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
https://github.com/llvm/llvm-project/commit/c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
Log Message:
-----------
RISCVAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
RISCVAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Commit: 39c30665e99145e07b0170b552f18371a67b2e03
https://github.com/llvm/llvm-project/commit/39c30665e99145e07b0170b552f18371a67b2e03
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
Log Message:
-----------
[VPlan] Update type of cloned instruction in scalarizeInstruction.
The operands of the replicate recipe may have been narrowed, resulting
in a narrower result type. Update the type of the cloned instruction to
the correct type.
Fixes https://github.com/llvm/llvm-project/issues/151392.
Commit: d696f8104e422f807d64b4d5d24c6e7bc22d429f
https://github.com/llvm/llvm-project/commit/d696f8104e422f807d64b4d5d24c6e7bc22d429f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Maximize usage of isOneOf() in TokenAnnotator (#151658)
Also make a StringRef literal `static constexpr`.
Commit: c330585bc78ec356a9d050832565999abb8ad1d4
https://github.com/llvm/llvm-project/commit/c330585bc78ec356a9d050832565999abb8ad1d4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
Log Message:
-----------
LoongArchAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
LoongArchAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Similar to c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Commit: bc463c059ccc5652c0c63e86f82d38d94efe1dbd
https://github.com/llvm/llvm-project/commit/bc463c059ccc5652c0c63e86f82d38d94efe1dbd
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_pk16_* gfx1250 instructions (#151807)
Commit: 281df9e64720c3ab1c5e03d05087d3fab752d459
https://github.com/llvm/llvm-project/commit/281df9e64720c3ab1c5e03d05087d3fab752d459
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Log Message:
-----------
RISCVAsmBackend::relaxDwarflineAddr: Try special opcode
LoongArch #77728 did better than RISCV.
If the label difference can be resolved (there is no linker-relaxable
fragment in between), we should use the default handling, which utilizes
a shorter special opcode.
Commit: bb3cd6221b207e13a430d8cd438e1d4212b80aa4
https://github.com/llvm/llvm-project/commit/bb3cd6221b207e13a430d8cd438e1d4212b80aa4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf16.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atanhf16 implementation to header-only in src/__support/math folder. (#151779)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
https://github.com/llvm/llvm-project/commit/b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
Reapply "[clang] Remove %T from tests (#151614)"
This reverts commit 4c80193a58a5c24e2bbebe291feb406191c4e2ab.
This relands the commit. The issues have theoretically been fixed.
Commit: 5f8338749aa2fab742960b013809e1e0a8fbcfdd
https://github.com/llvm/llvm-project/commit/5f8338749aa2fab742960b013809e1e0a8fbcfdd
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/src/__support/math/atanhf16.h
Log Message:
-----------
[libc] fix build errors caused by atanhf16. (#151838)
Commit: 21f1f9558df3830ffa637def364e3c0cb0dbb3c0
https://github.com/llvm/llvm-project/commit/21f1f9558df3830ffa637def364e3c0cb0dbb3c0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/test/tools/llvm-ir2vec/embeddings.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
Log Message:
-----------
[IR2Vec][llvm-ir2vec] Changing clEnumValN to cl::SubCommand (#151384)
Refactor llvm-ir2vec to use subcommands instead of a mode flag for better CLI usability.
- Converted the `--mode` flag to three distinct subcommands: `triplets`, `entities`, and `embeddings`
- Updated documentation, tests, and python script
Commit: faa931b717c02d57f0814caa9133219040e6a85b
https://github.com/llvm/llvm-project/commit/faa931b717c02d57f0814caa9133219040e6a85b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCSection.cpp
Log Message:
-----------
MCFragment: Store the number of variable-size tail fixups as uint8_t
Decrease sizeof(MCFragment) by 8 on 64-bit machines.
Commit: d18511e10a0d737c13a7a017ef3d0655911fc22d
https://github.com/llvm/llvm-project/commit/d18511e10a0d737c13a7a017ef3d0655911fc22d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_sr_pk16_* gfx1250 instructions (#151810)
Commit: 849009c6350476d7a9968ea300e2805f1384f8cc
https://github.com/llvm/llvm-project/commit/849009c6350476d7a9968ea300e2805f1384f8cc
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Add missing v_permlane_up_b32 test. NFC. (#151811)
Commit: 7ebbbd885f759ef5b7ae50a1b07f810296c4967f
https://github.com/llvm/llvm-project/commit/7ebbbd885f759ef5b7ae50a1b07f810296c4967f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
Log Message:
-----------
[DAG] Always use stack to promote bitcast when the source is vector (#151065)
The optimization introduced by #125637 tried to avoid using stacks to
promote bitcast with vector result type. However, it wouldn't be correct
if the input type is vector. This patch limits that optimizations to
only scalar to vector bitcasts.
Commit: 779868de6975f6fd0ea17bb9a8e929037d3752d7
https://github.com/llvm/llvm-project/commit/779868de6975f6fd0ea17bb9a8e929037d3752d7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
Log Message:
-----------
[lldb][test] Skip tail_call_frames tests on older Clang versions
These have been un-XFAILed in
`ebe6eba62580592af7065a36b22d929c15291e9a`, but require following Clang
fix: https://github.com/llvm/llvm-project/pull/150022. So skip older
compilers.
Commit: cd19fbad093f2834bfafa6ee1535a48c8d453077
https://github.com/llvm/llvm-project/commit/cd19fbad093f2834bfafa6ee1535a48c8d453077
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/include/math.yaml
Log Message:
-----------
[libc] Enable float math functions on the GPU (#151841)
This patch adds the `tanpif` math functions to the GPU build. It also
adds the `cospif` and `sinpif` math functions to the `math.h` header.
Commit: 7de0da40c0938e1ea7c11a672ae5a329dcf92def
https://github.com/llvm/llvm-project/commit/7de0da40c0938e1ea7c11a672ae5a329dcf92def
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
[clangd] Support invoking call hierarchy on enum constants (#147042)
Fixes https://github.com/clangd/clangd/issues/2203
Commit: 1da76b42ae437235a6be2c75d91b8d4e04a6d1da
https://github.com/llvm/llvm-project/commit/1da76b42ae437235a6be2c75d91b8d4e04a6d1da
Author: Jouni <dz4tune at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
Log Message:
-----------
[clangd][NFC] Make some local variables HeaderSourceSwitch.cpp const and constexpr (#143193)
Commit: 1c1432f5d2001885d9f816ef03d5164bab7c55d5
https://github.com/llvm/llvm-project/commit/1c1432f5d2001885d9f816ef03d5164bab7c55d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove duplicate vsha2ch/vsha2cl/vsha2ms i32 patterns. NFC (#151835)
We had separate i32 patterns for Zvknha and Zvknhb. Use an Or predicate
to combine them.
Commit: 8259be65c7d60d6ccba4ee168f275076061029e2
https://github.com/llvm/llvm-project/commit/8259be65c7d60d6ccba4ee168f275076061029e2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Remove unused includes (#151848)
UnsignedOrNone.h from PrimType.h and ASTLambda.h from Function.h.
Commit: c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
https://github.com/llvm/llvm-project/commit/c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
Author: Mythreya Kuricheti <git at mythreya.dev>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
Log Message:
-----------
[clang][Tooling] Choose header insertion location in global module fragment (#151624)
Ensures that headers are inserted after `module;` declaration by
updating minimum offset.
Commit: 49b5a1fa71d5af2b463c327e17017c754eb50801
https://github.com/llvm/llvm-project/commit/49b5a1fa71d5af2b463c327e17017c754eb50801
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
Log Message:
-----------
[AMDGPU] fmuladd.f32.ll - clean up prefixes and regenerate checks (#151832)
Automate the fmuladd.f32.ll test checks as manually fixing changes while
working on the topological dag patches was doing my head in
Commit: f72b3ec85267af38d55cd80060415079780406a4
https://github.com/llvm/llvm-project/commit/f72b3ec85267af38d55cd80060415079780406a4
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
Log Message:
-----------
[clang-tidy] Add 'enable-check-profiling' with aggregated results to 'run-clang-tidy' (#151011)
Add new option `enable-check-profiling` to `run-clang-tidy` for seamless
integration of `clang-tidy`'s `enable-check-profiling` option.
`run-clang-tidy` will post aggregated results report in the same style
as `clang-tidy`.
This PR will help users to benchmark their `clang-tidy` runs easily.
Also, `clang-tidy` developers could build benchmark infrastructure in
the future.
Commit: d9971be83e5d23631b04b3ce40bfb2be01b6085e
https://github.com/llvm/llvm-project/commit/d9971be83e5d23631b04b3ce40bfb2be01b6085e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/load-cmp.ll
Log Message:
-----------
[InstCombine] Make foldCmpLoadFromIndexedGlobal more resilient to non-array geps. (#150639)
My understanding is that gep [n x i8] and gep i8 can be treated
equivalently - the array type conveys no extra information and could be
removed. This goes through foldCmpLoadFromIndexedGlobal and tries to
make it work for non-array gep types, so long as the index type still
matches the array being loaded.
Commit: 69bec0afbb8f2aa0021d18ea38768360b16583a9
https://github.com/llvm/llvm-project/commit/69bec0afbb8f2aa0021d18ea38768360b16583a9
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
A llvm/test/CodeGen/X86/large-displacements-fastisel.ll
A llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets (#123872)
The assertion previously did not work correctly because the operand was
being truncated to an `int` prior to comparison.
Change the assertion into a a reported error as suggested in
https://github.com/llvm/llvm-project/pull/101840#issuecomment-2304992425
by @arsenm
Finally, fix the lowering on 64-bit targets so that offsets larger than
32-bit are correctly addressed and add tests for various reported
issues.
Commit: 5325f2b93065ed2981d51a266bea54c0f5ebd632
https://github.com/llvm/llvm-project/commit/5325f2b93065ed2981d51a266bea54c0f5ebd632
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable 'performance-move-const-arg' in '.clang-tidy' config (#148549)
Set `performance-move-const-arg.CheckTriviallyCopyableMove` option to
`false` because "trivially copyable" is too strict and give warning for
e.g. `MixData` class:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L389
Here:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L504-L505
I find `std::move` here useful.
Commit: c3902e46b748cd808fbffeea25489bb41b15a6b2
https://github.com/llvm/llvm-project/commit/c3902e46b748cd808fbffeea25489bb41b15a6b2
Author: Andrey <andrey.a.davydov at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression (#139474)
Let's consider the following code from the issue #139467:
```c
void test(int cond, char c) {
char ret = cond > 0 ? ':' : c;
}
```
Initializer of `ret` looks the following:
```
-ImplicitCastExpr 'char' <IntegralCast>
`-ConditionalOperator 'int'
|-BinaryOperator 'int' '>'
| |-ImplicitCastExpr 'int' <LValueToRValue>
| | `-DeclRefExpr 'int' lvalue ParmVar 'cond' 'int'
| `-IntegerLiteral 'int' 0
|-CharacterLiteral 'int' 58
`-ImplicitCastExpr 'int' <IntegralCast>
`-ImplicitCastExpr 'char' <LValueToRValue>
`-DeclRefExpr 'char' lvalue ParmVar 'c' 'char'
```
So it could be seen that `RHS` of the conditional operator is
`DeclRefExpr 'c'` which is casted to `int` and then the whole
conditional expression is casted to 'char'. But this last conversion is
not narrowing, because `RHS` was `char` _initially_. We should just
remove the cast from `char` to `int` before the narrowing conversion
check.
Fixes #139467
Commit: b983ce8145622160b65736bbe4b73860d5557b0c
https://github.com/llvm/llvm-project/commit/b983ce8145622160b65736bbe4b73860d5557b0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] handleMaxMinNumReductions - fix gcc Wparentheses warning. NFC.
Commit: 2579ffccc7258830dc7b1635c60ad2a24f7060bd
https://github.com/llvm/llvm-project/commit/2579ffccc7258830dc7b1635c60ad2a24f7060bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[HLSL] MetadataParser::parseRootDescriptors - fix gcc Wparentheses warning. NFC.
Commit: e44a14e9ac4f5bfc6f274a24689377eeba509146
https://github.com/llvm/llvm-project/commit/e44a14e9ac4f5bfc6f274a24689377eeba509146
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
Revert "[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression" (#151859)
Reverts llvm/llvm-project#139474 due to lit test failures on `arm`
platforms.
Commit: 559d1dff891682ec66d4a987dfa0b9404c7af3e4
https://github.com/llvm/llvm-project/commit/559d1dff891682ec66d4a987dfa0b9404c7af3e4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
Log Message:
-----------
[VPlan] Materialize BackedgeTakenCount using VPInstructions.
Explicitly compute the backedge-taken count using VPInstruction. This is
needed to model the full skeleton in VPlan.
NFC modulo some instruction re-ordering.
Commit: b16fe132c68834a601b29c0eb53c7ec25a3cd627
https://github.com/llvm/llvm-project/commit/b16fe132c68834a601b29c0eb53c7ec25a3cd627
Author: tigbr <gabor.tothvari at ericsson.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
Log Message:
-----------
[clang-tidy] Fix bugprone-tagged-union-member-count false-positive (#135831)
This patch implements a fix for the false-positive case described in
[issue #134840](https://github.com/llvm/llvm-project/issues/134840) for
the
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
clang-tidy check.
The example given in the linked issue was the following:
```C
#include <pthread.h>
typedef enum {
MYENUM_ONE,
MYENUM_TWO,
} myEnumT;
typedef struct {
pthread_mutex_t mtx;
myEnumT my_enum;
} myTypeT;
```
The
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
check emits the following a warning for this struct:
```
<source>:8:9: warning: tagged union has more data members (3) than tags (2)! [bugprone-tagged-union-member-count]
8 | typedef struct {
| ^
1 warning generated.
```
The issue is that `pthread_mutex_t` can be a union behind a typedef like
the following:
```C
typedef union
{
struct __pthread_mutex_s __data;
char __size[__SIZEOF_PTHREAD_MUTEX_T];
long int __align;
} pthread_mutex_t;
```
>From the checker's point of view therefore `myTypeT` contains a data
member with an enum type and another data member with a union type and
starts analyzing it like a user-defined tagged union.
The proposed solution is that the types from system headers and the std
namespace are no longer candidates to be the enum part or the union part
of a user-defined tagged union. This filtering for enums and the std
namespace may not be strictly necessary in this example, however I added
it preemptively out of (perhaps unnecessary) caution.
Fixes https://github.com/llvm/llvm-project/issues/134840.
Commit: fca9f70e420899b6a61c6d9b46b3e8479d3a431e
https://github.com/llvm/llvm-project/commit/fca9f70e420899b6a61c6d9b46b3e8479d3a431e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[AArch64] Add some simple phase ordering tests for interleaving at various factors. NFC
Commit: 8b7f81f2de1faceaa29b2c148d99b663d23f7110
https://github.com/llvm/llvm-project/commit/8b7f81f2de1faceaa29b2c148d99b663d23f7110
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/include/clang/Sema/SemaHLSL.h
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/unittests/Format/FormatTest.cpp
M flang-rt/include/flang-rt/runtime/type-info.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[NFC] Fix `assignment` typo. (#151864)
Commit: d0d3f15c383e380dcb5c57c322f34a970dc326df
https://github.com/llvm/llvm-project/commit/d0d3f15c383e380dcb5c57c322f34a970dc326df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10l-libcall-names.ll
Log Message:
-----------
RuntimeLibcalls: Stop opting out of exp10 (#148604)
Commit: c068f8b408f677d953704e470f243e96cd310af5
https://github.com/llvm/llvm-project/commit/c068f8b408f677d953704e470f243e96cd310af5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
Log Message:
-----------
[Scalar] Remove an unnecessary cast (NFC) (#151849)
LoadType is already of Type *.
Commit: 3549134836a8b162f6ddcba7e203e17ee568b4ef
https://github.com/llvm/llvm-project/commit/3549134836a8b162f6ddcba7e203e17ee568b4ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Remove an unnecessary cast (NFC) (#151850)
getNumElements() already returns unsigned.
Commit: 3412735d290e3b7dd25e77fc6be510e38fc6700a
https://github.com/llvm/llvm-project/commit/3412735d290e3b7dd25e77fc6be510e38fc6700a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Remove an unnecessary cast (NFC) (#151851)
Addr is already of const uint8_t *.
Commit: 32bc2512a3f596ed176b0e8c1a2566e9229db825
https://github.com/llvm/llvm-project/commit/32bc2512a3f596ed176b0e8c1a2566e9229db825
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
Log Message:
-----------
[Sema] Use llvm::iterator_range::empty (NFC) (#151852)
Commit: 90f1e04954daff087166c1072ad908d62e6ac6c9
https://github.com/llvm/llvm-project/commit/90f1e04954daff087166c1072ad908d62e6ac6c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/test/Modules/implicit-module-header-maps.cpp
Log Message:
-----------
[clang] Try fixing implicit-module-header-maps.cpp
This is still crashing on AIX and Solaris. It looks like maybe issues
due to trying to delete the current working directory. cd to the source
directory beforehand to try and work around that.
Commit: 84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
https://github.com/llvm/llvm-project/commit/84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[llvm] Proofread ProgrammersManual.rst (#151853)
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 408fe1d369df926eecd6c15ce939d38652b4b58d
https://github.com/llvm/llvm-project/commit/408fe1d369df926eecd6c15ce939d38652b4b58d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Log Message:
-----------
[NFC][run-clang-tidy] Add minor type hints (#151873)
This script passes
```
python3 -m mypy --strict clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
```
Commit: a048aeb06e5de571eadd646860c320b9a67d1efc
https://github.com/llvm/llvm-project/commit/a048aeb06e5de571eadd646860c320b9a67d1efc
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
Log Message:
-----------
Thread safety analysis: Don't warn on acquiring reentrant capability (#150857)
The point of reentrant capabilities is that they can be acquired
multiple times, so they should probably be excluded from requiring a
negative capability on acquisition via -Wthread-safety-negative.
However, we still propagate explicit negative requirements.
Commit: 003f6ada15970608c183563949e73320b0fea36a
https://github.com/llvm/llvm-project/commit/003f6ada15970608c183563949e73320b0fea36a
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cbrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrt.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cbrt.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor cbrt implementation to header-only in src/__support/math folder. (#151837)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: d7f00a9f9554825d35bd864be1e44e74a133d5b6
https://github.com/llvm/llvm-project/commit/d7f00a9f9554825d35bd864be1e44e74a133d5b6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/src/__support/math/cbrt.h
Log Message:
-----------
[libc] fix build errors caused by cbrt. (#151879)
Commit: 09a6a255bd2013f41f22c870d3e220df2e49b2fd
https://github.com/llvm/llvm-project/commit/09a6a255bd2013f41f22c870d3e220df2e49b2fd
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/nan.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/shuffle.ll
A llvm/test/CodeGen/SPIRV/transcoding/printf.ll
Log Message:
-----------
[SPIRV] Ported tests to transcoding directory from the translator (#151662)
- Checks for printf calls
- Handling of convert_* builtins and fallback
- Generation of nan and shuffle OpExtInst
Commit: f3e7b355c58b3080e23fb8d9a415a15410088cd6
https://github.com/llvm/llvm-project/commit/f3e7b355c58b3080e23fb8d9a415a15410088cd6
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
Log Message:
-----------
[SPIRV] Test file for memcpy intrinsic (#151657)
Test lowering of llvm.memcpy intrinsics to OpCopyMemorySized with
alignment.
Commit: 95e96b94d75e975470ccb7dfa41df776bb289f8d
https://github.com/llvm/llvm-project/commit/95e96b94d75e975470ccb7dfa41df776bb289f8d
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/entry-point-interfaces.ll
A llvm/test/CodeGen/SPIRV/get_global_size.ll
A llvm/test/CodeGen/SPIRV/layout.ll
Log Message:
-----------
[SPIRV] Addition of entry-point-interfaces.ll, get_global_size.ll, layout.ll test files (#151648)
--Test that verifies correct emission of OpEntryPoint and interface
variables for SPIR-V when using multiple global constants in the kernel
entry point.
--Test that verifies code generation for get_global_size() calls.
--Test that verifies SPIR-V layout and initialization of various global
variables.
Commit: 9591f16a5ada294fa825a2581fed568ee1f24597
https://github.com/llvm/llvm-project/commit/9591f16a5ada294fa825a2581fed568ee1f24597
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
Move FragmentAllocator from MCContext to MCObjectStreamer
In MCContext::reset, delete a stale comment as MCCodeView no longer
owns or deallocates MCFragment.
Commit: 72fbf107555a95c380b32a7df20d88f0a24f868f
https://github.com/llvm/llvm-project/commit/72fbf107555a95c380b32a7df20d88f0a24f868f
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/SpecConstants/spec-constant-length-array.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
Log Message:
-----------
[SPIRV] Addition of spe-constant-length-array.ll, bit_reverse_small_type.ll test files (#151645)
--Test for support for specialization constant-based variable-length
--Test for ensuring that encoding of variable with undef initializer has
correct
--Test for bitreverse intrinsic with small types
Commit: bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
https://github.com/llvm/llvm-project/commit/bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MCSymbol: Replace isELF with MCContext::isELF
Commit: f9be391dd7cf04d83525cfccc954c80c6f05d15d
https://github.com/llvm/llvm-project/commit/f9be391dd7cf04d83525cfccc954c80c6f05d15d
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Handle pruned-edges (null blocks) in dataflow (#150670)
Fix a crash in the lifetime safety dataflow analysis when handling null CFG blocks.
Added a null check for adjacent blocks in the dataflow analysis algorithm to prevent dereferencing null pointers. This occurs when processing CFG blocks with unreachable successors or predecessors.
Original crash: https://compiler-explorer.com/z/qfzfqG5vM
Fixes https://github.com/llvm/llvm-project/issues/150095
Commit: 29d9c4a6fe869a1800bb44f125c09a9442413451
https://github.com/llvm/llvm-project/commit/29d9c4a6fe869a1800bb44f125c09a9442413451
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll
A llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Addition of test files for @llvm.tan and zero_length_array.ll (#142097)
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: 3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
https://github.com/llvm/llvm-project/commit/3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/GlobalVarAddrspace.ll
A llvm/test/CodeGen/SPIRV/SamplerArgNonKernel.ll
A llvm/test/CodeGen/SPIRV/align-duplicate.ll
A llvm/test/CodeGen/SPIRV/duplicate-types.ll
Log Message:
-----------
[SPIRV] Porting 4 tests from Translator (#151678)
Tests that checks:
- Duplicate alignment
- Duplicate types
- Non-function storage class for global variable
- Generating image instructions from opencl builtins
---------
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
https://github.com/llvm/llvm-project/commit/b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF] Add missing blank line between functions
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: de15d365743e16848a9d15fc32ae6ab98d399ec2
https://github.com/llvm/llvm-project/commit/de15d365743e16848a9d15fc32ae6ab98d399ec2
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF][Hexagon] Avoid pointless ArrayRef::drop_front
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 723b40a8d92f76fc913ef21061fc3d74e8c47441
https://github.com/llvm/llvm-project/commit/723b40a8d92f76fc913ef21061fc3d74e8c47441
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF][Hexagon] Fix host endianness assumption
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 1c75c829dc4f47575e1e702009b511f9cd0da2cb
https://github.com/llvm/llvm-project/commit/1c75c829dc4f47575e1e702009b511f9cd0da2cb
Author: VISHAKH PRAKASH <vishakh.prakash at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
Log Message:
-----------
[SPIRV] support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.* (#129222)
Add support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.*
- add legalizer for G_FPTOSI_SAT and G_FPTOUI_SAT
- add instructionSelector for G_FPTOSI_SAT and G_FPTOUI_SAT
- add function to add saturatedConversion decoration to the intrinsic
---------
Co-authored-by: Dmitry Sidorov <dmitry.sidorov at intel.com>
Co-authored-by: Ebin-McW <ebin.jose at multicorewareinc.com>
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: e2d761df321a711234470b7596a47ccd6ffd665d
https://github.com/llvm/llvm-project/commit/e2d761df321a711234470b7596a47ccd6ffd665d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5570ce5cefdae8f5c16b3733a594bc509ece990b
https://github.com/llvm/llvm-project/commit/5570ce5cefdae8f5c16b3733a594bc509ece990b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: e640ca8b9adc390325e2c0406b0032dd24563c75
https://github.com/llvm/llvm-project/commit/e640ca8b9adc390325e2c0406b0032dd24563c75
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b51ff2705fe15a214ba234dae221c39b105fa57c
https://github.com/llvm/llvm-project/commit/b51ff2705fe15a214ba234dae221c39b105fa57c
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
https://github.com/llvm/llvm-project/commit/5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 7efb70ff6f4d061652970fdbef208cfbcaf02198
https://github.com/llvm/llvm-project/commit/7efb70ff6f4d061652970fdbef208cfbcaf02198
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
Log Message:
-----------
MCSymbolELF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
https://github.com/llvm/llvm-project/commit/b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Really move default libcall handling to tablegen (#148780)
Hack in the default setting so it's consistently generated like
the other cases. Maintain a list of targets where this applies.
The alternative would require new infrastructure to sort the system
library initialization in some way.
I wanted the unhandled target case to be treated as a fatal
error, but it turns out there's a hack in IRSymtab using
RuntimeLibcalls, which will fail out in many tests that
do not have a triple set. Many of the failures are simply
running llvm-as with no triple, which probably should not
depend on knowing an accurate set of calls.
Commit: 441fff7ebe6bad3502da368236885f76cf9e5f30
https://github.com/llvm/llvm-project/commit/441fff7ebe6bad3502da368236885f76cf9e5f30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/XCore/llvm.sincos.ll
Log Message:
-----------
XCore: Fix broken check lines in test
Commit: 45a061b8c81837d8283bcf4ad79df7d0f60b19a5
https://github.com/llvm/llvm-project/commit/45a061b8c81837d8283bcf4ad79df7d0f60b19a5
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolCOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 570e09047c23108d5498326cb259e4b79288ddc4
https://github.com/llvm/llvm-project/commit/570e09047c23108d5498326cb259e4b79288ddc4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
Log Message:
-----------
MCSymbolWasm: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 85f00707dd651d6c09c25aab882dc568a1f32f52
https://github.com/llvm/llvm-project/commit/85f00707dd651d6c09c25aab882dc568a1f32f52
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: d6c2e531518e84d154f1f1dccdf4967dbe26b500
https://github.com/llvm/llvm-project/commit/d6c2e531518e84d154f1f1dccdf4967dbe26b500
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
MCSymbolXCOFF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
https://github.com/llvm/llvm-project/commit/c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[llvm] using wrapper llvm::sort(nfc) (#151000)
using wrapper llvm::sort(nfc)
Commit: 888d3cde3a1cc742ec5d8483c2f518c9637becbb
https://github.com/llvm/llvm-project/commit/888d3cde3a1cc742ec5d8483c2f518c9637becbb
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolGOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b77f51f3f1137e68ed8d5190abdc50b16f48c011
https://github.com/llvm/llvm-project/commit/b77f51f3f1137e68ed8d5190abdc50b16f48c011
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCSymbolXOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 9a60841dc446e954cd81d33da96e6566d617a810
https://github.com/llvm/llvm-project/commit/9a60841dc446e954cd81d33da96e6566d617a810
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/prof-inject-existing.ll
M llvm/test/Transforms/PGOProfile/prof-verify-as-needed.ll
M llvm/test/Transforms/PGOProfile/prof-verify-existing.ll
A llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
A llvm/test/Transforms/PGOProfile/prof-verify-no-entrycount.ll
M llvm/test/Transforms/PGOProfile/prof-verify.ll
Log Message:
-----------
[PGO][profcheck] ignore explicitly cold functions (#151778)
There is a case when branch profile metadata is OK to miss, namely, cold functions. The goal of the RFC (see the referenced issue) is to avoid accidental omission (and, at a later date, corruption) of profile metadata. However, asking cold functions to have all their conditional branches marked with "0" probabilities would be overdoing it. We can just ask cold functions to have an explicit 0 entry count.
This patch:
- injects an entry count for functions, unless they have one (synthetic or not)
- if the entry count is 0, doesn't inject, nor does it verify the rest of the metadata
- at verification, if the entry count is missing, it reports an error
Issue #147390
Commit: 2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
https://github.com/llvm/llvm-project/commit/2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5b528a1041fb6b64e5722f1bc600eb0617118a3e
https://github.com/llvm/llvm-project/commit/5b528a1041fb6b64e5722f1bc600eb0617118a3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove darwin override of half convert libcalls (#148782)
These are already the default calls set for these conversions, so
they should not require explicit setting. The non-default cases are
currently overridden in ARMISelLowering. Just delete this until
the list of calls and lowering decisions are separated.
This was added back in 6402ad27c01c9503a12d41d7e40646cf0d1f919f. It
appears to not be relevant for AArch64, where calls appear to never
be used for these. It also appears to not be relevant for x86, where
the default calls seem to always end up used anyway.
Commit: d1ee636b98aae1029575af05c3dadca25620188a
https://github.com/llvm/llvm-project/commit/d1ee636b98aae1029575af05c3dadca25620188a
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
MCSymbol: Remove Kind
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to discourage dynamic dispatching on the type.
Commit: 8b03b3bd4df62af2de659434495419be2a2f4a45
https://github.com/llvm/llvm-project/commit/8b03b3bd4df62af2de659434495419be2a2f4a45
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Avoid MCSymbol::isUnset
The unset state will be merged into the undefined state,
so isUnset should be avoided.
The code used by register equating uses the inaccurate condition.
```
.set r1, $4
```
For now just use isUndefined. GNU Assembler has a warning:
```
Warning: register value used as expression
```
Commit: 781e5f0b5dc78305e5726d2118c1304f0229f36b
https://github.com/llvm/llvm-project/commit/781e5f0b5dc78305e5726d2118c1304f0229f36b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
Log Message:
-----------
PowerPC: Avoid MCSymbol::isUnset
"unset" is not a meaningful separae state and it will be merged into
"undefined".
https://reviews.llvm.org/D72570 ported a GAS hack that moves the label
when a prefixed instruction on the same source line needs automatic
alignment. However, we can used isDefined instead of isUnset.
Commit: 5478da99a169f5f65a2096cd1af86bd98c0aa50b
https://github.com/llvm/llvm-project/commit/5478da99a169f5f65a2096cd1af86bd98c0aa50b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_chk_fail config to tablegen (#148789)
Commit: 57b0843f68f5f349c73d1bf54e321a1a6d1800bf
https://github.com/llvm/llvm-project/commit/57b0843f68f5f349c73d1bf54e321a1a6d1800bf
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCSymbol: Remove isUnset
The isUnset state lacks significance and should be treated as equivalent
to an undefined symbol.
Equated and common symbols seem to have subtle semantic distinctions in
GAS, justifying the use of distinct `SymContents*` values.
TODO: Ensure common symbols have a fragment, so that `isDefined()`
returns true, rejecting `.comm c, 4, 4; .set c, 4`
Commit: 144cd87088dc82263b25e816c77fc03f29fd1288
https://github.com/llvm/llvm-project/commit/144cd87088dc82263b25e816c77fc03f29fd1288
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove target check for sjlj config (#148792)
I'm assuming this was the set of targets that were relevant
for sjlj handling. Just take the raw exception setting instead,
and assume it makes sense for the target.
Commit: a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
https://github.com/llvm/llvm-project/commit/a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
R llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Revert "MCFragment: Use trailing data for fixed-size part"
This reverts commit f1aa6050bd90f8ec4273da55d362e23905ad3a81 (reland of #150846),
fixing conflicts.
It caused https://github.com/ClangBuiltLinux/linux/issues/2116 ,
which surfaced after a subsequent commit faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
```
% /tmp/Debug/bin/clang "-cc1as" "-triple" "aarch64" "-filetype" "obj" "-main-file-name" "a.s" "-o" "a.o" "a.s"
clang: /home/ray/llvm/llvm/lib/MC/MCAssembler.cpp:615: void llvm::MCAssembler::writeSectionData(raw_ostream &, const MCSection *) const: Assertion `getContext().hadError() || OS.tell() - Start == getSectionAddressSize(*Sec)' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /tmp/Debug/bin/clang -cc1as -triple aarch64 -filetype obj -main-file-name a.s -o a.o a.s
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVMSupport.so.22.0git 0x00007cf91eb753cd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 61
fish: Job 1, '/tmp/Debug/bin/clang "-cc1as" "…' terminated by signal SIGABRT (Abort)
```
The test is sensitive to precise fragment offsets. Using llvm-mc
-filetype=obj -triple=aarch64 a.s does not replicate the issue. However,
clang -cc1as includes an unnecessary `initSection` (adding an extra
FT_Align), which causes the problem.
Commit: 342f212d47ed90edcb8236125979941869fc6d42
https://github.com/llvm/llvm-project/commit/342f212d47ed90edcb8236125979941869fc6d42
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
Log Message:
-----------
[AArch64] Regnerate and update a number of tests. NFC
extend_inreg_of_concat_subvectors.ll was using -mattr=+global-isel, which is
now replaced by -global-isel
Commit: 28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
https://github.com/llvm/llvm-project/commit/28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaInternal.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.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/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[Clang] Initial support for P2841 (Variable template and concept template parameters) (#150823)
This is a first pass at implementing
[P2841R7](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2841r7.pdf).
The implementation is far from complete; however, I'm aiming to do that
in chunks, to make our lives easier.
In particular, this does not implement
- Subsumption
- Mangling
- Satisfaction checking is minimal as we should focus on #141776 first
(note that I'm currently very stuck)
FTM, release notes, status page, etc, will be updated once the feature
is more mature. Given the state of the feature, it is not yet allowed in
older language modes.
Of note:
- Mismatches between template template arguments and template template
parameters are a bit wonky. This is addressed by #130603
- We use `UnresolvedLookupExpr` to model template-id. While this is
pre-existing, I have been wondering if we want to introduce a different
OverloadExpr subclass for that. I did not make the change in this patch.
Commit: 549990124d1f71b1cdd0f14228a22738113b2f84
https://github.com/llvm/llvm-project/commit/549990124d1f71b1cdd0f14228a22738113b2f84
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
[llvm-reduce] Do not replace lifetime pointer arg with zero/one/poison (#151697)
The lifetime argument is now required to be an alloca, so we should not
try to replace it with a constant.
We also shouldn't try to change the size argument to zero/one, similar
to how we avoid zero-size allocas.
Commit: c9684e58923babef7b994846b2208a05f3e3b31b
https://github.com/llvm/llvm-project/commit/c9684e58923babef7b994846b2208a05f3e3b31b
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
A llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
Log Message:
-----------
[RISCV] Implement EmitTargetCodeForMemset for Xqcilsm (#151555)
This patch adds support for converting memset calls to one or more
`QC_SETWMI` instructions when beneficial. We only handle aligned memset
calls for now.
We limit a `QC_SETWMI` to 16 words or less to improve interruptibility.
So for `1-16` words we use a single `QC_SETWMI`:
`QC_SETWMI reg1, N, 0(reg2)`
For `17-32 `words we use two `QC_SETWMI's` with the first as 16 words
and the second for the remainder:
```
QC_SETWMI reg1, 16, 0(reg2)
QC_SETWMI reg1, N, 64(reg2)
```
For `33-48` words, we would like to use `(16, 16, n)`, but that means
the last QC_SETWMI needs an offset of `128` which the instruction
doesn't support. So in this case we use a length of `15` for the second
instruction and we do the rest with the third instruction.
This means the maximum number of words handled is `47` (for now):
```
QC_SETWMI R2, R0, 16, 0
QC_SETWMI R2, R0, 15, 64
QC_SETWMI R2, R0, N, 124
```
For `48` words or more, call the target independent memset.
Commit: df71243fa885cd3db701dc35a0c8d157adaf93b3
https://github.com/llvm/llvm-project/commit/df71243fa885cd3db701dc35a0c8d157adaf93b3
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Evaluate .org during fragment relaxation
Similar to 742ecfc13e8aa34cfff2900e31838f657fcafe30 for MCFillFragment,
ensure `.org` directives with expressions are re-evaluated during
fragment relaxation, as their sizes may change. Continue iteration to
prevent stale, incorrect sizes. While I knew MCOrgFragment likely needed
to be re-evaluated at all, I did not have a motivation to add it;-)
This fixes the root cause of
https://github.com/ClangBuiltLinux/linux/issues/2116
(writeSectionData assertion failure when building the Linux kernel for arm64)
The issue cannot be reliably replicated. The specific test case would
not replicate if any of the following condition was not satisfied:
* .org was not re-evaluated. Fixed by this commit.
* clang -cc1as has a redundant `initSections` call, leading to a
redundant initial FT_Align fragment. llvm-mc -filetype=obj, lacking
the redundant `initSections`, doesn't replicate.
* faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
* f1aa6050bd90f8ec4273da55d362e23905ad3a81 added more fragments
Commit: d95dadff8f094e793b79eec57737ec397fad7724
https://github.com/llvm/llvm-project/commit/d95dadff8f094e793b79eec57737ec397fad7724
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/Type.cpp
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Allow type lookup in namespaces (#149876)
Previously, `type lookup` for types in namespaces didn't work with the
native PDB plugin, because `FindTypes` would only look for types whose
base name was equal to their full name. PDB/CodeView does not store the
base names in the TPI stream, but the types have their full name (e.g.
`std::thread` instead of `thread`). So `findRecordsByName` would only
return types in the top level namespace.
This PR changes the lookup to go through all types and check their base
name. As that could be a bit expensive, the names are first cached
(similar to the function lookup in the DIA PDB plugin). Potential types
are checked with `TypeQuery::ContextMatches`.
To be able to handle anonymous namespaces, I changed
`TypeQuery::ContextMatches`. The [`TypeQuery`
constructor](https://github.com/llvm/llvm-project/blob/9ad7edef4276207ca4cefa6b39d11145f4145a72/lldb/source/Symbol/Type.cpp#L76-L79)
inserts all name components as `CompilerContextKind::AnyDeclContext`. To
skip over anonymous namespaces, `ContextMatches` checked if a component
was empty and exactly of kind `Namespace`. For our query, the last check
was always false, so we never skipped anonymous namespaces. DWARF
doesn't have this problem, as it [constructs the context
outside](https://github.com/llvm/llvm-project/blob/abe93d9d7e891a2a6596ddb0c6324280137c89dc/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp#L154-L160)
and has proper information about namespaces. I'm not fully sure if my
change is correct and that it doesn't break other users of `TypeQuery`.
This enables `type lookup <type>` to work on types in namespaces.
However, expressions don't work with this yet, because `FindNamespace`
is unimplemented for native PDB.
Commit: 86727fe9a13daf313429c04fe602f45dbf35036c
https://github.com/llvm/llvm-project/commit/86727fe9a13daf313429c04fe602f45dbf35036c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
R llvm/test/Transforms/InstCombine/pr150338.ll
A llvm/test/Transforms/InstCombine/unreachable-alloca-lifetime-markers.ll
Log Message:
-----------
[IR] Allow poison argument to lifetime markers (#151148)
This slightly relaxes the invariant established in #149310, by also
allowing the lifetime argument to be poison. This is to support the
typical pattern of RAUWing with poison when removing an instruction.
It's worth noting that this does not require any conservative
assumptions, lifetimes with poison arguments can simply be skipped.
Fixes https://github.com/llvm/llvm-project/issues/151119.
Commit: 0cfe9f7287f7c65d3539d39762815ed7497e06ac
https://github.com/llvm/llvm-project/commit/0cfe9f7287f7c65d3539d39762815ed7497e06ac
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
Log Message:
-----------
[Clang] Handle C++20 export declarations in -dump-minimization-hints (#151666)
Thanks to Justin Stitt for bringing this up, providing test cases and a
direction for the fix!
Commit: 1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
https://github.com/llvm/llvm-project/commit/1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_smash_handler config to tablegen (#150870)
Commit: d64371b8197fab17f12a5faeb1c6951054aca0ba
https://github.com/llvm/llvm-project/commit/d64371b8197fab17f12a5faeb1c6951054aca0ba
Author: Nathan Gauër <brioche at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/lit.local.cfg
R llvm/test/Other/spirv-sim/branch.spv
R llvm/test/Other/spirv-sim/call.spv
R llvm/test/Other/spirv-sim/constant.spv
R llvm/test/Other/spirv-sim/lit.local.cfg
R llvm/test/Other/spirv-sim/loop.spv
R llvm/test/Other/spirv-sim/simple-bad-result.spv
R llvm/test/Other/spirv-sim/simple.spv
R llvm/test/Other/spirv-sim/simulator-args.spv
R llvm/test/Other/spirv-sim/switch.spv
R llvm/test/Other/spirv-sim/wave-get-lane-index.spv
R llvm/test/Other/spirv-sim/wave-read-lane-first.spv
R llvm/utils/spirv-sim/instructions.py
R llvm/utils/spirv-sim/spirv-sim.py
Log Message:
-----------
[tools] Cleanup spirv-sim (#151705)
spirv-sim was supposed to be used to test cross-lane interactions. This
utility was in the end never used for testing, and as we move to proper
end-to-end testing through the llvm/offload-test-suite project, this
becomes obsolete.
Cleaning this up.
Commit: 8a55d46ebc07b276e207d4db2220a115a1810db3
https://github.com/llvm/llvm-project/commit/8a55d46ebc07b276e207d4db2220a115a1810db3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[LV] Add missing CHECK lines for a test from UTC (#151871)
Commit: c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
https://github.com/llvm/llvm-project/commit/c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[IR] Improve code in isIdenticalToWhenDefined (NFC) (#151881)
Prefer llvm::equal() over std::equal().
Commit: d6dc4336bf2490395039821c84856266d89792c4
https://github.com/llvm/llvm-project/commit/d6dc4336bf2490395039821c84856266d89792c4
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/Dialect/Linalg/detensorize_0d.mlir
Log Message:
-----------
[mlir][linalg][NFC] Remove references to IREE (#151825)
Commit: 961a4aabf89481950de5f4704aaaa2f2595484f8
https://github.com/llvm/llvm-project/commit/961a4aabf89481950de5f4704aaaa2f2595484f8
Author: jyli0116 <yu.li at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[GlobalISel] Add constant matcher for APInt (#151357)
Changed m_SpecificICst, m_SpecificICstSplat and m_SpecificICstorSplat to
match against APInt as well.
Commit: e136fb04f2b9a4c42a43c86f141eaf253c998a52
https://github.com/llvm/llvm-project/commit/e136fb04f2b9a4c42a43c86f141eaf253c998a52
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
Log Message:
-----------
[AArch64] Add sve bf16 fpext and fpround costs. (#150485)
This prevents them from generating Invalid costs, as generating the
instructions seems to work fine with and without +bf16. The costs are
mostly taken from the number of instructions (minus ptrue and constants).
Commit: 1454db130a7e14de4295217f9ff80e5f149564c4
https://github.com/llvm/llvm-project/commit/1454db130a7e14de4295217f9ff80e5f149564c4
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
Log Message:
-----------
[RISCV] Support resumable non-maskable interrupt handlers (#148134)
The `rnmi` interrupt attribute value has been added for the `Smrnmi`
extension.
---------
Co-authored-by: Sam Elliott <sam at lenary.co.uk>
Commit: 19803d824971826fb6961059cce160da2094ab6b
https://github.com/llvm/llvm-project/commit/19803d824971826fb6961059cce160da2094ab6b
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
Log Message:
-----------
[AMDGPU] Fix nested cases (#151918)
The Incorrect nesting was added in #151616 in what looks like a merge
error.
Commit: 96c8b9e508f72304cbd958be18fdd7b7240f7e63
https://github.com/llvm/llvm-project/commit/96c8b9e508f72304cbd958be18fdd7b7240f7e63
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir][memref][spirv] Add SPIR-V Image Lowering (#150978)
Adds an initial conversion in the Memref -> SPIR-V lowering for images.
Any memref in the "Image" storage-class/address-space will be considered
for lowering to the `!spirv.image` type during Memref to SPIR-V
conversion. Initially only the reading of sampled images are support and
images are read via the `OpImageFetch` instruction. Future work should
expand the conversion patterns to target non-sampled images and add
support for image write operations.
Images are supported for fp32, fp16, int32, uint32, int16 and uint16
types and lit tests have been added to verify this is the case along
with negative testing to check the cases where images aren't supported.
---------
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 30728eb26bff55af00375b7a835c519cfdf316a4
https://github.com/llvm/llvm-project/commit/30728eb26bff55af00375b7a835c519cfdf316a4
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
Log Message:
-----------
[Reland][ValueTracking] Improve Bitcast handling to match SDAG (#145223)
Fixes #125228
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: f1ca88cebf84365368be06db89f1ab55f47f903b
https://github.com/llvm/llvm-project/commit/f1ca88cebf84365368be06db89f1ab55f47f903b
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
Log Message:
-----------
[mlir][tosa] Use `typeConverter->convertType<T>` (#150578)
Since `resultTy` might be nullptr, we should use `dyn_cast` instead of
`cast`. Additionally, `typeConverter->convertType<T>` is more
appropriate in this context.
Commit: 147bce78588b53db661888257e8bb915f1de98d9
https://github.com/llvm/llvm-project/commit/147bce78588b53db661888257e8bb915f1de98d9
Author: frayien <garbani.adrien at yahoo.fr>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] textDocument/documentLink to support include statements with macro argument (#137550)
See issue https://github.com/clangd/clangd/issues/2375
The clangd textDocument/documentLink request does not support include
statements with macro argument and fails by returning an invalid range.
This PR adds support for macro argument by detecting what form of
include statement is currently being processed and returning a range
accordingly
First time contributing to LLVM, so if you have advice, questions or if
I messed up procedure please tell me !
---------
Co-authored-by: Adrien Garbani <garbani.adrien at frayien.fr>
Commit: 440a4de55265c67cf41a77e40f96d7c18ed7590a
https://github.com/llvm/llvm-project/commit/440a4de55265c67cf41a77e40f96d7c18ed7590a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
[lldb][darwin] force BuiltinHeadersInSystemModules to be always false (#151535)
This is a re-landing of
https://github.com/llvm/llvm-project/pull/144913, which was reverted
because of tests failing on Darwin.
The bots were failing because the x64 bots run the macOS 14.0 SDKs
whereas we assumed all the bots were running the macOS 15.0+ SDKs.
To address this, we deactivated the failing tests on SDKs that are older
than 15.0 in https://github.com/llvm/llvm-project/pull/147768.
Now that this is merged, we can re-land
https://github.com/llvm/llvm-project/pull/144913.
Commit: 1feed444aa065ff94ce63250a00de188001617be
https://github.com/llvm/llvm-project/commit/1feed444aa065ff94ce63250a00de188001617be
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
A llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Shrink loads used in shufflevector rebroadcasts (#128938)
Attempt to shrink the size of vector loads where only some of the incoming lanes are used for rebroadcasts in shufflevector instructions.
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
https://github.com/llvm/llvm-project/commit/4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Avoid creating lifetime of non-alloca
There is a larger problem here in that we should not be performing
arbitrary pointer replacements for assumes. This is handled for
branches, but assume goes through a different code path.
Fixes https://github.com/llvm/llvm-project/issues/151785.
Commit: 76e38ca981a2c04879af911e8eb0065ed913f6ef
https://github.com/llvm/llvm-project/commit/76e38ca981a2c04879af911e8eb0065ed913f6ef
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Try to load primitive values directly (#151833)
Instead of doing a GetPtrLocal + Load or GetPtrGlobal + Load pair, try
to load the value directly.
Commit: 0824811b0beddae1f6fd25f7acdd17a3f2db07ff
https://github.com/llvm/llvm-project/commit/0824811b0beddae1f6fd25f7acdd17a3f2db07ff
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Remove dead code in VOP1 tablegen (NFC) (#151932)
Remove dead class in VOP1Instructions.td.
Commit: 66a8341f6d89d562faad667986af8fa584ad7426
https://github.com/llvm/llvm-project/commit/66a8341f6d89d562faad667986af8fa584ad7426
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
Log Message:
-----------
[VPlan] Skip disconnected exit blocks in hasEarlyExit. (#151718)
Currently hasEarlyExit returns true, if there are multiple exit blocks.
ExitBlocks contains the wrapped original IR exit blocks. Without
checking the predecessors we incorrectly return true for loops with
multiple countable exits, that have been vectorized by requiring a
scalar epilogue. In that case, the exit blocks will get disconnected.
Fix this by filtering out disconnected exit blocks.
Currently this should only impact the 'early-exit vectorized' statistic.
PR: https://github.com/llvm/llvm-project/pull/151718
Commit: d07abde4b8a0354796838b38498037d39276edea
https://github.com/llvm/llvm-project/commit/d07abde4b8a0354796838b38498037d39276edea
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 185a23e865c31145588276e7e0db2460e01eb703
Commit: 8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
https://github.com/llvm/llvm-project/commit/8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
Log Message:
-----------
[flang][Lower] Make reduction processing failure a hard error (#150233)
See #150178
This may regress some test cases which only ever passed by accident.
I've tested SPEC2017 and a sample of applications to check that this
doesn't break anything too obvious. Presumably this was not a widely
used feature or we would have noticed the bug sooner.
I'm unsure whether this should be backported to LLVM 21 or not: I think
it is much better to refuse to compile than to silently produce the
wrong result, but there is a chance this could regress something which
previously worked by accident. Opinions welcome.
Commit: a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
https://github.com/llvm/llvm-project/commit/a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
Log Message:
-----------
[AMDGPU][True16][GlobalISel] Fix v2*16 build_vector patterns (#151496)
- Pattern with IMPLICIT_DEF failed to generate an entry in MatchTable and
did not report an error, just silently failed. This is fixed by casting
IMPLICIT_DEF to appropriate type. This also fixes selecting
"build_vector s16, undef" for GlobalISel with True16.
- Add pattern for "build_vector undef, s16" that will work for GlobalISel.
True16 GlobalISel has a G_TRUNC that it needs to deal with.
- Use REG_SEQUENCE for Real16 patterns instead of V_LSHLREV_B32_e64 to
generate more optimal code.
Commit: 19b4258d659114abd9b15a0ad16f470afea8785a
https://github.com/llvm/llvm-project/commit/19b4258d659114abd9b15a0ad16f470afea8785a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Docs] Some updates to the Clang user's manual (#151702)
* Fills out the terminology section
* Removes the basic usage section (we should bring it back someday
though!)
* Updates the list of supported language versions
* Adds information about what versions of Clang are officially supported
* Moves some extensions into the intentionally unsupported extensions
section.
There are likely far more updates that could be done, but this seemed
worth posting just to get things moving.
Commit: 95191d54603e6bcd6b924c99755b3a9f3bb1c345
https://github.com/llvm/llvm-project/commit/95191d54603e6bcd6b924c99755b3a9f3bb1c345
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
Log Message:
-----------
[GISel] Set more MIFlags when translating GEPs (#151708)
The IRTranslator sets the flags now more consistently with
`SelectionDAGBuilder::visitGetElementPtr()`. This affects `nuw` and `nusw`, as
well as the recently introduced `inbounds` MIFlag (see PR #150900).
This PR also adds more tests to `AArch64/GlobalISel/irtranslator-gep-flags.ll`
to cover all points in `IRTranslator::translateGetElementPtr` that set flags.
For SWDEV-516125.
Commit: f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
https://github.com/llvm/llvm-project/commit/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
R offload/unittests/Conformance/device_code/LLVMLibm.c
A offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
R offload/unittests/OffloadAPI/device_code/bar.c
A offload/unittests/OffloadAPI/device_code/bar.cpp
R offload/unittests/OffloadAPI/device_code/foo.c
A offload/unittests/OffloadAPI/device_code/foo.cpp
R offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global.cpp
R offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_ctor.cpp
R offload/unittests/OffloadAPI/device_code/global_dtor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.cpp
R offload/unittests/OffloadAPI/device_code/localmem.c
A offload/unittests/OffloadAPI/device_code/localmem.cpp
R offload/unittests/OffloadAPI/device_code/localmem_reduction.c
A offload/unittests/OffloadAPI/device_code/localmem_reduction.cpp
R offload/unittests/OffloadAPI/device_code/localmem_static.c
A offload/unittests/OffloadAPI/device_code/localmem_static.cpp
R offload/unittests/OffloadAPI/device_code/noargs.c
A offload/unittests/OffloadAPI/device_code/noargs.cpp
R offload/unittests/OffloadAPI/device_code/sequence.c
A offload/unittests/OffloadAPI/device_code/sequence.cpp
Log Message:
-----------
[Offload][UnitTests] Build device code as C++ (#151714)
This commit refactors the `add_offload_test_device_code` CMake function
to compile device code using the C++ compiler (`CMAKE_CXX_COMPILER`)
instead of the C compiler.
This change enables the use of C++ features, such as templates, within
device-side test kernels. This will allow for more advanced and reusable
kernel wrappers, reducing boilerplate code in the conformance test
suite.
As part of this change:
- All `.c` files for device code in `unittests/` have been renamed to
`.cpp`.
- Kernel definitions are now wrapped in `extern "C"` to ensure C linkage
and prevent name mangling.
This change affects the `OffloadAPI` and `Conformance` test suites.
cc @callumfare @RossBrunton @jhuber6
Commit: ed5bd23867eacaa3789060f9250ba6fcece2a3de
https://github.com/llvm/llvm-project/commit/ed5bd23867eacaa3789060f9250ba6fcece2a3de
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
R llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Revert "Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#134408)"
This reverts commit bae8f1336db6a7f3288a7dcf253f2d484743b257.
Some issues were found:
* https://github.com/llvm/llvm-project/issues/151768
* https://github.com/llvm/llvm-project/issues/151592
* https://github.com/llvm/llvm-project/pull/134408#issuecomment-3145468321
* https://github.com/llvm/llvm-project/issues/151888#issuecomment-3149286820
I'll revert this for the time being while I investigate.
Commit: e833bb0991dd20655dae1c3812bd84f0fb36ea25
https://github.com/llvm/llvm-project/commit/e833bb0991dd20655dae1c3812bd84f0fb36ea25
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Capture it in the lambdas instead.
Commit: edae78d2aa5bcbee36084907684c7f1c6497f628
https://github.com/llvm/llvm-project/commit/edae78d2aa5bcbee36084907684c7f1c6497f628
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] Fix gcc 14 warning (#151941)
GCC couldn't tell that the enum is checked exhaustively and so was
warning about there being no return on this path from the function.
Commit: da11c1d59433a2813ca0333f81d4faca443a8a77
https://github.com/llvm/llvm-project/commit/da11c1d59433a2813ca0333f81d4faca443a8a77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/GVN/assume-equal.ll
Log Message:
-----------
[GVN] Generate test checks (NFC)
Commit: ca513ee1ec635cc5579f6d65983676c1bb417508
https://github.com/llvm/llvm-project/commit/ca513ee1ec635cc5579f6d65983676c1bb417508
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
Log Message:
-----------
[flang][OpenMP] Remove unused class OmpMemoryOrderClause, NFC (#151759)
Commit: b30d5315b7ed6d9e2f5aab7140896d16ed020a40
https://github.com/llvm/llvm-project/commit/b30d5315b7ed6d9e2f5aab7140896d16ed020a40
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
Log Message:
-----------
[AArch64] Add better fcmp costs for expanded predicates (#147940)
Certain fcmp predicates need to be expanded into multiple operations and
or'd together. This adds some more accurate cost modelling for them
based on the predicate. Unsupported operations are given the cost of a
libcall and the latency is set to 2 as that seemed to be fairly common
between different CPUs.
Commit: fb4a8f67b9f4b898b95dda7ba184f3f256876031
https://github.com/llvm/llvm-project/commit/fb4a8f67b9f4b898b95dda7ba184f3f256876031
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/compare-signs.ll
Log Message:
-----------
[LLVM][InstCombine] foldICmpEquality: Compare APInt values rather than addresses. (#151726)
Commit: 3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
https://github.com/llvm/llvm-project/commit/3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
Reland "[mlir][spirv] Fix UpdateVCEPass to deduce the correct set of capabilities" (#151502)
This reland PR #151108
The original PR made sanitizer builds to fail. The issue are now
resolved in this new patch.
Original commit message:
> When deducing capabilities implied capabilities are not considered,
which causes generation of incorrect SPIR-V modules. This commit fixes
that by pulling in the capability set all the implied ones.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
https://github.com/llvm/llvm-project/commit/a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
Log Message:
-----------
[clang][analyzer] Add StoreToImmutable checker (#150417)
This adds alpha.core.StoreToImmutable, a new alpha checker that detects
writes
to immutable memory regions, implementing part of SEI CERT Rule ENV30-C.
The
original proposal only handled global const variables, but this
implementation
extends it to also detect writes to:
- Local const variables
- String literals
- Const parameters and struct members
- Const arrays and pointers to const data
This checker is the continuation of the work started by zukatsinadze.
Discussion: https://reviews.llvm.org/D124244
Commit: 04f98889ae497d895be7c478415e0e9a8c6d330b
https://github.com/llvm/llvm-project/commit/04f98889ae497d895be7c478415e0e9a8c6d330b
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
Log Message:
-----------
[LLVM][NumericalStabilitySanitizer] Add support for vector ConstantFPs. (#151739)
Commit: 1406058cbacc8720042eed15a087f8ff1b5c5e1c
https://github.com/llvm/llvm-project/commit/1406058cbacc8720042eed15a087f8ff1b5c5e1c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
Log Message:
-----------
[LLVM][InstCombine] Extend masked_gather's demanded elt analysis. (#151732)
Add support for other Constant types for the mask operand.
Commit: 80dae158318a42f6217a38b1f8ec9299c7390234
https://github.com/llvm/llvm-project/commit/80dae158318a42f6217a38b1f8ec9299c7390234
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
M clang/test/Modules/ExtDebugInfo.cpp
Log Message:
-----------
[clang][DebugInfo] Disable VTable debug info (#130255) on COFF platforms (#151684)
On COFF platform, d1b0cbff806b50d399826e79b9a53e4726c21302 generates a
debug info linked with VTable regardless definition is present or not.
If that VTable ends up implicitly dllimported from another DLL, ld.bfd
produces a runtime pseudo relocation for it (LLD doesn't, since
d17db6066d2524856fab493dd894f8396e896bc7). If the debug section is
stripped, the runtime pseudo relocation points to memory space outside
of the module, causing an access violation.
At this moment, we simply disable VTable debug info on COFF platform to
avoid this problem.
Commit: 4655907099e3b2277d82a307b494adc14463f8e0
https://github.com/llvm/llvm-project/commit/4655907099e3b2277d82a307b494adc14463f8e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine][X86] Fix typo in src_v8tov8_i16 shuffle(select(),select()) test
Shuffle was (free) identity, messing up the fold's cost benefit test
Commit: f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
https://github.com/llvm/llvm-project/commit/f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[Bazel][lldb] Add PluginProcessWasm target.
Commit: 7cd1ce3aa006424d20e95a2a4fe7df7113527976
https://github.com/llvm/llvm-project/commit/7cd1ce3aa006424d20e95a2a4fe7df7113527976
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/vector-like-instr-does-not-dominate.ll
Log Message:
-----------
[SLP]Check vector-like instruction for dominance in copyables
Need to check if the vector-like instruction is dominated by main
operation in the copyables to prevent broken def-use chain
Fixes #151456
Commit: 12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
https://github.com/llvm/llvm-project/commit/12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
Author: Michael Marjieh <99331190+mmarjieh at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/ParallelForToNestedFors.cpp
A mlir/test/Dialect/SCF/parallel-to-nested-fors.mlir
A mlir/test/Dialect/SCF/transform-op-parallel-to-nested-fors.mlir
Log Message:
-----------
[mlir][scf] Implement Conversion from scf.parallel to Nested scf.for (#147692)
Add a utility function/transform operation to convert `scf.parallel`
loops to nested `scf.for` loops.
Commit: 872da999bec33adf768d8601c3218c4780558589
https://github.com/llvm/llvm-project/commit/872da999bec33adf768d8601c3218c4780558589
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port a3d0c541eb6a
Commit: cd8f348c69345755f559049f415ce8b6c0d6edc1
https://github.com/llvm/llvm-project/commit/cd8f348c69345755f559049f415ce8b6c0d6edc1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/Mangle.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/unittests/AST/DeclTest.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang][Attr] Remove 'literal label' form of AsmLabelAttr (#151858)
This was added purely for the needs of LLDB. However, starting with
https://github.com/llvm/llvm-project/pull/151355 and
https://github.com/llvm/llvm-project/pull/148877 we no longer create
literal AsmLabels in LLDB either. So this is unused and we can get rid
of it.
In the near future LLDB will want to add special support for mangling
`AsmLabel`s (specifically
https://github.com/llvm/llvm-project/pull/149827).
Commit: 1c0ac80d4a9ef6c21914f2317003979952c2a2c3
https://github.com/llvm/llvm-project/commit/1c0ac80d4a9ef6c21914f2317003979952c2a2c3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
A llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/pr30284.ll
Log Message:
-----------
[DAG] Combine `store + vselect` to `masked_store` (#145176)
Add a new combine to replace
```
(store ch (vselect cond truevec (load ch ptr offset)) ptr offset)
```
to
```
(mstore ch truevec ptr offset cond)
```
This saves a blend operation on targets that support conditional stores.
Commit: 9bb31e8f88ab49c3f983067540e553dd13fd3b42
https://github.com/llvm/llvm-project/commit/9bb31e8f88ab49c3f983067540e553dd13fd3b42
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/derived-type-private.f90
Log Message:
-----------
[Flang] Fix crash when a derived type with private attribute is specified in extends (#151051)
While lowering to HLFIR, when a parent type is private, its name is
mangled, so we need to get it from the parent symbol.
Fixes #120922
Commit: 2e404d1f800c804b5088ad1f54f24738efbdf9cd
https://github.com/llvm/llvm-project/commit/2e404d1f800c804b5088ad1f54f24738efbdf9cd
Author: Matt <msta at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclID.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr151277.cpp
Log Message:
-----------
clang: Make the type_info builtin declaration a singleton (#151277)
This fixes an ambiguous type type_info when you try and reference the
`type_info` type while using clang modulemaps with `-fms-compatibility`
enabled
Fixes #38400
Commit: 4431331cb6b0a3327adbd49b49792f693f868866
https://github.com/llvm/llvm-project/commit/4431331cb6b0a3327adbd49b49792f693f868866
Author: Will Froom <willfroom at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/CAPI/pass.c
Log Message:
-----------
[MLIR] Add test to check that we don't reinit after running pass again (#151963)
Following on from #150948
Commit: 88c6448fa265e5f50d92251202ab57458ca23064
https://github.com/llvm/llvm-project/commit/88c6448fa265e5f50d92251202ab57458ca23064
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
R llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
Revert "[VectorCombine] Shrink loads used in shufflevector rebroadcasts" (#151960)
Reverts llvm/llvm-project#128938 while a crash regression is investigated
Commit: c6fd3d32c37f599c69da16f5ff026b925b510f94
https://github.com/llvm/llvm-project/commit/c6fd3d32c37f599c69da16f5ff026b925b510f94
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCfg] Add nneg to zext for switch to table conversion (#147180)
Commit: d03692a00ee2404aa5c98a5f6c447f66d77a4663
https://github.com/llvm/llvm-project/commit/d03692a00ee2404aa5c98a5f6c447f66d77a4663
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/liboffload/API/Device.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
Log Message:
-----------
[Offload] Rework `MAX_WORK_GROUP_SIZE` (#151926)
`MAX_WORK_GROUP_SIZE` now represents the maximum total number of work
groups the device can allocate, rather than the maximum per dimension.
`MAX_WORK_GROUP_SIZE_PER_DIMENSION` has been added, which has the old
behaviour.
Commit: ba10c1d46a221f8cf7be565cc75074ec822d5c70
https://github.com/llvm/llvm-project/commit/ba10c1d46a221f8cf7be565cc75074ec822d5c70
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Code Cleanup of inferred noreturn attributes in explicit specializations. (#151815)
Addressing
https://github.com/llvm/llvm-project/pull/150003#discussion_r2249169463
Commit: 25c02fbc42d06534444f2b724012126cfe7d618e
https://github.com/llvm/llvm-project/commit/25c02fbc42d06534444f2b724012126cfe7d618e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
Log Message:
-----------
[Clang] Hide `offload-arch` initialization errors behind verbose flag (#151964)
Summary:
This tool tries to print the offloading architectures. If the user
doesn't have the HIP libraries or the CUDA libraries it will print and
error.
This isn't super helpful since we're just querying things. So, for
example, if we're on an AMD machine with no CUDA you'll get the AMD GPUs
and then an error message saying that CUDA wasn't found. This silences
the error just on failing to find the library unless verbose is on.
Commit: 5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
https://github.com/llvm/llvm-project/commit/5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] getMinMaxOpcodeForFP - split if-else chain. NFC. (#151938)
(style) All cases return so split the chain
Commit: 6de745b5473f4ae206110c497f28f040ea317d31
https://github.com/llvm/llvm-project/commit/6de745b5473f4ae206110c497f28f040ea317d31
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
R llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
R llvm/test/CodeGen/X86/large-displacements-fastisel.ll
R llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
Revert "[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets" (#151975)
Reverts llvm/llvm-project#123872 - this is breaking on EXPENSIVE_CHECKS builds
Co-authored-by: Abhishek Kaushik <abhishek.kaushik at intel.com>
Commit: df7473673214b063f7ca5d726263c5089f193ffd
https://github.com/llvm/llvm-project/commit/df7473673214b063f7ca5d726263c5089f193ffd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
A clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
Log Message:
-----------
[clang] Add the ability to link libclc OpenCL libraries (#146503)
This commit adds driver support for linking libclc OpenCL libraries. It
takes the form of a new optional flag: --libclc-lib=namespec. Nothing is
linked unless this flag is specified.
Not all libclc targets have corresponding clang targets. For this reason
it is desirable for users to be able to specify a libclc library name.
We support this by taking both a library name (without the .bc suffix)
or a filename. Both of these are searched for in the clang resource
directory. Filenames are
also checked themselves so that absolute paths can be provided. The
syntax for specifying filenames (as opposed to library names) uses a
leading colon (:), inspired by the -l option.
To accommodate this option, libclc libraries are now placed into clang's
resource directory in an in-tree configuration. The libraries are all
placed in <resource-dir>/lib/libclc and
are not grouped under host-specific directories as some other runtime
libraries are; it is not expected that OpenCL libraries will differ
depending on the host toolchain.
Currently only the AMDGPU toolchain supports this option as a proof of
concept. Other targets such as NVPTX or SPIR/SPIR-V could support it
too. We could optionally let target toolchains search for libclc
libraries themselves, possibly when passed an empty --libclc-lib.
Commit: 6f74a44b63f3f5de6c741077e11558eb16fc3459
https://github.com/llvm/llvm-project/commit/6f74a44b63f3f5de6c741077e11558eb16fc3459
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use range-based for loops in DenseMap.h (NFC) (#151900)
This patch introduces helper function buckets() to convert several
loops to range-based for loops.
Commit: 76abef60b0d7adb9996220894e4390a93cf9bc1c
https://github.com/llvm/llvm-project/commit/76abef60b0d7adb9996220894e4390a93cf9bc1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#151901)
getOpcode() already returns unsigned.
Commit: 9559de180336ec542bc9c49da9f2800fa3ea5004
https://github.com/llvm/llvm-project/commit/9559de180336ec542bc9c49da9f2800fa3ea5004
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#151902)
getImm() already returns int64_t.
Commit: c5c2570d09de1a78f45a3a03a3167c35b05eae6e
https://github.com/llvm/llvm-project/commit/c5c2570d09de1a78f45a3a03a3167c35b05eae6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Core/Opcode.h
Log Message:
-----------
[lldb] Include bit.h instead of SwapByteOrder.h (NFC) (#151903)
We use llvm::byteswap from bit.h, but we don't use any feature from
SwapByteOrder.h.
Commit: 39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
https://github.com/llvm/llvm-project/commit/39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/QualTypeNames.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151904)
Commit: 35dd88918fccfafe60124d4046eb766299015f31
https://github.com/llvm/llvm-project/commit/35dd88918fccfafe60124d4046eb766299015f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm] Use llvm::iterator_range::empty (NFC) (#151905)
Commit: 0398ad41bdf1ce5f74c80a74494bfe733fe3e214
https://github.com/llvm/llvm-project/commit/0398ad41bdf1ce5f74c80a74494bfe733fe3e214
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/Coroutines.rst
Log Message:
-----------
[llvm] Proofread Coroutines.rst (#151906)
Commit: 32efbb707ecaa4d55ad322c2b85393603e440541
https://github.com/llvm/llvm-project/commit/32efbb707ecaa4d55ad322c2b85393603e440541
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[nfc][profcheck] fix cl::desc typo (#151979)
The pass is `prof-verify`, not `prof-check`. (Meanwhile, `profcheck` is an informal handle we could use for the whole feature in the [RFC](https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595))
Commit: 38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
https://github.com/llvm/llvm-project/commit/38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
Log Message:
-----------
[DAG] combineVSelectWithAllOnesOrZeros - missing freeze (#150388)
This PR resolves https://github.com/llvm/llvm-project/issues/150069
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 6df66a0683fee8ed35bb2aa85fff458add434c5f
https://github.com/llvm/llvm-project/commit/6df66a0683fee8ed35bb2aa85fff458add434c5f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
Log Message:
-----------
[TypeSanitizer] Add test with lifetime intrinsics (NFC)
Commit: 105963ad5e6b05214318874aef93d02e10ce6c43
https://github.com/llvm/llvm-project/commit/105963ad5e6b05214318874aef93d02e10ce6c43
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode] Use SmallVector for Function::Code (#151821)
This way we can use resize_for_overwrite, which is slightly more
efficient:
https://llvm-compile-time-tracker.com/compare.php?from=7bdab76350970a3ac471da6a30035dd5b7ef14f3&to=b55bd2c74f230e2150e54b0523db6a8426eab54d&stat=instructions:u
Commit: b18377ccad8dd330622b012df0ec73fc5bf768a4
https://github.com/llvm/llvm-project/commit/b18377ccad8dd330622b012df0ec73fc5bf768a4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
Log Message:
-----------
[GlobalsModRef] Generate test checks (NFC)
Commit: 2b20cf7291c139f32b55a31397d7de1dfa323f3f
https://github.com/llvm/llvm-project/commit/2b20cf7291c139f32b55a31397d7de1dfa323f3f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
Log Message:
-----------
[AMDGPU] Fold into uses of splat REG_SEQUENCEs through COPYs. (#145691)
Commit: f72c8dce1586d27e4723259166a21f01499dda60
https://github.com/llvm/llvm-project/commit/f72c8dce1586d27e4723259166a21f01499dda60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] canCreateUndefOrPoisonForTargetNode - RISCVISD::SELECT_CC is only for integer comparisons - which can't create poison (#151943)
The result type is irrelevant - its the comparison type that matters
Commit: 3ee8d047109ea4bb479095f4b153c2120a8d726c
https://github.com/llvm/llvm-project/commit/3ee8d047109ea4bb479095f4b153c2120a8d726c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Commit: cd834449a6d551cace6afad798ffad318f4ff325
https://github.com/llvm/llvm-project/commit/cd834449a6d551cace6afad798ffad318f4ff325
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Fix format (#151829)
Generated by running the formatter:
```
royshi-mac-home ~/public_llvm/llvm-project/lldb/tools/lldb-dap % yarn format
yarn run v1.22.22
warning package.json: License should be a valid SPDX license expression
warning lldb-dap at 0.2.15: The engine "vscode" appears to be invalid.
$ npx prettier './src-ts/' --write
src-ts/debug-adapter-factory.ts 65ms
src-ts/debug-configuration-provider.ts 17ms (unchanged)
src-ts/debug-session-tracker.ts 11ms (unchanged)
src-ts/disposable-context.ts 2ms (unchanged)
src-ts/extension.ts 3ms (unchanged)
src-ts/lldb-dap-server.ts 7ms
src-ts/ui/error-with-notification.ts 4ms (unchanged)
src-ts/ui/modules-data-provider.ts 5ms (unchanged)
src-ts/ui/show-error-message.ts 6ms (unchanged)
src-ts/uri-launch-handler.ts 5ms (unchanged)
✨ Done in 0.99s.
```
Commit: 7fb620a5cc02a511a019d6918b0993b4cbdea825
https://github.com/llvm/llvm-project/commit/7fb620a5cc02a511a019d6918b0993b4cbdea825
Author: qxy11 <qxy11 at meta.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
Fix a deadlock in ModuleList when starting a standalone lldb client/server (#148774)
Summary:
There was a deadlock was introduced by [PR
#146441](https://github.com/llvm/llvm-project/pull/146441) which changed
`CurrentThreadIsPrivateStateThread()` to
`CurrentThreadPosesAsPrivateStateThread()`. This change caused the
execution path in
[`ExecutionContextRef::SetTargetPtr()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L513)
to now enter a code block that was previously skipped, triggering
[`GetSelectedFrame()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L522)
which leads to a deadlock.
Thread 1 gets m_modules_mutex in
[`ModuleList::AppendImpl`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Core/ModuleList.cpp#L218),
Thread 3 gets m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501),
but then Thread 1 waits for m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501)
while Thread 3 waits for m_modules_mutex in
[`ScanForGNUstepObjCLibraryCandidate`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp#L57).
This fixes the deadlock by adding a scoped block around the mutex lock
before the call to the notifier, and moved the notifier call outside of
the mutex-guarded section. The notifier call
[`NotifyModuleAdded`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Target.cpp#L1810)
should be thread-safe, since the module should be added to the
`ModuleList` before the mutex is released, and the notifier doesn't
modify the module list further, and the call is operates on local state
and the `Target` instance.
### Deadlocked Thread backtraces:
```
* thread #3, name = 'dbg.evt-handler', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563786bd5f40) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007f2f0f1927b0, __m=0x0000563786bd5f40) at std_mutex.h:229:19
frame #8: 0x00007f2f27946eb7 liblldb.so.21.0git`ScanForGNUstepObjCLibraryCandidate(modules=0x0000563786bd5f28, TT=0x0000563786bd5eb8) at GNUstepObjCRuntime.cpp:60:41
frame #9: 0x00007f2f27946c80 liblldb.so.21.0git`lldb_private::GNUstepObjCRuntime::CreateInstance(process=0x0000563785e1d360, language=eLanguageTypeObjC) at GNUstepObjCRuntime.cpp:87:8
frame #10: 0x00007f2f2746fca5 liblldb.so.21.0git`lldb_private::LanguageRuntime::FindPlugin(process=0x0000563785e1d360, language=eLanguageTypeObjC) at LanguageRuntime.cpp:210:36
frame #11: 0x00007f2f2742c9e3 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeObjC) at Process.cpp:1516:9
...
frame #21: 0x00007f2f2750b5cc liblldb.so.21.0git`lldb_private::Thread::GetSelectedFrame(this=0x0000563785e064d0, select_most_relevant=DoNoSelectMostRelevantFrame) at Thread.cpp:274:48
frame #22: 0x00007f2f273f9957 liblldb.so.21.0git`lldb_private::ExecutionContextRef::SetTargetPtr(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:525:32
frame #23: 0x00007f2f273f9714 liblldb.so.21.0git`lldb_private::ExecutionContextRef::ExecutionContextRef(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:413:3
frame #24: 0x00007f2f270e80af liblldb.so.21.0git`lldb_private::Debugger::GetSelectedExecutionContext(this=0x0000563785d83bc0) at Debugger.cpp:1225:23
frame #25: 0x00007f2f271bb7fd liblldb.so.21.0git`lldb_private::Statusline::Redraw(this=0x0000563785d83f30, update=true) at Statusline.cpp:136:41
...
* thread #1, name = 'lldb', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563785e1dd98) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007ffe62be0488, __m=0x0000563785e1dd98) at std_mutex.h:229:19
frame #8: 0x00007f2f2742c8d1 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeC_plus_plus) at Process.cpp:1510:41
frame #9: 0x00007f2f2743c46f liblldb.so.21.0git`lldb_private::Process::ModulesDidLoad(this=0x0000563785e1d360, module_list=0x00007ffe62be06a0) at Process.cpp:6082:36
...
frame #13: 0x00007f2f2715cf03 liblldb.so.21.0git`lldb_private::ModuleList::AppendImpl(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, use_notifier=true) at ModuleList.cpp:246:19
frame #14: 0x00007f2f2715cf4c liblldb.so.21.0git`lldb_private::ModuleList::Append(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, notify=true) at ModuleList.cpp:251:3
...
frame #19: 0x00007f2f274349b3 liblldb.so.21.0git`lldb_private::Process::ConnectRemote(this=0x0000563785e1d360, remote_url=(Data = "connect://localhost:1234", Length = 24)) at Process.cpp:3250:9
frame #20: 0x00007f2f27411e0e liblldb.so.21.0git`lldb_private::Platform::DoConnectProcess(this=0x0000563785c59990, connect_url=(Data = "connect://localhost:1234", Length = 24), plugin_name=(Data = "gdb-remote", Length = 10), debugger=0x0000563785d83bc0, stream=0x00007ffe62be3128, target=0x0000563786bd5be0, error=0x00007ffe62be1ca0) at Platform.cpp:1926:23
```
## Test Plan:
Built a hello world a.out
Run server in one terminal:
```
~/llvm/build/Debug/bin/lldb-server g :1234 a.out
```
Run client in another terminal
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
```
Before:
Client hangs indefinitely
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b main"
(lldb) gdb-remote 1234
^C^C
```
After:
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
(lldb) gdb-remote 1234
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = signal SIGSTOP
frame #0: 0x00007ffff7fe4a60
ld-linux-x86-64.so.2`_start:
-> 0x7ffff7fe4a60 <+0>: movq %rsp, %rdi
0x7ffff7fe4a63 <+3>: callq 0x7ffff7fe5780 ; _dl_start at rtld.c:522:1
ld-linux-x86-64.so.2`_dl_start_user:
0x7ffff7fe4a68 <+0>: movq %rax, %r12
0x7ffff7fe4a6b <+3>: movl 0x18067(%rip), %eax ; _dl_skip_args
(lldb) b hello.cc:3
Breakpoint 1: where = a.out`main + 15 at hello.cc:4:13, address = 0x00005555555551bf
(lldb) c
Process 837068 resuming
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00005555555551bf a.out`main at hello.cc:4:13
1 #include <iostream>
2
3 int main() {
-> 4 std::cout << "Hello World" << std::endl;
5 return 0;
6 }
```
Commit: 2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
https://github.com/llvm/llvm-project/commit/2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/test/Target/SPIRV/module.mlir
Log Message:
-----------
[mlir][spirv] Support SPIR-V 1.6 in deserializer (#151958)
After skimming through the changes in the spec, there does not seem to
be anything that will cause issues. A new roundtrip test has been added
and validate with `spirv-val` just in case.
Commit: 2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
https://github.com/llvm/llvm-project/commit/2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
Author: Chris B <chris.bieneman at me.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SymbolicFile.cpp
A llvm/test/tools/llvm-objdump/DXContainer/part-headers.yaml
M llvm/tools/llvm-objdump/CMakeLists.txt
A llvm/tools/llvm-objdump/DXContainerDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[DirectX] Add ObjectFile boilerplate for objdump (#151434)
This change adds boilerplate code to implement the object::ObjectFile
interface for the DXContainer object file and an empty implementation of
the objdump Dumper object.
Adding an ObjectFile implementation for DXContainer is a bit odd because
the DXContainer format doesn't have a symbol table, so there isn't a
reasonable implementation for the SymbolicFile interfaces. That said, it
does have sections, and it will be useful for objdump to be able to
inspect some of the structured data stored in some of the special named
sections.
At this point in the implementation it can't do much other than dump the
part names, offsets, and sizes. Dumping detailed structured section
contents to be extended in subsequent PRs.
Fixes #151433
Commit: a3a8e1c064d15ce560840279b77e5a421103a58d
https://github.com/llvm/llvm-project/commit/a3a8e1c064d15ce560840279b77e5a421103a58d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
Log Message:
-----------
[TargetLowering][RISCV] Use sra for (X & -256) == 256 -> (X >> 8) == 1 if it yields a better icmp constant. (#151762)
If using srl does not produce a legal constant for the RHS of the
final compare, try to use sra instead.
Because the AND constant is negative, the sign bits participate in the
compare. Using an arithmetic shift right duplicates that bit.
Commit: 8d9afb8d955553bcc6aecba930fe94264b3ceebc
https://github.com/llvm/llvm-project/commit/8d9afb8d955553bcc6aecba930fe94264b3ceebc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex ObjC APIs to IterationAction (#151839)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 0ee1811624383b4601c969d72e851377f868120f
https://github.com/llvm/llvm-project/commit/0ee1811624383b4601c969d72e851377f868120f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate InitializePythonRAII::InitializeThreadsPrivate (NFC) (#151780)
The behavior of thread initialization changed in Python 3.7. The minimum
supported Python version is now 3.8. That means that
`PyEval_ThreadsInitialized` always returns true and `PyEval_InitThreads`
is never called.
The helper function existed to coordinate initializing the threads and
acquiring the GIL, which is no longer necessary. With that, there's no
point in having the helper at all. This PR eliminates the function and
inlines to GIL acquisition into the caller.
Commit: b738f630f73975bc591a82fdcb4858ae5da67477
https://github.com/llvm/llvm-project/commit/b738f630f73975bc591a82fdcb4858ae5da67477
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/Bitset.h
Log Message:
-----------
ADT: Expose typedef for Bitset's storage type (#151986)
Allows subclasses to directly initialize the underlying storage.
This will enable tablegen to emit a smaller initializer list to
initialize constant bitsets. For runtime libcalls we need to
initialize many hundreds of bits in many different sets so this
shrinks the generated output to a more manageable size.
Extracted from #151948
Commit: e8fc808bf8e78a3c80d1f8e293a92677b92366dd
https://github.com/llvm/llvm-project/commit/e8fc808bf8e78a3c80d1f8e293a92677b92366dd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Reapply "MCFragment: Use trailing data for fixed-size part" (#150846)
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
---
This reverts commit a2fef664c29a53bfa8a66927fcf8b2e5c9da4876,
which reverted the innocent f1aa6050bd90f8ec4273da55d362e23905ad3a81 .
Commit df71243fa885cd3db701dc35a0c8d157adaf93b3, the MCOrgFragment fix,
has fixed the root cause of https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: a461e2b16056a0ad0e09e7866ed70edb97763b03
https://github.com/llvm/llvm-project/commit/a461e2b16056a0ad0e09e7866ed70edb97763b03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
Log Message:
-----------
[RISCV] Improvements to .note.gnu.property section. (#151436)
Put the emitValueToAlignment at the beginning instead of in the middle.
Emit the descsz directly instead of using the difference of 2 labels.
Remove the section alignment. emitValueToAlignment will increase the
section alignment if necessary.
Commit: 0f08dc84405796c25c070ef57258309f66017984
https://github.com/llvm/llvm-project/commit/0f08dc84405796c25c070ef57258309f66017984
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use fully qualified name instead of namespace (NFC)
In #151761, both Alex and Pavel prefer to use a fully qualified name
instead of opening a namespace. This PR addresses that post-commit
feedback.
Commit: afbabb1d9f7899c82f7e28e7c17d27b06c14a646
https://github.com/llvm/llvm-project/commit/afbabb1d9f7899c82f7e28e7c17d27b06c14a646
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
Log Message:
-----------
[gn build] Port 2fe96439fb81
Commit: 5a80274cae3c5d19cf5058550139cb857513ae02
https://github.com/llvm/llvm-project/commit/5a80274cae3c5d19cf5058550139cb857513ae02
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Reuse lowerToScalableOp for more nodes. NFC (#151911)
A lot of fixed-length custom lowerings just involve inserting the
operands into a scalable container and extracting the result out, and
lowerToScalableOp already does this.
We just need to teach it to handle operands with different element types
(but same vector element count), and we can reuse it for
vselect/zext/sext/setcc/fcopysign.
Commit: 8f77fa7026de9f544778063fd9fe900d0804b863
https://github.com/llvm/llvm-project/commit/8f77fa7026de9f544778063fd9fe900d0804b863
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Simplify Python Locker log messages (NFC)
Eliminate the `log` variable by inlining the GetLog call and use
"locked" and "unlocked" directly, as requested by Ismail in #151780.
Commit: a0db29d64788c44230b0808317d5841c5558bec6
https://github.com/llvm/llvm-project/commit/a0db29d64788c44230b0808317d5841c5558bec6
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Zero extend APInt when piece size is bigger than the bitwidth (#150149)
### Summary
We have internally seen cases like this
`DW_OP_lit0, DW_OP_stack_value, DW_OP_piece 0x28`
where we have longer op pieces than what Scalar supports (32, 64 or 128
bits). In these cases LLDB is currently hitting the assertion
`assert(ap_int.getBitWidth() >= bit_size);`
We are extending the generated APInt to the piece size by filling zeros.
### Test plan
Added a unit to cover this case.
### Reviewers
@clayborg , @jeffreytan81 , @Jlalond
Commit: 7b208e04b2e7c4a10eebf026996d8116eac5f603
https://github.com/llvm/llvm-project/commit/7b208e04b2e7c4a10eebf026996d8116eac5f603
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
Log Message:
-----------
[LLDB] Add setting for native PDB reader (#151490)
Initially suggested in
https://github.com/llvm/llvm-project/pull/149305#issuecomment-3113413702
- this PR adds the setting `plugin.symbol-file.pdb.use-native-reader`.
It doesn't remove support for `LLDB_USE_NATIVE_PDB_READER` to allow some
backwards compatibility. This was the suggested way to use the native
reader - changing that would mean users who set this, now use the DIA
reader. The setting has priority over the environment variable, though.
If the default gets flipped on Windows, the environment variable could
probably be removed as well.
This would make it possible to test both native PDB and DIA PDB in the
API tests (see linked PR).
Commit: 80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
https://github.com/llvm/llvm-project/commit/80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/source/Target/ExecutionContext.cpp
Log Message:
-----------
[lldb][nfc] Use delegating ctor for ExecutionContext (#151987)
The ctor that takes a reference to ExecutionContextRef can be
implemented in terms of the ctor that takes a pointer to that object,
removing code duplication.
Commit: 849daa4aa05f2b3ac114762c73b9cb48d132a060
https://github.com/llvm/llvm-project/commit/849daa4aa05f2b3ac114762c73b9cb48d132a060
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/API/SBThread.h
M lldb/source/API/SBThread.cpp
Log Message:
-----------
[lldb][NFC] Move SBThread::ResumeNewPlan out of the header (#151988)
This *private* method is only defined as a member class of SBThread so
that it may be declared a `friend` of SBError and access a private
constructor of SBError that takes a `Status`, which is an `lldb_private`
object. In other words, the method does not use anything about the class
is belongs to, so it has no business being a member method.
A subsequent patch will need to add a new argument to this class, a
`Process::StopLocker`, which is also another `lldb_private` object. This
is another strong suggestion that this method does not belong on the
header file of a public API, even if at the private visibility level. We
can't forward declare nested types like `Process:StopLocker`, so this
problem is not easily solvable.
This commit moves the method out of the header and into an anon
namespace of the cpp file. It is also made to return a Status instead,
and the private `SBError` constructor is accessed by the SBThread
methods that call it.
Commit: cb50d78a0063244434d883d89ddda7f74abbffc9
https://github.com/llvm/llvm-project/commit/cb50d78a0063244434d883d89ddda7f74abbffc9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/for.c
Log Message:
-----------
[C] static_assert in a for loop is not an extension (#151955)
The original wording can be squinted at to pretend this was always
allowed. GCC squints at it that way, so we're doing the same and no
longer issuing an extension diagnostic for use of static_assert in the
condition-1 of a for loop in C.
Fixes #149633
Commit: 37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
https://github.com/llvm/llvm-project/commit/37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex GetTypes APIs to IterationAction (#151992)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
https://github.com/llvm/llvm-project/commit/70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
Revert "[SLP] Fix a check for main/alternate interchanged instruction" (#151997)
This reverts commit 3ee8d047109ea4bb479095f4b153c2120a8d726c.
Revert reason: FAILED build for openmp-offload-amdgpu-runtime-2
https://lab.llvm.org/buildbot/#/builders/10/builds/10827
Commit: 9d151897ba4a12fb8a85c545b7033efe328fe7d4
https://github.com/llvm/llvm-project/commit/9d151897ba4a12fb8a85c545b7033efe328fe7d4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
R llvm/test/Transforms/LoopVectorize/pr36983.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#151947)
Commit: ad623a813e6d9ffdef62270656245b35ffceda37
https://github.com/llvm/llvm-project/commit/ad623a813e6d9ffdef62270656245b35ffceda37
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate PyGILState_Check (NFC) (#152006)
Eliminate calls to PyGILState_Check, which is not part of the Python
Limited C API. In the Locker, we can use PyGILState_Ensure directly. We
could do something similar to replace the assert, but I don't think it's
worth it. We don't assert that we hold the GIL anywhere else.
Commit: 147cfc89f05e8953fa8eaff7448353c817b17cc9
https://github.com/llvm/llvm-project/commit/147cfc89f05e8953fa8eaff7448353c817b17cc9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 66eadbb235320b476214c810f5bbdc0daa44d2d7
https://github.com/llvm/llvm-project/commit/66eadbb235320b476214c810f5bbdc0daa44d2d7
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'init' lowering for private clause vars (#151781)
Previously, #151360 implemented 'private' clause lowering, but didn't
properly initialize the variables. This patch adds that behavior to make
sure we correctly get the constructor or other init called.
Commit: e27831ff9b4aa31b7dd9b1caca2c4a6585573608
https://github.com/llvm/llvm-project/commit/e27831ff9b4aa31b7dd9b1caca2c4a6585573608
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Fixed check for non-supported binary operations.
Commit: 215e6beae023341a8a17af1bd537472d16097e30
https://github.com/llvm/llvm-project/commit/215e6beae023341a8a17af1bd537472d16097e30
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use MapVector for ScalarCostsTy for deterministic iter order (NFC)
We iterate over the scalar costs of instruction when printing costs, and
currently the iteration order is not deterministic. Currently no tests
check the output with multiple instructions in the map, but those will
come soon.
Commit: dd0737bd99e691b038e463171fbfefe8e53b018d
https://github.com/llvm/llvm-project/commit/dd0737bd99e691b038e463171fbfefe8e53b018d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_ld_scale instructions (#152010)
Commit: 4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
https://github.com/llvm/llvm-project/commit/4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Implement warning restrictions for 'firstprivate'
'firstprivate' can't be generated unless we have a copy constructor, so
this patch implements the restriction as a warning, and prevents the
item from being added to the AST.
Commit: a27d34b3f22b1134b2d47590c25b7f81eb7710b2
https://github.com/llvm/llvm-project/commit/a27d34b3f22b1134b2d47590c25b7f81eb7710b2
Author: Alex Langford <alangford at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
Log Message:
-----------
[lldb] Fix TLS support on Darwin platforms (#151601)
When I wrote this previously, I was unaware that the TLS function
already adds the offset. The test was working previously because the
offset was 0 in this case (only 1 thread-local variable). I added
another thread-local variable to the test to make sure the offset is
indeed handled correctly.
rdar://156547548
Commit: 5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
https://github.com/llvm/llvm-project/commit/5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A mlir/test/Target/SPIRV/arm-tensor-constant.mlir
M mlir/test/Target/SPIRV/constant.mlir
A mlir/test/Target/SPIRV/replicated-composites-constant.mlir
Log Message:
-----------
[mlir][spirv] Fix constant.mlir test (#152015)
Fix forward a few issues instead of reverting recent PRs....
1. Remove split so that the output is properly serialized. This got
added in #145687.
2. Add missing extensions and capabilities so that the spirv-val passes
(tensors_arm, linkage).
3. Disable spirv-val test for arm tensor constants. These fail to
verify. Added in #151485.
Issue: #152012
Commit: 1e815ced81da6b66e1d331414fed2c3b53babecc
https://github.com/llvm/llvm-project/commit/1e815ced81da6b66e1d331414fed2c3b53babecc
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Use SDNodeXForm to select a few VOP3P modifiers, NFC (#151907)
It is not necessary to use ComplexPattern to select VOP3PModsNeg, VOP3PModsNegs
and VOP3PModsNegAbs. We can use SDNodeXForm instead.
Commit: 0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
https://github.com/llvm/llvm-project/commit/0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add VPlan::getTrue/getFalse convenience helpers (NFC).
Makes it slightly more convenient to create true/false constants.
Commit: a911eee3bc4923fcfa579c9f0b2c08eddff673eb
https://github.com/llvm/llvm-project/commit/a911eee3bc4923fcfa579c9f0b2c08eddff673eb
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
Thread safety analysis: Allocate FactEntrys with BumpPtrAllocator (#149660)
The FactManager managing the FactEntrys stays alive for the analysis of
a single function. We are already using that by allocating TIL
S-expressions via BumpPtrAllocator. We can do the same with FactEntrys.
If we allocate the facts in an arena, we won't get destructor calls for
them, and they better be trivially destructible. This required replacing
the SmallVector member of ScopedLockableFactEntry with TrailingObjects.
FactEntrys are now passed around by plain pointer. However, to hide the
allocation of TrailingObjects from users, we introduce `create` methods,
and this allows us to make the constructors private.
Commit: d27656925817cfc30607c3ab0e6a563637b71798
https://github.com/llvm/llvm-project/commit/d27656925817cfc30607c3ab0e6a563637b71798
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DebugNamesDWARFIndex::ProcessEntry to IterationAction (#152025)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
https://github.com/llvm/llvm-project/commit/b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests (#120798)
Sanitizer-specific tests don't use the sanitizer_common flags, but the
issues they address probably also apply to the individual sanitizers.
This was observed in #119071: moving a test from sanitizer_common to
msan broke it in builds with CMAKE_SYSROOT set, because the --sysroot
argument was no longer applied to the test.
Commit: 58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
https://github.com/llvm/llvm-project/commit/58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port 7b208e04b2e7c4a10eebf026996d8116eac5f603 (#152033)
Commit: 37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
https://github.com/llvm/llvm-project/commit/37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 MC support (#152014)
This adds new VOP3PX2e encoding
Commit: 6e94dc39623882fa594811d5beb18cda5ac3e414
https://github.com/llvm/llvm-project/commit/6e94dc39623882fa594811d5beb18cda5ac3e414
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
[MLIR] Add tensor compiler dialect maintainers (#150945)
As per https://discourse.llvm.org/t/mlir-project-maintainers/87189
@llvm/mlir-area-team
@jpienaar
@banach-space
Commit: 518703806286c98bac7b84156738839f8bd55bef
https://github.com/llvm/llvm-project/commit/518703806286c98bac7b84156738839f8bd55bef
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)
All these platforms defined their predicate in such a way to allow bit
twiddling to get inverse predicates
Commit: 771d9ab7017369093e98d8a82010a7a7f4d32226
https://github.com/llvm/llvm-project/commit/771d9ab7017369093e98d8a82010a7a7f4d32226
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix subtraction of infinity in fputil::add_or_sub (#152017)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 7223f67ffc37fe479c399f87d8bec606496e50fe
https://github.com/llvm/llvm-project/commit/7223f67ffc37fe479c399f87d8bec606496e50fe
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/import_weak_alias.test
Log Message:
-----------
[LLD][COFF] Don't resolve weak aliases when performing local import (#152000)
Fixes crashes reported in #151255.
The alias may have already been stored for later resolution, which can
lead to treating a resolved alias as if it were still undefined.
Instead, use the alias target directly for the import.
Also extended the test to make reproducing the problem more likely, and
added an assert that catches the issue.
Commit: 318d639ea142c5b9544d9602683c9a3d802aa7f2
https://github.com/llvm/llvm-project/commit/318d639ea142c5b9544d9602683c9a3d802aa7f2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] Update clang to v22 in the fullbuild tests (#152039)
The apt repository has been updated so installing version 22 actually
works now.
Fixes #151215.
Commit: f58bc72759e2e6e11d7e50ef3370a5a7d345e651
https://github.com/llvm/llvm-project/commit/f58bc72759e2e6e11d7e50ef3370a5a7d345e651
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
Revert "[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)"
This reverts commit 518703806286c98bac7b84156738839f8bd55bef.
Failing M68k build bot.
Commit: 9f7f3d65483769cba287242120362f8e21407e8d
https://github.com/llvm/llvm-project/commit/9f7f3d65483769cba287242120362f8e21407e8d
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
Log Message:
-----------
[CIR] Implemented get/set for volatile bitfields (#151875)
This PR adds support for loading and storing volatile bit-field members
according to the AAPCS specification.
> A volatile bit-field must always be accessed using an access width
appropriate to the type of its container, except when any of the
following are true:
>
> * The bit-field container overlaps with a zero-length bit-field.
> * The bit-field container overlaps with a non-bit-field member.
For example, if a bit-field is declared as `int`, the load/store must
use a 32-bit access, even if the field itself is only 3 bits wide.
Commit: a708b4bf21d7c2298224cdacf7d424abc3c8fed4
https://github.com/llvm/llvm-project/commit/a708b4bf21d7c2298224cdacf7d424abc3c8fed4
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Print diagnostic if ptrace syscall fails (#151406)
StopTheWorld() clones a child process (with shared virtual address space
and shared TLS) that calls ptrace before releasing a mutex; the parent
process yields until the mutex is unlocked. If seccomp kills the child
process, the parent process will silently hang. The parent process
cannot use waitpid to detect that the child process has been killed,
because the processes share errno.
This patch forks the process one-time to test whether ptrace is allowed.
If it fails, it prints an informational message (though it does not
abort the sanitizer).
Fixes https://github.com/llvm/llvm-project/issues/150380 and
https://github.com/google/sanitizers/issues/777
Commit: abc394c6576eba790fd5eed02da19527981618bc
https://github.com/llvm/llvm-project/commit/abc394c6576eba790fd5eed02da19527981618bc
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Fix-forward "[sanitizer] Print diagnostic if ptrace syscall fails #151406"
Use internal__exit instead of _exit
Buildbot: https://lab.llvm.org/buildbot/#/builders/174/builds/22276
Commit: 05b52ef909475f4048e5b8cd86b3671772506682
https://github.com/llvm/llvm-project/commit/05b52ef909475f4048e5b8cd86b3671772506682
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Update to the new create APIs (#152050)
Some operation creations were updated in flang directory but not all.
Migrate the CUF ops to the new create APIs introduce in #147168
Commit: 717e753d1ef6d371d09f957f23df5c7a0e05a197
https://github.com/llvm/llvm-project/commit/717e753d1ef6d371d09f957f23df5c7a0e05a197
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
Log Message:
-----------
[win][arm64ec] Handle empty function names (#151609)
While testing Arm64EC, I observed that LLVM crashes when an empty
function name is used. My original fix in #151409 was to raise an error,
but this change now handles the empty name via
`Mangler::getNameWithPrefix` (which assigns a name to the function).
To get this working, I had to create the `Mangler` in
`TargetLoweringObjectFile` early so it would be available to Arm64EC's
lowering. There's no reason why `Mangler` is only created when
`Initialize` is called (or re-created if it exists), and so I moved
creation to the constructor and switched the raw pointer for a
`unique_ptr` to avoid the explicit `delete` in the destructor.
Commit: 314e82514d979338d17baddf180ab1dbfef9c864
https://github.com/llvm/llvm-project/commit/314e82514d979338d17baddf180ab1dbfef9c864
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/PDB/BUILD.gn
Log Message:
-----------
[gn] port 7b208e04b2e7
Commit: 951f40ac388fc389b958af027df96356a4c51e33
https://github.com/llvm/llvm-project/commit/951f40ac388fc389b958af027df96356a4c51e33
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Update flang/unittests to the new create APIs (#152056)
While I was updating the creation of CUF operation in #152050, I noticed
some other places in flang that were not updated. This patch updates the
FIR operation creations in `flang/unittests`
Commit: 9b195dc3ef66de2c1ff0048822b24a322ec3c52a
https://github.com/llvm/llvm-project/commit/9b195dc3ef66de2c1ff0048822b24a322ec3c52a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Generate cuf.allocate for descriptor with CUDA components (#152041)
The descriptor for derived-type with CUDA components are allocated in
managed memory. The lowering was calling the standard runtime on
allocate statement where it should be a `cuf.allocate` operation.
Commit: 875a3debde1cecf04604024548e981f0e5d47bf0
https://github.com/llvm/llvm-project/commit/875a3debde1cecf04604024548e981f0e5d47bf0
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV][EVL] Drop EVLIndVarSimplifyPass from the pipeline (#151483)
With the VPlan-based canonical induction variable replacement landed in
#147222, it appears to cover the functionality previously provided by
the EVLIndVarSimplify pass introduced in #131005.
This patch suggests removing EVLIndVarSimplify from the RISC-V pipeline
as a follow-up step. Feedback is very welcome!
Commit: 04691aae0dd783162919c85aef5b8b143c0ca411
https://github.com/llvm/llvm-project/commit/04691aae0dd783162919c85aef5b8b143c0ca411
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
Log Message:
-----------
[libclc] Refine id in async_work_group_copy STRIDED_COPY (#151644)
Move id first along 0th dimension to achieve coalesced memory access
when stride is 1.
Commit: 862fb42b065dd01584f219994bc791f9d0a4c9b8
https://github.com/llvm/llvm-project/commit/862fb42b065dd01584f219994bc791f9d0a4c9b8
Author: Maksim Shelegov <maksim.shelegov at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Fix G_UNMERGE_VALUES combine (#141812)
Fixes #139791.
When trying to combine two G_UNMERGE_VALUES with a COPY between them,
a crash occurs in tryCombineUnmergeValues() because getDefIndex() tries
to find the index of the original source register in the def found by
getDefIgnoringCopies(). In the case of a COPY in between, this register
is not present in the def, only in the COPY.
Commit: 03e902cc68115e9c5be1a624849e30c5e510c930
https://github.com/llvm/llvm-project/commit/03e902cc68115e9c5be1a624849e30c5e510c930
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
Log Message:
-----------
[X86] Remove `UnsafeFPMath` uses (#151667)
Remove `UnsafeFPMath` in X86 part, it blocks some bugfixes related to
clang and the ultimate goal is to remove `resetTargetOptions` method in
`TargetMachine`, see FIXME in `resetTargetOptions`.
See also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast
https://discourse.llvm.org/t/allowfpopfusion-vs-sdnodeflags-hasallowcontract
Commit: 3b23fdb35def583ae5db58576a7fcb312315879e
https://github.com/llvm/llvm-project/commit/3b23fdb35def583ae5db58576a7fcb312315879e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
Log Message:
-----------
[flang][NFC] Update more FIR op creation to the new APIs (#152060)
Commit: 8761b6cf8f989c9f0a29f241e50756929e7190b7
https://github.com/llvm/llvm-project/commit/8761b6cf8f989c9f0a29f241e50756929e7190b7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Use VPTypeAnalysis to get the step type of widen pointer induction (#147925)
This patch uses VPTypeAnalysis to determine its type since the induction
step is not always a live-in value in the VPlan and may be defined by a
recipe.
Commit: e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
https://github.com/llvm/llvm-project/commit/e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
Log Message:
-----------
ARM: Remove CPU from computeTargetABI (#151983)
The target CPU is a subtarget / function level concept, which
should not influence the module level ABI decisions. No tests fail
so it appears nothing is relying on this.
Commit: c5986765dc708d682deb2cdf62f5e16df737179b
https://github.com/llvm/llvm-project/commit/c5986765dc708d682deb2cdf62f5e16df737179b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
Fix missing clang changes for #151983 (#152066)
That change was missing the API update in clang.
Commit: a153e83e41a31d36589ed252083b4ce5ed52ea60
https://github.com/llvm/llvm-project/commit/a153e83e41a31d36589ed252083b4ce5ed52ea60
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/Transforms/InstCombine/AMDGPU/wmma-f8f6f4.ll
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 codegen (#152036)
Commit: 0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
https://github.com/llvm/llvm-project/commit/0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add fixed size to wmma instructions with scale (#152043)
Commit: d02714c85a5e4794b9c77d7b2aae979633fe2566
https://github.com/llvm/llvm-project/commit/d02714c85a5e4794b9c77d7b2aae979633fe2566
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Return success for pointers to locals (#151980)
They aren't valid, but we leave them successful here and
CheckLValueConstantExpression will diagnose them later.
Commit: 203b35d214252349d58abba558ed086e281bd208
https://github.com/llvm/llvm-project/commit/203b35d214252349d58abba558ed086e281bd208
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[NFC] Precommit test for "[RISCV] Create disjoint or in RISCVGatherScatterLowering" (#152068)
#151981
Commit: 5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
https://github.com/llvm/llvm-project/commit/5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Add support for integer min/max ReLU idiom (#151727)
Commit: 8eab158396d8c627849cc3d5e818725e22434c9c
https://github.com/llvm/llvm-project/commit/8eab158396d8c627849cc3d5e818725e22434c9c
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
[libc] make integration test malloc work properly when threaded (#151622)
Make the simple bump allocation backed by atomic operations.
Commit: 12568b6a4f735948316b9eceba0f6b48c21a0dc8
https://github.com/llvm/llvm-project/commit/12568b6a4f735948316b9eceba0f6b48c21a0dc8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SystemZ/llvm.sincos.f16.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.ll
Log Message:
-----------
SystemZ: Add sincos intrinsic test (#147473)
The ZOS run line is mostly broken. update_test_checks seems
to not work on it and I have no idea what I'm looking at here.
It's not obvious to me what the calls are. I added some checks
for the references to the libcalls printed at the end of the module,
but didn't check anything in the function body. half also just
asserts somewhere.
Commit: 0885740465951c3e4498eb63b2277427ec8f277f
https://github.com/llvm/llvm-project/commit/0885740465951c3e4498eb63b2277427ec8f277f
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Create disjoint or in RISCVGatherScatterLowering (#151981)
We can create disjoint or in IRBuilder since #146350.
---------
Co-authored-by: Min-Yih Hsu <min.hsu at sifive.com>
Commit: e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
https://github.com/llvm/llvm-project/commit/e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
Log Message:
-----------
[flang][NFC] Update HLFIR ops creation to the new APIs (#152075)
See #147168
Commit: df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
https://github.com/llvm/llvm-project/commit/df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/test/AST/ByteCode/nullable.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only collect non-null args if we have to (#152074)
Only do this if the function really has a NonNullArg.
Commit: 1eaf736384e6d1de1f9c23c8f60d872499b7cc97
https://github.com/llvm/llvm-project/commit/1eaf736384e6d1de1f9c23c8f60d872499b7cc97
Author: Boyana Norris <brnorris03 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/IR/MLIRContext.cpp
M mlir/test/IR/test-clone.mlir
Log Message:
-----------
[mlir] Clone attrs of unregistered dialect ops (#151847)
`Operation::clone` does not clone the properties of unregistered ops.
This patch modifies the property initialization for unregistered ops to
initialize properties as attributes.
fixes #151640
---------
Signed-off-by: Boyana Norris <brnorris03 at gmail.com>
Commit: 95d9e8af64bc8e3f257553e2da01388bb72823fe
https://github.com/llvm/llvm-project/commit/95d9e8af64bc8e3f257553e2da01388bb72823fe
Author: Philip Lassen <plassen at groq.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[NFC][mlir] Update DataFlowFramework.h to be compatible with clang c++23 (#152040)
This change makes `DataFlowFramework.h` compatible with `clang++` and
`--std=c++23`.
Previously clang was checking the templated `DataFlowSolver::eraseState`
body before being instantiated. This resulted in issues with incomplete
types, and happened at least with `clang++-19`.
This is fixed by moving the definition of `DataFlowSolver::eraseState`
after the `AnalysisState`'s full class declaration.
For full context:
-
https://discourse.llvm.org/t/what-is-the-status-of-c-23-support-in-mlir/87674/12
Commit: 8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
https://github.com/llvm/llvm-project/commit/8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Call CheckLocalLoad in GetLocal (#152090)
I forgot to call this here as well. It was only used in the EvalEmitter
implementation of the function. Also fix a problem where we didn't
diagnose out-of-lifetime reads here.
Commit: e044cc50eec8b2875b047c242f7afa4bc47046fe
https://github.com/llvm/llvm-project/commit/e044cc50eec8b2875b047c242f7afa4bc47046fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/condprop.ll
Log Message:
-----------
[GVN] Handle not in equality propagation (#151942)
Look through `not` when propagating equalities in GVN. Usually these
will be canonicalized away, but they may be retained due to multi-use or
involvement in logical expressions.
Fixes https://github.com/llvm/llvm-project/issues/143529.
Commit: fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
https://github.com/llvm/llvm-project/commit/fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
Author: David Green <david.green at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Log Message:
-----------
[ARM] Use -cost-kind=all for cast and active_lane_mask tests. NFC
Commit: fb632ed2377d280b581b8d4653b855e60d611f77
https://github.com/llvm/llvm-project/commit/fb632ed2377d280b581b8d4653b855e60d611f77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/assume-equal.ll
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Handle provenance when propagating assume equality (#151953)
If we have a known `p == p2` equality, we cannot replace `p2` with `p`
unless they are known to have the same provenance. GVN handles this when
propagating equalities from conditions, but not for assumes, as these go
through a different code path for uses in the same block.
Call canReplacePointersInUseIfEqual() before performing the replacement.
This is subject to the usual approximations (e.g. that we always allow
replacement with a dereferenceable constant and null).
This restriction does not appear to have any impact in practice.
Commit: ba099c516daf4c5e77e3342803b1d91c9a0f9399
https://github.com/llvm/llvm-project/commit/ba099c516daf4c5e77e3342803b1d91c9a0f9399
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
Log Message:
-----------
[StackLifetime] Remove handling for lifetime size mismatch (#151965)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly remove handling for size mismatch in the StackLifetime
analysis.
Commit: 6393a9edde6da41d0e927b34a6c9ba965289c6da
https://github.com/llvm/llvm-project/commit/6393a9edde6da41d0e927b34a6c9ba965289c6da
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Revert "[libc] make integration test malloc work properly when threaded" (#152096)
Reverts llvm/llvm-project#151622
This broke our libc on GPU bot:
https://lab.llvm.org/buildbot/#/builders/10/builds/10864
Commit: c233deb794b71260f012ac339574d51908b4fe26
https://github.com/llvm/llvm-project/commit/c233deb794b71260f012ac339574d51908b4fe26
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Use llvm-nm by default on Windows (#151805)
Use `llvm-nm` by default instead of `nm` in case of Windows host.
Commit: 0cf7377a1e6545821e3525b40a091575a3dfce61
https://github.com/llvm/llvm-project/commit/0cf7377a1e6545821e3525b40a091575a3dfce61
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Make uniform "Limitations" sections across all checks (#151863)
Commit: c5e6938c6710a1c34a32830c743f19a29ffef6e5
https://github.com/llvm/llvm-project/commit/c5e6938c6710a1c34a32830c743f19a29ffef6e5
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Add limitation of variable lifetimes in performance-unnecessary-copy-initialization (#151862)
Addresses https://github.com/llvm/llvm-project/issues/150189.
Commit: 87283db54852a899a52e4e01aa01b471ffa34a1d
https://github.com/llvm/llvm-project/commit/87283db54852a899a52e4e01aa01b471ffa34a1d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
Log Message:
-----------
[clang][ARM] Fix build failure in <arm_acle.h> for __swp (#151354)
In commit d5985905ae8e5b2 I introduced a Sema check that prohibits
`__builtin_arm_ldrex` and `__builtin_arm_strex` for data sizes not
supported by the target architecture version. However, `arm_acle.h`
unconditionally uses those builtins with a 32-bit data size. So now
including that header will cause a build failure on Armv6-M, or historic
architectures like Armv5.
To fix it, `arm_acle.h` now queries the compiler-defined
`__ARM_FEATURE_LDREX` macro (also fixed recently in commit
34f59d79209268e so that it matches the target architecture). If 32-bit
LDREX isn't available it will fall back to the older SWP instruction, or
failing that (on Armv6-M), a libcall.
While I was modifying the header anyway, I also renamed the local
variable `v` inside `__swp` so that it starts with `__`, avoiding any
risk of user code having #defined `v`.
Commit: 091c33b1f5d54201f8129b03f8cfc70aa94b053c
https://github.com/llvm/llvm-project/commit/091c33b1f5d54201f8129b03f8cfc70aa94b053c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__fwd/tuple.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/module.modulemap.in
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
Log Message:
-----------
[libc++] Remove SFINAE on __tuple_impl constructors (#151654)
The SFINAE isn't required, since the primary `tuple` class already does
the SFINAE checks. This removes a bit of code that was only used for
these constraints.
This also moves the `tuple_element` specialization for `tuple` to
`__fwd/tuple.h` to avoid a dependency on `__tuple/sfinae_helpers.h`
(which should be moved in a follow-up).
Commit: 1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
https://github.com/llvm/llvm-project/commit/1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/set
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
Log Message:
-----------
[libc++] Optimize copy construction and assignment of __tree (#151304)
```
----------------------------------------------------------------------------------------------------------
Benchmark old new
----------------------------------------------------------------------------------------------------------
std::map<int, int>::ctor(const&)/0 15.5 ns 14.9 ns
std::map<int, int>::ctor(const&)/32 474 ns 321 ns
std::map<int, int>::ctor(const&)/1024 24591 ns 11101 ns
std::map<int, int>::ctor(const&)/8192 236153 ns 98868 ns
std::map<std::string, int>::ctor(const&)/0 15.2 ns 14.9 ns
std::map<std::string, int>::ctor(const&)/32 2673 ns 2340 ns
std::map<std::string, int>::ctor(const&)/1024 115354 ns 86088 ns
std::map<std::string, int>::ctor(const&)/8192 1298510 ns 626876 ns
std::map<int, int>::operator=(const&) (into cleared Container)/0 16.5 ns 16.1 ns
std::map<int, int>::operator=(const&) (into cleared Container)/32 548 ns 323 ns
std::map<int, int>::operator=(const&) (into cleared Container)/1024 28418 ns 11026 ns
std::map<int, int>::operator=(const&) (into cleared Container)/8192 281827 ns 97113 ns
std::map<int, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.85 ns
std::map<int, int>::operator=(const&) (into populated Container)/32 369 ns 73.0 ns
std::map<int, int>::operator=(const&) (into populated Container)/1024 24078 ns 2322 ns
std::map<int, int>::operator=(const&) (into populated Container)/8192 266537 ns 22963 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/0 16.6 ns 16.2 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/32 2614 ns 1622 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/1024 116826 ns 63281 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/8192 1316655 ns 649177 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.89 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/32 1264 ns 581 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/1024 238826 ns 39943 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/8192 2412327 ns 379456 ns
```
Fixes #77658
Fixes #62571
Commit: 43ead215e4e519b99942b1bda9368681a1f13bea
https://github.com/llvm/llvm-project/commit/43ead215e4e519b99942b1bda9368681a1f13bea
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Precommit tests for PR146575 (NFC)
Commit: 00a648ab110583ed45cc931a0c1aabf4bfcd17e3
https://github.com/llvm/llvm-project/commit/00a648ab110583ed45cc931a0c1aabf4bfcd17e3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Elect to tail call when `sret` ptr is passed to the callee
We may be able to allow the callee to be tail-called when the caller
expects a `sret` pointer argument, as long as this pointer is forwarded
to the callee.
Fixes: https://github.com/llvm/llvm-project/issues/146303.
Commit: 155359c1f2bda7fb8d4e8001157ecea03689df68
https://github.com/llvm/llvm-project/commit/155359c1f2bda7fb8d4e8001157ecea03689df68
Author: Tommy MᶜMichen <tommy at mcmichen.net>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/invariant-group.ll
Log Message:
-----------
[llvm][sroa] Disable support for `invariant.group` (#151743)
Resolves #151574.
> SROA pass does not perform aggregate load/store rewriting on a pointer
whose source is a `launder.invariant.group`.
>
> This causes failed assertion in `AllocaSlices`.
>
> ```
> void (anonymous
namespace)::AllocaSlices::SliceBuilder::visitStoreInst(StoreInst &):
> Assertion `(!SI.isSimple() || ValOp->getType()->isSingleValueType())
&&
> "All simple FCA stores should have been pre-split"' failed.
> ```
Disables support for `{launder,strip}.invariant.group` intrinsics in
SROA.
Updates SROA test for `invariant.group` support.
Commit: 76d98cfcc40e9a351efc52287338f0fd5d4402fb
https://github.com/llvm/llvm-project/commit/76d98cfcc40e9a351efc52287338f0fd5d4402fb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
Log Message:
-----------
[RISCV][TTI] Enable masked interleave access (#151665)
Now that support for masked loads/stores of interleave groups has
landed, we can enable the loop vectorizer to generate masked interleave
access where applicable.
This improves vectorization in several ways:
* Internal predication support: This enables interleave group
vectorization for loops with internal control flow predication, provided
all members of the group share the same predicate. Gaps in interleave
groups are still not efficiently handled by masking, so masking for gaps
remains disabled for now.
* Tail folding: This allows tail folding of loops with interleave groups
by using masking. Without this, vectorized loops with interleaves would
fall back to using separate gather/scatter accesses, which can be
significantly less efficient.
"[RISCV][TTI] Enable masked interleave access for scalable vector
(#149981)" was reverted by 5294793bdcf6ca142f7a0df897638bd4e85ed1a7 due
to triggering an assertion. The issue has been addressed in the patch
"[LV] Fix gap mask requirement for interleaved access (#151105)". On the
other hand, this patch also enable fixed-length masked interleave access
(#150624) since support for fixed-length has also been landed
992118cb4deab139ae384bb85f03225a9a21b008.
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: a53489606a4e704e5a7ac148e950eabfe21397cd
https://github.com/llvm/llvm-project/commit/a53489606a4e704e5a7ac148e950eabfe21397cd
Author: Ferdinand Lemaire <flscminecraft at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSA.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSABase.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSATypes.td
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/WasmSSADialect.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAInterfaces.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSATypes.cpp
M mlir/lib/RegisterAllDialects.cpp
A mlir/test/Dialect/WasmSSA/custom_parser/global.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/import.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/local.mlir
A mlir/test/Dialect/WasmSSA/extend-invalid.mlir
A mlir/test/Dialect/WasmSSA/global-invalid.mlir
A mlir/test/Dialect/WasmSSA/locals-invalid.mlir
A mlir/test/Dialect/WasmSSA/reinterpret-invalid.mlir
Log Message:
-----------
[MLIR][Wasm] Introduce the WasmSSA MLIR dialect (#149233)
Introduce the WasmSSA dialect as discussed in
https://discourse.llvm.org/t/rfc-mlir-dialect-for-webassembly/86758 and
during the ODM
https://discourse.llvm.org/t/mlir-open-meeting-webassembly-dialect/86928
This PR only introduces the dialect definition and interfaces, the list
of operators and some operators-related helper functions (related to
parsing or verification) and some tests for those.
Follow-up PRs will bring the binary Webassembly importer and the
lowerings to other dialects along with testing and a driver for
conversion of Webassembly binaries to LLVM IR.
Co-authored-by: Luc Forget <dev at alias.lforget.fr>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Jessica Paquette <jessica.paquette at woven-planet.global>
Co-authored-by: Luc Forget <luc.forget at woven.toyota>
Commit: d561259a083725cb9242f00cb14ae3a0ec1d2c7b
https://github.com/llvm/llvm-project/commit/d561259a083725cb9242f00cb14ae3a0ec1d2c7b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
Log Message:
-----------
[DAG] visitFREEZE - replace multiple frozen/unfrozen uses of an SDValue with just the frozen node (#150017)
Similar to InstCombinerImpl::freezeOtherUses, attempt to ensure that we
merge multiple frozen/unfrozen uses of a SDValue. This fixes a number of
hasOneUse() problems when trying to push FREEZE nodes through the DAG.
Remove SimplifyMultipleUseDemandedBits handling of FREEZE nodes as we
now want to keep the common node, and not bypass for some nodes just
because of DemandedElts.
Fixes #149799
Commit: c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
https://github.com/llvm/llvm-project/commit/c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll
Log Message:
-----------
[VPlan] Compute interleave count for VPlan. (#149702)
Move selectInterleaveCount to LoopVectorizationPlanner and retrieve some
information directly from VPlan. Register pressure was already computed
for a VPlan, and with this patch we now also check for reductions
directly on VPlan, as well as checking how many load and store
operations remain in the loop.
This should be mostly NFC, but we may compute slightly different
interleave counts, except for some edge cases, e.g. where dead loads
have been removed. This shouldn't happen in practice, and the patch
doesn't cause changes across a large test corpus on AArch64.
Computing the interleave count based on VPlan allows for making better
decisions in presence of VPlan optimizations, for example when
operations on interleave groups are narrowed.
Note that there are a few test changes for tests that were still
checking the legacy cost-model output when it was computed in
selectInterleaveCount.
PR: https://github.com/llvm/llvm-project/pull/149702
Commit: c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
https://github.com/llvm/llvm-project/commit/c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/unittests/Analysis/MemorySSATest.cpp
Log Message:
-----------
[MemoryLocation] Compute lifetime size from alloca size (#151982)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
This adjusts MemoryLocation to determine the MemoryLocation size from
the alloca size, instead of using the argument.
Commit: 1392edcc0784071fe1ab02782ac1dbc7ac6a0350
https://github.com/llvm/llvm-project/commit/1392edcc0784071fe1ab02782ac1dbc7ac6a0350
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/div.ll
Log Message:
-----------
ARM: Remove idiv runtime call aliases (#152098)
Really only the i32 variants exist. We don't need synthetic
aliases for illegal types which will be promoted.
Commit: f72b3e1c07914fdea2fd367dada14b63adef731b
https://github.com/llvm/llvm-project/commit/f72b3e1c07914fdea2fd367dada14b63adef731b
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
Log Message:
-----------
[Clang] Add detailed notes explaining why `is_constructible` evaluates to false (Revert 16d5db7) (#151935)
Adds explanation why `is_constructible` evaluates to false.
This reapplies as-is e476f968bc8e438a0435d10934f148de570db8eb.
This was reverted in 16d5db71b3c38f21aa17783a8758f947dca5883f because of
a test failure in libc++.
The test failure in libc++ is interesting in that, in the absence of
nested diagnostics a bunch of diagnostics are emitted as error instead
of notes, which we cannot silence with `-verify-ignore-unexpected`.
The fix here is to prevent the diagnostics to be emitted in the first
place.
However this is clearly not ideal and we should make sure to deploy a
better solution in the clang 22 time frame, in the lines of
https://discourse.llvm.org/t/rfc-add-a-new-text-diagnostics-format-that-supports-nested-diagnostics/87641/12
Fixes #150601
---------
Co-authored-by: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Commit: fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
https://github.com/llvm/llvm-project/commit/fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Simplify EEW/EMUL check in VLOptimizer. NFC (#152100)
Currently when checking to see if two OperandInfos are compatible, we
check to see if the user operand only uses the first scalar and then do
two different checks depending on that.
However whether the user only uses the first scalar or not is already
encoded in OperandInfo, when EMUL is nullopt.
This removes the redundant check and keeps the logic in the OperandInfo
class to make the call site easier to reason about.
Commit: 94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
https://github.com/llvm/llvm-project/commit/94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Expand VPWidenPointerInductionRecipe into separate recipes (#148274)
This is the VPWidenPointerInductionRecipe equivalent of #118638, with
the motivation of allowing us to use the EVL as the induction step.
There is a new VPInstruction added, WidePtrAdd to allow adding the step
vector to the induction phi, since VPInstruction::PtrAdd only handles
scalars or multiple scalar lanes.
Originally this transformation was copied from the original recipe's
execute code, but it's since been simplifed by teaching
`unrollWidenInductionByUF` to unroll the recipe, which brings it inline
with VPWidenIntOrFpInductionRecipe.
Commit: e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
https://github.com/llvm/llvm-project/commit/e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
Log Message:
-----------
[libc++][NFC] Remove comments incorrectly added in #151935.
Commit: b557cd3e8f82a66c4a64e1966389df8277c58c07
https://github.com/llvm/llvm-project/commit/b557cd3e8f82a66c4a64e1966389df8277c58c07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add a c++11 test case (#152104)
This test case breaks when ignoring trivial CXXConstructExprs of array
types, so make sure we don't do that.
Commit: 4b31b4ebdd923dccc89fbb4904a8378658b466a6
https://github.com/llvm/llvm-project/commit/4b31b4ebdd923dccc89fbb4904a8378658b466a6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex][NFC] Remove DWARFIndex::IterationActionAdaptor
Now that all `DWARFIndex` APIs have been converted to use
`IterationAction`, the `IterationActionAdaptor` is unused.
Commit: d1b363e0b0d1cce3aa24d998058144295237fa56
https://github.com/llvm/llvm-project/commit/d1b363e0b0d1cce3aa24d998058144295237fa56
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Add Tied operands to insert instructions in Qualcomm uC extension Xqcibm (#151339)
Commit: 3bdfca58a6c04272c70413f07b206f0b95743309
https://github.com/llvm/llvm-project/commit/3bdfca58a6c04272c70413f07b206f0b95743309
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/include/math.h
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++] Workaround for a bug of overloads in MS UCRT's `<math.h>` (#149234)
MS UCRT seems confused on the status of LWG1327, and still provides
pre-LWG1327 overload set the related math functions, which can't handle
integer types as required. It is probably that UCRT won't fixed this in
a near future, per
https://developercommunity.visualstudio.com/t/10294165.
Before C++20, libc++ worked around this bug by relying on
`-fdelayed-template-parsing`. However, this non-conforming option is off
by default since C++20. I think we should use `requires` instead.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 852cc9200f7c7cc76bc61ac2aa42712c94793f0d
https://github.com/llvm/llvm-project/commit/852cc9200f7c7cc76bc61ac2aa42712c94793f0d
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Implement `FindNamespace` (#151950)
`FindNamespace` was not implemented for `SymbolFileNativePDB`. Without
it, it wasn't possible to lookup items through namespaces when
evaluating expressions.
This is mostly the same as in
[SymbolFilePDB](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp#L1664-L1696)
as well as
[PDBAstParser](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp#L1126-L1150):
The AST parser/builder saves the created namespaces in a map to lookup
when a namespace is requested.
This is working towards making
[Shell/SymbolFile/PDB/expressions.test](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/test/Shell/SymbolFile/PDB/expressions.test)
pass with the native PDB plugin.
Commit: d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
https://github.com/llvm/llvm-project/commit/d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel after a534896. (#152117)
Needed to define the bazel targets for the new dialect.
Commit: 11eeb4d133aea2c823231bc771bb58de6d8387e3
https://github.com/llvm/llvm-project/commit/11eeb4d133aea2c823231bc771bb58de6d8387e3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pmulh.ll
Log Message:
-----------
[X86] `combinePMULH` - combine `mulhu` + `srl` (#132548)
Fixes #132166
Commit: 94d374ab6cd559fa96e96bfb805b73a367bfda08
https://github.com/llvm/llvm-project/commit/94d374ab6cd559fa96e96bfb805b73a367bfda08
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
A llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CGP] Allow finer control for sinking compares. (#151366)
Compare sinking is selectable based on the result of
hasMultipleConditionRegisters. This function is too coarse grained by
not taking into account the differences between scalar and vector
compares. This PR extends the interface to take an EVT to allow finer
control.
The new interface is used by AArch64 to disable sinking of scalable
vector compares, but with isProfitableToSinkOperands updated to maintain
the cases that are specifically tested.
Commit: 13600c72ce848894fbd8dd6242e55d0bc29e7adf
https://github.com/llvm/llvm-project/commit/13600c72ce848894fbd8dd6242e55d0bc29e7adf
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add CIRGen for cir.unreachable and cir.trap (#151363)
Commit: 0da6d91ad9dd769b2d9f97d9f9249f5523a11023
https://github.com/llvm/llvm-project/commit/0da6d91ad9dd769b2d9f97d9f9249f5523a11023
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Fix stacksmash on arm64ec (#152116)
Fix after 5478da9
Commit: be4a739a7fc29df85e0fd3b0f74689c6b0183596
https://github.com/llvm/llvm-project/commit/be4a739a7fc29df85e0fd3b0f74689c6b0183596
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/Transforms/CodeGenPrepare/AArch64/dont-sink-scalable-vector-compare.ll
R llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CDP] Move AArch64 test into AArch64 directory.
Commit: 940f37aa70bee523aca8f52d1c418d79bc9d99ab
https://github.com/llvm/llvm-project/commit/940f37aa70bee523aca8f52d1c418d79bc9d99ab
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
Log Message:
-----------
[clang-tidy] Print type information to performance-unnecessary-* checks (#152101)
Useful when the check warns on template functions to know which type
it's complaining about. Otherwise, since the instantiation stack is not
printed, it's very hard to tell.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
https://github.com/llvm/llvm-project/commit/dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
Log Message:
-----------
[clang][bytecode] Disable location tracking for implicit field inits (#150190)
Commit: 52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
https://github.com/llvm/llvm-project/commit/52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/div.h
M libc/test/src/math/smoke/DivTest.h
Log Message:
-----------
[libc][math] Fix division by infinity in fputil::div (#152092)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 9b2b5bf8cd751fabccaca1b8847b4c291aa52081
https://github.com/llvm/llvm-project/commit/9b2b5bf8cd751fabccaca1b8847b4c291aa52081
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix LLVM_ENABLE_PROJECTS=openmp build (#151117)
Set LLVM_TREE_AVAILABLE when not defined after #149871. In particular,
the LLVM build tree is obviously available with
`add_subdirectory(openmp)` from the LLVM build tree itself. Note that
this build mode is deprecated since #136314.
Commit: 421f15d060ccb90c2bc97935ed2027a60093e5bd
https://github.com/llvm/llvm-project/commit/421f15d060ccb90c2bc97935ed2027a60093e5bd
Author: kkent030315 <hrn832 at protonmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
A llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
M llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
Log Message:
-----------
[llvm-readobj][COFF] Improve extended DLL characteristics test (#151978)
Remove the need for the input binary by replacing it with a
yaml2obj-generated file.
Commit: 3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
https://github.com/llvm/llvm-project/commit/3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Fix ptxas-verify line.
Without specifying -arch=sm_90, we get this error:
ptxas fatal : SM version specified by .target is higher than default SM version assumed
Commit: ab6923b9b7a75de79ee06b400ae73771e130339e
https://github.com/llvm/llvm-project/commit/ab6923b9b7a75de79ee06b400ae73771e130339e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb] add TemplateRange and NameQualifiersRange to DemangledNameInfo (#150999)
This patch adds 2 new attributes to `DemangledNameInfo`: `TemplateRange`
and `NameQualifiersRange`. It also introduces the
`function.name-qualifiers` entity formatter which allows tracking
qualifiers between the name of a function and its arguments/template.
This will be used downstream in Swift but may have applications in C++:
https://github.com/swiftlang/llvm-project/pull/11068.
Commit: 9f50224b252e1e5b05828fd6d929813e9f40d4f8
https://github.com/llvm/llvm-project/commit/9f50224b252e1e5b05828fd6d929813e9f40d4f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
Log Message:
-----------
[DAG] Remove Depth=1 hack from isGuaranteedNotToBeUndefOrPoison checks (#152127)
Now that #146490 removed the assertion in visitFreeze to assert that the
node was still isGuaranteedNotToBeUndefOrPoison we no longer need this
reduced depth hack (which had to account for the difference in depth of
freeze(op()) vs op(freeze())
Helps with some of the minor regressions in #150017
Commit: 7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
https://github.com/llvm/llvm-project/commit/7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in unparse-with-symbols for CRITICAL (#151962)
Commit: cda4820270dc9d4e84107152130a54c5ecc4976d
https://github.com/llvm/llvm-project/commit/cda4820270dc9d4e84107152130a54c5ecc4976d
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/array_type.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only_no_extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions_no_extension.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/memory_model_md.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-private.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
R llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i32.ll
M llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Do not use OpTypeRuntimeArray in Kernel env. (#149522)
Prior to this patch, when `NumElems` was 0, `OpTypeRuntimeArray` was
directly generated, but it requires `Shader` capability, so it can only
be generated if `Shader` env is being used. We have observed a pattern
of using unbound arrays that translate into `[0 x ...]` types in OpenCL,
which implies `Kernel` capability, so `OpTypeRuntimeArray` should not be
used. To prevent this scenario, this patch simplifies GEP instructions
where type is a 0-length array and the first index is also 0. In such
scenario, we effectively drop the 0-length array and the first index.
Additionally, the newly added test prior to this patch was generating a
module with both `Shader` and `Kernel` capabilities at the same time,
but they're incompatible. This patch also fixes that.
Finally, prior to this patch, the newly added test was adding `Shader`
capability to the module even with the command line flag
`--avoid-spirv-capabilities=Shader`. This patch also has a fix for that.
Commit: e005ba3668846a013284b893b8bc246c63fce3ae
https://github.com/llvm/llvm-project/commit/e005ba3668846a013284b893b8bc246c63fce3ae
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] fix the `ninja mlir-doc` build
Commit: fd07d90f9f95190cb3abb901ae3d98eb67b84573
https://github.com/llvm/llvm-project/commit/fd07d90f9f95190cb3abb901ae3d98eb67b84573
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIRV] Fix buildbot failure after #149522 (#152135)
Commit: ee47427386eb405d347bb2d24c925c3130bdde53
https://github.com/llvm/llvm-project/commit/ee47427386eb405d347bb2d24c925c3130bdde53
Author: KRM7 <Krisztian.Rugasi at hightec-rt.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
Log Message:
-----------
[RegisterCoalescer] Fix subrange update when rematerialization widens a def (#151974)
Currently, when an instruction rematerialized by the register coalescer
defines more subregs of the destination register
than the original COPY instruction did, we only add dead defs for the
newly defined subregs if they were not defined anywhere
else. For example, consider something like this before
rematerialization:
```
%0:reg64 = CONSTANT 1
%1:reg128.sub_lo64_lo32 = COPY %0.lo32
%1:reg128.sub_lo64_hi32 = ...
...
```
that would look like this after rematerializing `%0`:
```
%0:reg64 = CONSTANT 2
%1:reg128.sub_lo64 = CONSTANT 2
%1:reg128.sub_lo64_hi32 = ...
...
```
A dead def would not be added for `%1.sub_lo64_hi32` at the 2nd
instruction because it's subrange wasn't empty beforehand.
Commit: 34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
https://github.com/llvm/llvm-project/commit/34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc][Github] Remove ccache variant logic (#152042)
https://github.com/hendrikmuhs/ccache-action/issues/279 has now been
resolved, so we can use sccache for the arm tests too and do not need to
differentiate between platforms.
Commit: cc2a385e65483688d3e4a0091e0767960f9eb8c2
https://github.com/llvm/llvm-project/commit/cc2a385e65483688d3e4a0091e0767960f9eb8c2
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
Log Message:
-----------
[Flang][OpenMP] Make implicitly captured scalars fully firstprivatized (#147442)
Currently, we indicate to the runtime that implicit scalar captures are
firstprivate (via map and
capture types), enough for the runtime trace to treat it as such, but we
do not CodeGen the IR
in such a way that we can take full advantage of this aspect of the
OpenMP specification.
This patch seeks to change that by applying the correct symbol flags
(firstprivate/implicit) to the
implicitly captured scalars within target regions, which then triggers
the delayed privitization code
generation for these symbols, bringing the code generation in-line with
the explicit firstpriviate
clause. Currently, similarly to the delayed privitization I have
sheltered this segment of code
behind the EnabledDelayedPrivitization flag, as without it, we'll
trigger an compiler error for
firstprivate not being supported any time we implicitly capture a scalar
and try to firstprivitize
it, in future when this flag is removed it can also be removed here. So,
for now, you need to
enable this via providing the compiler the flag on compilation of any
programs.
Commit: 2444c4a69861c643c6628b736affe5861cc79080
https://github.com/llvm/llvm-project/commit/2444c4a69861c643c6628b736affe5861cc79080
Author: Aaron Danen <aaron.danen at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ClangRepl.rst
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] add %help, documentation, and tests for %commands (#150348)
1. Added %commands to documentation
2. Added %help command to clang repl
3. Expanded parsing to throw unique errors in the case of users entering
an invalid %command or using %lib without an argument
4. Added tests to check the behvaior of %help, %lib, and bad %commands
Commit: 47ef3d069bcfb8ec31c06cdd619557c84d1084ad
https://github.com/llvm/llvm-project/commit/47ef3d069bcfb8ec31c06cdd619557c84d1084ad
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/undef-func-result.f90
Log Message:
-----------
[Flang] Avoid crash when a function return is undefined (#151577)
Properly terminate the StatementContext cleanup when a function return
value is undefined.
Fixes #126452
Commit: b723887224c57ecfd7d8530ad066ee233abf559b
https://github.com/llvm/llvm-project/commit/b723887224c57ecfd7d8530ad066ee233abf559b
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Update JSONTransport to use MainLoop for reading. (#148300)
This updates JSONTransport to use a MainLoop for reading messages.
This also allows us to read in larger chunks than we did previously.
With the event driven reading operations we can read in chunks and store
the contents in an internal buffer. Separately we can parse the buffer
and split the contents up into messages.
Our previous version approach would read a byte at a time, which is less
efficient.
Commit: 3f59a22711ff6423ad158e2eec44d2c1f0eaee31
https://github.com/llvm/llvm-project/commit/3f59a22711ff6423ad158e2eec44d2c1f0eaee31
Author: Maksim Sabianin <maksim.sabianin at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
A llvm/test/tools/llvm-split/SplitByCategory/amd-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain1.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain2.ll
A llvm/test/tools/llvm-split/SplitByCategory/module-split-func-ptr.ll
A llvm/test/tools/llvm-split/SplitByCategory/one-kernel-per-module.ll
A llvm/test/tools/llvm-split/SplitByCategory/ptx-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-by-source.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-with-kernel-declarations.ll
M llvm/tools/llvm-split/CMakeLists.txt
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[offload][SYCL] Add Module splitting by categories. (#131347)
This patch adds Module splitting by categories. The splitting algorithm
is the necessary step in the SYCL compilation pipeline. Also it could be
reused for other heterogenous targets.
The previous attempt was at #119713. In this patch there is no
dependency in `TransformUtils` on "IPO" and on "Printing Passes". In
this patch a module splitting is self-contained and it doesn't introduce
linking issues.
Commit: 6099d0c1f93f17bcb5f79d33777defccfc46320b
https://github.com/llvm/llvm-project/commit/6099d0c1f93f17bcb5f79d33777defccfc46320b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 3f59a22711ff
Commit: 16766b3aef281a24acad08292ffe69554b44805b
https://github.com/llvm/llvm-project/commit/16766b3aef281a24acad08292ffe69554b44805b
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
Fix ms type_info to be a 'class' type
It was brought up on #151277 that the patch changes type_info from class
to struct. While I couldn't find a way to test/notice this, this patch
changes it to a class.
While I'm here, I am also removing unnecessary/against coding standard
curley brackets.
Commit: be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
https://github.com/llvm/llvm-project/commit/be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Respect language when tracking IWYU pragmas on stdlib headers (#152142)
In absence we were associating all the IWYU pragmas with C++ versions of stdlib headers, which would result in false negatives when querying them from a C source file.
Commit: 908ef456062bcb5c5e4745f10e161782bd07f342
https://github.com/llvm/llvm-project/commit/908ef456062bcb5c5e4745f10e161782bd07f342
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
Log Message:
-----------
[Utils] Fix a warning
This patch fixes:
llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp:321:14: error:
moving a temporary object prevents copy elision
[-Werror,-Wpessimizing-move]
Commit: 3847620ba9a22a13de30bd77d059aae6f484dd94
https://github.com/llvm/llvm-project/commit/3847620ba9a22a13de30bd77d059aae6f484dd94
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Move the rest of ops creation to new APIs (#152079)
Commit: 06458fff874fb272d1d99c26293b9210ae1aad5f
https://github.com/llvm/llvm-project/commit/06458fff874fb272d1d99c26293b9210ae1aad5f
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGCNSPIRV][NFC] Add missing target features to AMDGCNSPIRV (#152057)
`gfx1250` bring-up omitted updating the `amdgcnspirv` feature list, this
fixes that oversight.
Commit: ff8b4f8151391f94eac268775382d4b10a17d913
https://github.com/llvm/llvm-project/commit/ff8b4f8151391f94eac268775382d4b10a17d913
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/Sema/amdgcn-va-list-type.c
Log Message:
-----------
[AMDGCNSPIRV][NFC] Match AMDGPU's `__builtin_va_list` type (#152044)
AMDGCN flavoured SPIRV should math AMDGPU TI as much as possible, and
the va_list difference was spurious.
Commit: 1d594fdb8d0d210893ae346bb6869343dd7a1949
https://github.com/llvm/llvm-project/commit/1d594fdb8d0d210893ae346bb6869343dd7a1949
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
[Clang][OpenMP] Fixing Clang error for metadirective with multiple when clauses and no otherwise (#148583)
Fixing - https://github.com/llvm/llvm-project/issues/147336
Commit: 12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
https://github.com/llvm/llvm-project/commit/12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use a range-based for loop in DenseMap.h (NFC) (#152084)
This patch introduces inlineBuckets to convert a loop into a
range-based for loop.
Commit: 86ab5dc5833b39be97c11e7c509a90fed92525cd
https://github.com/llvm/llvm-project/commit/86ab5dc5833b39be97c11e7c509a90fed92525cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
Log Message:
-----------
[AsmPrinter] Remove an unnecessary cast (NFC) (#152085)
getValue() already returns uint64_t.
Commit: 94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
https://github.com/llvm/llvm-project/commit/94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
Log Message:
-----------
[GlobalISel] Remove an unnecessary cast (NFC) (#152086)
getImm() already returns int64_t.
Commit: cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
https://github.com/llvm/llvm-project/commit/cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
Log Message:
-----------
[ProfileData] Remove an unnecessary cast (NFC) (#152087)
new already returns ValueProfData *.
Commit: 2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
https://github.com/llvm/llvm-project/commit/2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Use llvm::iterator_range::empty (NFC) (#152088)
Commit: 522ea9c3300afdd66e8852373379eec339a7c78e
https://github.com/llvm/llvm-project/commit/522ea9c3300afdd66e8852373379eec339a7c78e
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm] Fix bazel after `3f59a22`. (#152151)
Commit: 0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
https://github.com/llvm/llvm-project/commit/0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Drop assertion enforcing that assume args are known constants (#151908)
We sometimes don't know if the operand of [[assume]] is true/false, and
that's okay. We can just ignore the attribute in that case.
If we wanted something more fancy, we could bring the assumption to the
constraints, but dropping them should be just as fine for now.
Fixes #151854
Commit: f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
https://github.com/llvm/llvm-project/commit/f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
A llvm/test/MC/Disassembler/AArch64/apple-syntax.txt
Log Message:
-----------
[AArch64] Add Apple assembly syntax for recent instructions (#152111)
Some vector instructions override AsmString in the tablegen description,
but did not include the Apple syntax variant, so were printed without
operands.
Fixes #151330
Commit: cd40281685f642ad879e33f3fda8d1faa136ebf4
https://github.com/llvm/llvm-project/commit/cd40281685f642ad879e33f3fda8d1faa136ebf4
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
Revert "[lldb] Update JSONTransport to use MainLoop for reading." (#152155)
Reverts llvm/llvm-project#148300
This is crashing in the aarch64 linux CI job. I'll revert it while I
investigate why this is crashing.
Commit: e06c3a968d8360d786e5f60d9270989fcfaef857
https://github.com/llvm/llvm-project/commit/e06c3a968d8360d786e5f60d9270989fcfaef857
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Add assertion to simplify debugging (#152139)
Commit: 88283a6e4601381d192ab1e3389b11cd23a83e69
https://github.com/llvm/llvm-project/commit/88283a6e4601381d192ab1e3389b11cd23a83e69
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix MSVC missing include caused by #147442
Windows/MSVC build bots are having issues with a missing header where
linux is not. So, attempt to fix by adding missing header explicitly to file.
Commit: ae7be39601496aa8f712672844de82285a227646
https://github.com/llvm/llvm-project/commit/ae7be39601496aa8f712672844de82285a227646
Author: award999 <award999 at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
Log Message:
-----------
Logging setup for lldb-dap extension (#146884)
- ~Add `winston` dependency (MIT license) to handle logging setup~
- Have an `LogOutputChannel` to log user facing information, errors,
warnings
- Write a debug session logs under the provided `logUri` to capture
further diagnostics when the `lldb-dap.captureSessionLogs` setting is
enabled. *Note* the `lldb-dap.log-path` setting takes precedence when
set
Issue: #146880
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: fa39b67de01af189b59f9034ef6228a2951364b0
https://github.com/llvm/llvm-project/commit/fa39b67de01af189b59f9034ef6228a2951364b0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Add a CMake option to build agains the Python limited API (#152034)
This adds a CMake option (which defaults to OFF) to force building
against the Python limited API. This makes iterating on #151617 easier
and eventually will prevent us from regressing this configuration.
Commit: c4f7d8744ac54bc1ede754e8d10655fb86b47f25
https://github.com/llvm/llvm-project/commit/c4f7d8744ac54bc1ede754e8d10655fb86b47f25
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Reimplement PythonObject::Dump using the limited API (#152055)
This reimplements `PythonObject::Dump` using functions that are part of
the limited API, instead of using `PyObject_Print`, which is not.
Commit: 0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
https://github.com/llvm/llvm-project/commit/0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/capturing-func.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
Log Message:
-----------
[MemCpyOpt] Remove handling for lifetime sizes
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly, remove checks of the lifetime size from MemCpyOpt.
Commit: 74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
https://github.com/llvm/llvm-project/commit/74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Fix 'type' checks in private/firstprivate for array types
These would not give a correct initializer, but they are not possible
to generate correctly anyway, so this patch makes sure we look through
the array type to correctly diagnose these.
Commit: 6c9f1ce429809e5a91683ed6cef9a435047bebd1
https://github.com/llvm/llvm-project/commit/6c9f1ce429809e5a91683ed6cef9a435047bebd1
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Add missing expected-warning after #151908
Commit: d72e58e422be747dfd1e42f8ad370420634190cb
https://github.com/llvm/llvm-project/commit/d72e58e422be747dfd1e42f8ad370420634190cb
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[MLIR][LLVM] Propagate alignment attribute from memref to LLVM (#151380)
Propagate alignment attribute from operations in the memref dialect to
the LLVM dialect.
Possible improvements: maybe the alignment attribute in LLVM's store and
load operations should be confined/constrained to i64? I believe that
way one can avoid typing the value in the attribute dictionary. I.e.,
from `{ alignment = 32 : i64 }` to `{ alignment = 32}`
Commit: 2bbc6147138187946616c1b30743e09825fb61b8
https://github.com/llvm/llvm-project/commit/2bbc6147138187946616c1b30743e09825fb61b8
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
Log Message:
-----------
[InstCombine] Support offsets in `memset` to load forwarding (#151924)
Adds support for load offsets when performing `memset` load forwarding.
Commit: 2e40c567fbf5b7366df4f2b1fcb9b748da685d96
https://github.com/llvm/llvm-project/commit/2e40c567fbf5b7366df4f2b1fcb9b748da685d96
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
A mlir/test/Dialect/Transform/interpreter-entry-point-2.mlir
Log Message:
-----------
[MLIR][Transform] Prefer entry points in current module (#151323)
The transform interpreter previously looked for the entry point using a
recursive walk in pre-order. This makes it so that any named_sequence
operation with an arbitrary level of nested-ness will be used as the
entry point for the transform interpreter as long as it is placed before
another one.
This change makes it so that code like the one reported in
https://github.com/llvm/llvm-project/issues/119578 works as expected.
Closes #119578
Some comments: alternatively, it would also be possible to solve this
issue in a slightly more elegant manner. We could define a new walker
iterator that iterates through the operations in a breadth first search.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
https://github.com/llvm/llvm-project/commit/dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.16
Commit: e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
https://github.com/llvm/llvm-project/commit/e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Add test for projects list for .ci on Windows
Partially to give me something to copy and paste into other scripts that
need to run all of the tests on Windows and partially to increase test
coverage on Windows. This does expose an issue with the script on
Windows, so that needs to be fixed. Given it does not impact anything it
should be fine for now though.
Commit: 258997c16e4d5438207377d6ce4f9d608860d7ae
https://github.com/llvm/llvm-project/commit/258997c16e4d5438207377d6ce4f9d608860d7ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFCI] Add 'InitRecipes' to 'firstprivate' AST node
This patch adds the 'init recipes' to firstprivate like I did for
'private', so that we can properly init these types. At the moment,
the recipe init isn't generated (just the VarDecl), and this isn't
really used anywhere as it will be used exclusively in Codegen.
Commit: c455c4e2d7f78d5992369457066b249699fe2084
https://github.com/llvm/llvm-project/commit/c455c4e2d7f78d5992369457066b249699fe2084
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Implement DW_CFA_val_offset and DW_CFA_val_offset_sf (#150732)
The test for this is artificial as I'm not aware of any upstream targets
that use DW_CFA_val_offset
RegisterContextUnwind::ReadFrameAddress now reports how it's attempting
to obtain the CFA unless all success/failure cases emit logs that
clearly identify the method it was attempting. Previously several of the
existing failure paths emit no message or a message that's
indistinguishable from those on other paths.
Commit: 9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
https://github.com/llvm/llvm-project/commit/9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/wchar/mbrtowc.cpp
Log Message:
-----------
[libc][obvious] Removed mbstate_t include (#152046)
Internal function does not use the external mbstate_t but still had the
include for it.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 302a452bd6e58591c875be5095da25a27159146f
https://github.com/llvm/llvm-project/commit/302a452bd6e58591c875be5095da25a27159146f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[llvm] Proofread TestingGuide.rst (#152089)
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 1b651bf2b7a689dd418bf5244ade1d5d21f02b90
https://github.com/llvm/llvm-project/commit/1b651bf2b7a689dd418bf5244ade1d5d21f02b90
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port fa39b67de01af (LLDB_ENABLE_PYTHON_LIMITED_API)
Commit: ed294c28aca6f1371df3de42131f7b41e2be151b
https://github.com/llvm/llvm-project/commit/ed294c28aca6f1371df3de42131f7b41e2be151b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/Protocol.h
M lldb/source/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/MCPError.cpp
M lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/Protocol.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move MCP protocol into its own library (NFC) (#152059)
This PR moves the MCP protocol code into its own library
(`lldbProtocolMCP`) so the code can be shared between the
`ProtocolServerMCP` plugin in LLDB as well as `lldb-mcp`. The goal is to
do the same thing for DAP (which, for now, would be used exclusively
from `lldb-dap`).
To make it clear that it's neither part of the `lldb` nor the
`lldb_private` namespace, I created a new `lldb_protocol` namespace.
Depending on how much code would be reused by lldb-dap, we may move more
code into the protocol library.
Commit: f45f4ae7834e2be54cc5d2f51c413d4259ec682e
https://github.com/llvm/llvm-project/commit/f45f4ae7834e2be54cc5d2f51c413d4259ec682e
Author: Majid Dadashi <5490974+majiddadashi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/test/Transforms/canonicalize-debuginfo.mlir
Log Message:
-----------
Avoid unnecessary erasing of constant Locs (#151573)
Do not erase location info when moving an op within the same block.
Since #75415 , the FoldUtils.cpp erases the location information when
moving an operation. This was being done even when an operation was
moved to the front of a block it was already in.
In TFLite, this location information is used to provide meaningful names
for tensors, which aids in debugging and mapping compiled tensors back
to their original layers. The aggressive erasure of location info caused
many tensors in TFLite models to receive generic names (e.g.,
tfl.pseudo_qconst), making the models harder to inspect.
This change modifies the logic to preserve the location of an operation
when it is moved within the same block. The location is now only erased
when the operation is moved from a different block entirely. This
ensures that most tensor names are preserved, improving the debugging
experience for TFLite models.
Commit: e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
https://github.com/llvm/llvm-project/commit/e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu] Fix tma descriptor check (#152160)
The tma descriptor check does not appear to be correct, as it requires
the last dimension of memref to be 128 bytes. However, the bytes of the
last dimension can be equal to swizzle bytes.
Commit: 5dfc2d4535b6eb831a5baf8265962ee453c34900
https://github.com/llvm/llvm-project/commit/5dfc2d4535b6eb831a5baf8265962ee453c34900
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
[LV] Regen some tests with UTC (#152128)
Commit: 913c5b4d1fffa00585edb6ba4f0915f29afa90cc
https://github.com/llvm/llvm-project/commit/913c5b4d1fffa00585edb6ba4f0915f29afa90cc
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
clang -cc1as: Remove a redundant initSections call
`Parser->Run(Opts.NoInitialTextSection)` calls initSections. Remove a
redundant initSections to remove an extra FT_Align fragment, observed
when investigating a missing MCOrgFragment relaxation issue
https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: d7074b63ed2022e27d3d9c884f0a4922b453b1f7
https://github.com/llvm/llvm-project/commit/d7074b63ed2022e27d3d9c884f0a4922b453b1f7
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[Clang][AMDGPU] Add builtins for some buffer resource atomics (#149216)
This patch exposes builtins for atomic `add`, `max`, and `min` operations that
operate over buffer resource pointers.
Commit: 3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
https://github.com/llvm/llvm-project/commit/3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
Log Message:
-----------
[HLSL][NFC] Move all resource tests under CodeGenHLSL\resources (#152035)
Also removes an outdated test buffer-array-operator.hlsl. Array operator on resources is tested in StructuredBuffers-subscripts.hlsl and RWBuffer-subscript.hlsl.
Commit: 406f61fd3a28b9628f50cf009c6e65562f93a2cc
https://github.com/llvm/llvm-project/commit/406f61fd3a28b9628f50cf009c6e65562f93a2cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][CPlusPlusLanguage] Create public accessors for getting DemangledNameInfo components and use them in tests (#152134)
This way we make sure that the logic to reconstruct demangled names in
the tests is the same as the logic when reconstructing the actual
frame-format variable.
`DemangledNameInfo::SuffixRange` is currently the only one which we
can't test in the same way until we set it from inside the
`TrackingOutputBuffer`. I added TODOs to track this.
Commit: 4a13f0912a166cc80d732d54a130f8c7933dc264
https://github.com/llvm/llvm-project/commit/4a13f0912a166cc80d732d54a130f8c7933dc264
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests" (#152177)
Reverts llvm/llvm-project#120798 because it caused an AddressSanitizer
test breakage in global-overflow-bfd.cpp:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8707434189452310849/overview
Commit: 8a2d3f5653eb8b97049e06a98459a61db397c01c
https://github.com/llvm/llvm-project/commit/8a2d3f5653eb8b97049e06a98459a61db397c01c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
Log Message:
-----------
[HLSL][Sema] Use hlsl::BindingInfoBuilder instead of RangeInfo. NFC (#150634)
Clean up some duplicated logic. We had two ways to do the same thing
here, and BindingInfoBuilder is more flexible.
Commit: f03345a07af808975caab2fcab24adf98857ffa0
https://github.com/llvm/llvm-project/commit/f03345a07af808975caab2fcab24adf98857ffa0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/assume.ll
Log Message:
-----------
[LV] Improve a test; get rid of runtime checks (#152182)
Commit: b5bf1000465c69d647c0eb0f0dc40d03dde17aea
https://github.com/llvm/llvm-project/commit/b5bf1000465c69d647c0eb0f0dc40d03dde17aea
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
Log Message:
-----------
[libc] Add RTLD_NEXT + RTLD_DEFAULT (#149909)
Related to #97920, this patch adds `dlsym` macros `RTLD_NEXT` AND
`RTLD_DEFAULT` to dlfcn.h.
Commit: 9179b079812319010ab09718926ee73ca26ecc78
https://github.com/llvm/llvm-project/commit/9179b079812319010ab09718926ee73ca26ecc78
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[LLDB] Complete a missing register format mapping in the gdb-remote p… (#152170)
…rotocol
When writing a custom gdb-remote server I realized that the encoder and
decoder of register formats is incomplete.
- Add the encoder on the server side and add an llvm_unreachable is
there's a missing case.
- Add a decoder on the client side that doesn't fail. We have to keep it
flexible.
I couldn't figure out an easy way to test this but the changes seem very
straightforward to me.
Commit: 4882874ddc1017f2f1b9b11fb67065440b101701
https://github.com/llvm/llvm-project/commit/4882874ddc1017f2f1b9b11fb67065440b101701
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[vscode-lldb] Fix `yarn package` (#152002)
# Problem
`yarn package` cannot be run twice in a row - the second time will error
out:
> Error: ENOENT: no such file or directory, stat
'<path>/llvm-project/lldb/tools/lldb-dap/out/lldb-dap.vsix'
This error is also weird, because the file actually exists. See the end
of this [full
output](https://gist.github.com/royitaqi/f3f4838ed30d7ade846f53f0fb7d68f4).
# Fix
Delete the `lldb-dap.vsix` file at the start of each run. See
consecutive runs [being
successful](https://gist.github.com/royitaqi/9609181b4fe6a8a4e71880c36cd0c7c9).
Commit: bb3c060ca41455bc48e48ec51a66910c164b4345
https://github.com/llvm/llvm-project/commit/bb3c060ca41455bc48e48ec51a66910c164b4345
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down-cast in __tree (#152181)
Commit: 12da87bef12d9545775a5c375cfc22904ca4602d
https://github.com/llvm/llvm-project/commit/12da87bef12d9545775a5c375cfc22904ca4602d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use Python Bytes instead of Buffer for Binary I/O (NFC) (#152031)
Binary I/O (also called buffered I/O) expects bytes-like objects and
produces bytes objects [1]. Switch from using a Python buffer to using
Python bytes to read the data. This eliminates calls to functions that
aren't part of the Python stable C API.
[1] https://docs.python.org/3/library/io.html#binary-i-o
Commit: 40fbc76dc8e81ede437b581a652ce6e5850cbc7b
https://github.com/llvm/llvm-project/commit/40fbc76dc8e81ede437b581a652ce6e5850cbc7b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Log Message:
-----------
[lldb] Fix the build
This patch fixes:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:623:47:
error: expected ';' after expression
Commit: 87a7a9caaf88d3944395cd45b2465377b30822a3
https://github.com/llvm/llvm-project/commit/87a7a9caaf88d3944395cd45b2465377b30822a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 8a2d3f5653eb
Commit: e3ededa0f136764f42d94c60bfd762a275689b8c
https://github.com/llvm/llvm-project/commit/e3ededa0f136764f42d94c60bfd762a275689b8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[LV] Add tests with canonical widen IV, reductions in different order.
Add missing test coverage for re-using the resume value from the main
vector loop for the canonical IV in the epilogue.
Commit: 47258ca47085ec6be3347690c7dab2b73de0c3a1
https://github.com/llvm/llvm-project/commit/47258ca47085ec6be3347690c7dab2b73de0c3a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use VPPhi instead of dyn_cast + opcode check in isPhi (NFC).
Commit: 448c88478dc3148eb69c9b0025746d243ae19a0f
https://github.com/llvm/llvm-project/commit/448c88478dc3148eb69c9b0025746d243ae19a0f
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
Log Message:
-----------
[libc] Enable the `acoshf` math function on AMD GPUs (#152157)
This patch adds the `acoshf` math function to the AMDGPU build.
Commit: cd0268063d47fb7e5331300db7c21d7302531e33
https://github.com/llvm/llvm-project/commit/cd0268063d47fb7e5331300db7c21d7302531e33
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/Common.hpp
M offload/unittests/Conformance/device_code/LLVMLibm.cpp
A offload/unittests/Conformance/tests/AcosfTest.cpp
A offload/unittests/Conformance/tests/AcoshfTest.cpp
A offload/unittests/Conformance/tests/AsinfTest.cpp
A offload/unittests/Conformance/tests/AsinhfTest.cpp
A offload/unittests/Conformance/tests/AtanfTest.cpp
A offload/unittests/Conformance/tests/AtanhfTest.cpp
M offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/CbrtfTest.cpp
A offload/unittests/Conformance/tests/CosfTest.cpp
A offload/unittests/Conformance/tests/CoshfTest.cpp
A offload/unittests/Conformance/tests/CospifTest.cpp
A offload/unittests/Conformance/tests/ErffTest.cpp
A offload/unittests/Conformance/tests/Exp10fTest.cpp
A offload/unittests/Conformance/tests/Exp2fTest.cpp
A offload/unittests/Conformance/tests/ExpfTest.cpp
A offload/unittests/Conformance/tests/Expm1fTest.cpp
M offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/Log10fTest.cpp
A offload/unittests/Conformance/tests/Log1pfTest.cpp
A offload/unittests/Conformance/tests/Log2fTest.cpp
A offload/unittests/Conformance/tests/SincosfTest.cpp
A offload/unittests/Conformance/tests/SinfTest.cpp
A offload/unittests/Conformance/tests/SinhfTest.cpp
A offload/unittests/Conformance/tests/SinpifTest.cpp
A offload/unittests/Conformance/tests/TanfTest.cpp
A offload/unittests/Conformance/tests/TanhfTest.cpp
A offload/unittests/Conformance/tests/TanpifTest.cpp
Log Message:
-----------
[Offload][Conformance] Add tests for single-precision math functions (#152013)
This patch adds a new set of conformance tests for single-precision math
functions provided by the LLVM libm for GPUs.
The functions included in this set were selected based on the following
criteria:
- An implementation exists in `libc/src/math/generic` (i.e., it is not
just a wrapper around a compiler built-in).
- The corresponding LLVM CPU libm implementation is correctly rounded.
- The function is listed in Table 65 of the OpenCL C Specification
v3.0.19.
Commit: f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
https://github.com/llvm/llvm-project/commit/f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__exception/exception.h
Log Message:
-----------
[libcxx] Initialize vcruntime __std_exception_data in the exception copy ctor (#144329)
This fixes failures in a number of tests, in the
clang-cl-no-vcruntime configuration (where libcxx provides dummy, no-op
replacements of some vcruntime base exception classes), if building with
optimization enabled.
Previously, with optimization enabled, the compiler concluded that these
fields would be uninitialized at the points of asserts in the tests.
This fixes the following tests in this configuration:
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/bad.exception/bad_exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/exception/exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp
Commit: c19314f070e2479dc0116d9c86a8afc37e4ab036
https://github.com/llvm/llvm-project/commit/c19314f070e2479dc0116d9c86a8afc37e4ab036
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port fa39b67de01af189b59f9034ef6228a2951364b0 (#152191)
Commit: f8a4f61101bbed236adfeca58e59cac4b95afe15
https://github.com/llvm/llvm-project/commit/f8a4f61101bbed236adfeca58e59cac4b95afe15
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Target/Platform.cpp
M lldb/unittests/Platform/PlatformTest.cpp
Log Message:
-----------
[lldb] Avoid a crash after selecting an unknown platform (#151803)
`PlatformList::Create()` added an item to the list even when
`Platform::Create()` returned `nullptr`. Other methods use these items
without checking, which can lead to a crash. For example:
```
> lldb
(lldb) platform select unknown
error: unable to find a plug-in for the platform named "unknown"
(lldb) file a.out-arm64
PLEASE submit a bug report to...
Stack dump:
0. Program arguments: lldb
1. HandleCommand(command = "file a.out-arm64 ")
...
```
Commit: c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
https://github.com/llvm/llvm-project/commit/c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv] Change Spirv.GlobalVariableOp builtin -> built_in (#152148)
GlobalVariableOp describes that built_in specifies SPIR-V BuiltIn
decoration associated with the op. The attribute was defined as builtin
in the tablegen (no uderscore). This was causing correct
GlobalVariableOp decorations like: built_in("GlobalInvocationId") to be
saved as a new attribute making it impossible to access the built_in
attribute through getBuiltinAttr.
Commit: d478502a420c75ca6c52205a58e465998a249826
https://github.com/llvm/llvm-project/commit/d478502a420c75ca6c52205a58e465998a249826
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[VPlan] Ensure that IV resume phi for epilogue is always first. (NFCI)
Update handling of canonical IV resume phi for the epilogue loop to make
sure the resume phi for the canonical IV is always the first phi in the
scalar preheader.
This makes it easier to retrieve it in preparePlanForEpilogueVectorLoop.
For now, we keep an assert to make sure we use the same resume phi as
before. This will be removed in the future.
Commit: 97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
https://github.com/llvm/llvm-project/commit/97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
Author: Jeremy Kun <jkun at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] add iterVarKind for convenient iterating over variables (#152091)
I find myself doing this alot
```
for (unsigned varIndex = rel.getVarKindOffset(VarKind::Domain);
varIndex < rel.getVarKindEnd(VarKind::Domain); ++varIndex) {
...
}
```
Adding this convenience method so I can instead do
```
for (unsigned varIndex : rel.iterVarKind(VarKind::Domain)) {
...
}
```
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: da6424c9e307cd324f37745b525d3884b5077707
https://github.com/llvm/llvm-project/commit/da6424c9e307cd324f37745b525d3884b5077707
Author: Jann <jannh at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/X86/xray-custom-log.ll
A llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs-indirect.ll
M llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
Log Message:
-----------
[DebugInfo][DWARF] Don't emit bogus DW_AT_call_target for complex calls (#151378)
On X86-64, LLVM currently generates the same DWARF debug info for `call
rax` and `call [rax]`; in both cases, the generated DWARF claims that
the call goes to address RAX. This bug occurs because the X86 machine
instructions CALL64r and CALL64m both receive register operands, but
those register operands have different semantics.
To fix it, change DwarfDebug::constructCallSiteEntryDIEs() to validate
the callee operand's semantics (`OperandType`) and make sure it is not
semantically describing a memory location.
This fix will result in less DW_TAG_call_site and DW_AT_call_target
entries being generated.
There is an existing test in dwarf-callsite-related-attrs.ll that
asserts the broken behavior; remove the broken check, and instead add a
new test dwarf-callsite-related-attrs-indirect.ll that checks behavior
for indirect calls.
The existing test xray-custom-log.ll is validating something even more
broken: It checks the debug info generated by a PATCHABLE_EVENT_CALL.
`TII->getCalleeOperand()` assumes that the first argument of a call
instruction is always the destination, but the first argument of
PATCHABLE_EVENT_CALL is instead the event structure; and so we were
emitting debug info claiming the callee was stored in a register that
actually contains some kind of xray event descriptor, and the test
validates that this happens.
I am breaking and deleting this test.
I guess the intent there might have been to validate that we emit
debuginfo referencing the target of the direct call that LLVM emits
(which we don't do)? But I'm not sure.
Commit: cfd1ee781f116de891cd802b277b67a698acad60
https://github.com/llvm/llvm-project/commit/cfd1ee781f116de891cd802b277b67a698acad60
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
Log Message:
-----------
[libc] Add dlinfo + RTLD_DI_* macros to dlfcn.h (#149938)
An initial commit for #149911, this adds a stub implementation for
dlinfo and the enums list of `RTLD_DI_*` values.
While the dlinfo implementation relies on dynamic linker support, this
patch will add its prototype in the generated dlfcn.h header so that it
can be used by downstream platforms that have their own dlinfo
implementation.
Commit: aec90f2f27317dbb075a5a816e11b4892f035680
https://github.com/llvm/llvm-project/commit/aec90f2f27317dbb075a5a816e11b4892f035680
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix child input bugs under NAMELIST (#151571)
When NAMELIST input takes place on a derived type, we need to preserve
the type in the descriptor that is created for storage sequence
association. Further, the fact that any child list input in within the
context of a NAMELIST must be inherited so that input fields don't try
to consume later "variable=" strings.
Fixes https://github.com/llvm/llvm-project/issues/151222.
Commit: effa35d240f34bcd07f0653b6fbdd999a5dbf02e
https://github.com/llvm/llvm-project/commit/effa35d240f34bcd07f0653b6fbdd999a5dbf02e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang][runtime] Don't always accept a bare exponent letter (#151597)
For more accurate compatibility with other compilers' extensions, accept
a bare exponent letter as valid real input to a formatted READ statement
only in a fixed-width input field. So it works with (G1.0) editing, but
not (G)/(D)/(E)/(F) or list-directed input.
Fixes https://github.com/llvm/llvm-project/issues/151465.
Commit: 56051daaf0584ed797940fda74a4cfdc2b3586c0
https://github.com/llvm/llvm-project/commit/56051daaf0584ed797940fda74a4cfdc2b3586c0
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
Log Message:
-----------
[flang][runtime] Optimize Descriptor::FixedStride() (#151755)
Put the common cases on fast paths, and don't depend on IsContiguous()
in the general case path. Add a unit test, too.
Commit: fc9a08078017c8a1ad812d01ed9a7d2066b31e07
https://github.com/llvm/llvm-project/commit/fc9a08078017c8a1ad812d01ed9a7d2066b31e07
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Handle empty NAMELIST value list (#151770)
InputNamelist() returns early if any value list read in by
InputDerivedType() or DescriptorIo<Input>() is empty, since they return
false. But an empty value list is okay, and the early return should
occur only on error.
Fixes https://github.com/llvm/llvm-project/issues/151756.
Commit: 867602742cf392849b5f1cfc9038ad679333fd59
https://github.com/llvm/llvm-project/commit/867602742cf392849b5f1cfc9038ad679333fd59
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
Log Message:
-----------
[flang] Minor speed-up to module file parsing (#152178)
Module files shouldn't ever produce parsing errors, and if they did in
the case of a badly-generated module file, the compiler will notice and
crash. So we can run the parser on module files with message deferral
enabled, and that saves time that would otherwise be spent generating
messages on failed parsing alternatives that are discarded anyway when
backtracking. It's not a big savings (single digit percentage on overall
compilation time for a big application with lots of modules), but worth
doing.
Commit: dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
https://github.com/llvm/llvm-project/commit/dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move the generic MCP code into Protocol/MCP (NFC) (#152188)
This moves all the generic MCP code into the new ProtocolMCP library so
it can be shared between the MCP implementation in LLDB (built on the
private API) and lldb-mcp (built on the public API).
This PR doesn't include the actual MCP server. The reason is that the
transport mechanism will be different between the LLDB implementation
(using sockets) and the lldb-mcp implementation (using stdio). The goal
s to abstract away that difference by making the server use
JSONTransport (again) but I'm saving that for a separate PR.
Commit: d08c2977e86fc7220b3b9c5cb83616705c10046e
https://github.com/llvm/llvm-project/commit/d08c2977e86fc7220b3b9c5cb83616705c10046e
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
Log Message:
-----------
[AMDGPU] Add MC support for new gfx1250 src_flat_scratch_base_lo/hi (#152203)
Commit: 06884d0204ecffc8f1164d520bab6117ae06baee
https://github.com/llvm/llvm-project/commit/06884d0204ecffc8f1164d520bab6117ae06baee
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Bug fix in UpdateNdOffset distribution. (#150545)
Reason is UpdateNdOffset source operand not retaining the layouts when
it is yielded by the warp op. `warp_execute_on_lane0` op expects that
TensorDesc type is unchanged during distribution out of its region. we
use UnrealizedCasts to reconcile this mismatch outside the warpOp (via
`resolveDistributedTy`)
Commit: 81ed75679dcfb0b60764db1c8e0a91065a26a742
https://github.com/llvm/llvm-project/commit/81ed75679dcfb0b60764db1c8e0a91065a26a742
Author: keinflue <keinflue at posteo.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
Log Message:
-----------
[clang] Fix constant evaluation of member pointer access into sibling class. (#150829)
HandleMemberPointerAccess considered whether the lvalue path in a member
pointer access matched the bases of the containing class of the member,
but neglected to check the same for the containing class of the member
itself, thereby ignoring access attempts to members in direct sibling
classes.
Fixes #150705.
Fixes #150709.
Commit: 07da480614cd7ce3f105a153626a23f6888e503f
https://github.com/llvm/llvm-project/commit/07da480614cd7ce3f105a153626a23f6888e503f
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/.gitattributes
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/Generic/allow-check.ll
Log Message:
-----------
[win][arm64ec] More fixes for building and testing Arm64EC Windows (#151409)
* `tools/llvm-objcopy/MachO/update-section-object.test` was failing on
Windows since the input file (`macho_sections.s`) might be checked out
with the wrong line ending, resulting in difference in the size of
sections being checked.
* Removed the check for Windows in `AArch64Arm64ECCallLowering`: when
`llc` is run without an explicit target, the module's target triple is
unknown so this assert fires.
* Expect `llvm/test/CodeGen/Generic/allow-check.ll` to fail for Arm64EC:
Global ISel is not supported.
Commit: 5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
https://github.com/llvm/llvm-project/commit/5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
A libc/include/llvm-libc-types/Dl_info.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
Log Message:
-----------
[libc] Add dladdr to dlfcn.h (#149872)
A initial commit for #97929, this adds a stub implementation for
`dladdr` and includes the definition for the `DL_info` type used as one
of its arguments.
While the `dladdr` implementation relies on dynamic linker support, this
patch will add its prototype in the generated `dlfcn.h` header so that
it can be used by downstream platforms that have their own `dladdr`
implementation.
Commit: 34aed0ed5615583a8f1aaf9c036cc69fa88b3503
https://github.com/llvm/llvm-project/commit/34aed0ed5615583a8f1aaf9c036cc69fa88b3503
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 wmma_scale[16]_f32_32x16x128_f4 instructions (#152194)
Commit: 9c6bb180407a7db004624d13d9de108d7cebc73c
https://github.com/llvm/llvm-project/commit/9c6bb180407a7db004624d13d9de108d7cebc73c
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll
Log Message:
-----------
[WebAssembly] Constant fold wasm.dot (#149619)
Constant fold wasm.dot of constant vectors/splats.
Test case added in
`llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll`
Related to https://github.com/llvm/llvm-project/issues/55933
Commit: 3bc1b15235c86f08afec9d7a43e7ae431ee18926
https://github.com/llvm/llvm-project/commit/3bc1b15235c86f08afec9d7a43e7ae431ee18926
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/DeviceRTL/include/Allocator.h
Log Message:
-----------
[OpenMP] Fix weak linkage on malloc declaration
Summary:
This being weak forces the external reference to be weak. Either we
define it weak or not by pulling it from `libc`. Doing it here causes it
to not be extracted properly.
Commit: 64eba6ef9610a4a82e1610ecd806b8488144bad0
https://github.com/llvm/llvm-project/commit/64eba6ef9610a4a82e1610ecd806b8488144bad0
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)
The `EmulateInstructionARM64::EvaluateInstruction()` method used
`uint32_t` to store the PC value, causing addresses greater than 2^32 to
be truncated.
As for now, the issue does not affect the mainline because the method is
never called with both `eEmulateInstructionOptionAutoAdvancePC` and
`eEmulateInstructionOptionIgnoreConditions` options set. However, it can
trigger on a downstream that uses software stepping.
Commit: 73685583c859deae7b30bb01692670fd7356c7db
https://github.com/llvm/llvm-project/commit/73685583c859deae7b30bb01692670fd7356c7db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
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/SelectionDAGBuilder.h
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/vploadff.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add a vp.load.ff intrinsic for fault only first load. (#128593)
There's been some interest in supporting early-exit loops recently.
https://discourse.llvm.org/t/rfc-supporting-more-early-exit-loops/84690
This patch was extracted from our downstream where we've been using it
in our vectorizer.
Commit: 600976f4bfb06526c283dcc4efc4801792f08ca5
https://github.com/llvm/llvm-project/commit/600976f4bfb06526c283dcc4efc4801792f08ca5
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Revert "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 64eba6ef9610a4a82e1610ecd806b8488144bad0.
It breaks on lldb-arm-ubuntu
Commit: 4c2d56318fec16d1d5241cd91d38b59cb65bce83
https://github.com/llvm/llvm-project/commit/4c2d56318fec16d1d5241cd91d38b59cb65bce83
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Drop PY_MINOR_VERSION >= 3 check (NFC)
The minimum supported Python version is now 3.8, so there's no supported
configuration where the minor version is less than 3.
Commit: b8eb61adc92bb384bc63f01b7ccddd931409b223
https://github.com/llvm/llvm-project/commit/b8eb61adc92bb384bc63f01b7ccddd931409b223
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
Log Message:
-----------
[AMDGPU] Implement addrspacecast from flat <-> private on gfx1250 (#152218)
Commit: 435b8b51dc7e236d3940efe4b94104338dbac0e8
https://github.com/llvm/llvm-project/commit/435b8b51dc7e236d3940efe4b94104338dbac0e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Don't TestPTrace() if SPARC; don't give up if internal_fork() fails (#152072)
Fixes corner cases of https://github.com/llvm/llvm-project/pull/151406:
- Don't run TestPTrace() on SPARC, because internal_fork() on SPARC
actually calls __fork(). We can't safely __fork(), because it's possible
seccomp has been configured to disallow fork() but allow clone().
- if internal_fork() fails for whatever reason, we shouldn't give up. It
is strictly worse to give up early than to attempt StopTheWorld.
Also updates some comments/TODOs.
Commit: 315e1f59c8a5a0f64c78b93e43af94d62312c7e2
https://github.com/llvm/llvm-project/commit/315e1f59c8a5a0f64c78b93e43af94d62312c7e2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
Log Message:
-----------
[NFC] Run clang-format on TGLexer and TGParser (#151509)
In https://github.com/llvm/llvm-project/pull/149248, clang-format
applied some formatting to lines untouched by that PR, because the
existing code is not clang-format compliant. Hence applying clang-format
on the entire files here.
Commit: 124722bfe5bf668def1563cfb5778d9aa1b5436d
https://github.com/llvm/llvm-project/commit/124722bfe5bf668def1563cfb5778d9aa1b5436d
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
Revert "[CG] Add VTs for v[567]i1 and v[567]f16" (#152217)
Reverts llvm/llvm-project#151763
It caused: https://github.com/llvm/llvm-project/issues/152150
Commit: d44754c344885c249f381ace54ab1947e2d0f9fc
https://github.com/llvm/llvm-project/commit/d44754c344885c249f381ace54ab1947e2d0f9fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Remove redundant or buggy config of __aeabi_d2h (#152126)
This was set if `TT.isTargetAEABI()`. This was previously set above
if `TM.isAAPCS_ABI() && (TT.isTargetAEABI() || TT.isTargetGNUAEABI() ||
TT.isTargetMuslAEABI() || TT.isAndroid())`.
So this could differ based on a manually specified -target-abi flag due
to the `isAAPCS_ABI` part of the original condition. I'm guessing
these should be consistent, so either this second group of
setLibcallImpl
calls should have been guarded by the `isAAPCS_ABI` check, or the first
condition should remove it.
There doesn't appear to be any meaningful test coverage using the
manually specified ABI option, so #152108 tries to remove it
Commit: 9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
https://github.com/llvm/llvm-project/commit/9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
Author: Amy Huang <akhuang at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/windows/README.md
Log Message:
-----------
Update the cmake options in libc windows build docs (#152205)
Add the LLVM_ENABLE_RUNTIMES option and remove some that are out of date
or already the default setting.
Commit: 7b9786b4a602839179e7436620956a5597ffc0a3
https://github.com/llvm/llvm-project/commit/7b9786b4a602839179e7436620956a5597ffc0a3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[NFC][TableGen] Capitalize comments in TGLexer.cpp (#152224)
Commit: ab209cafdcd8759302f04205d2f09f4243149f0f
https://github.com/llvm/llvm-project/commit/ab209cafdcd8759302f04205d2f09f4243149f0f
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/index.rst
Log Message:
-----------
Add link to CFI design doc to the documentation index.
Commit: de09c27f5e4192e8d5f1ba6661c40d6337409a4d
https://github.com/llvm/llvm-project/commit/de09c27f5e4192e8d5f1ba6661c40d6337409a4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
ARM: Simplify logic for default libcall calling convention (#152166)
Commit: 726847829553079a13b1b7104f2c2db9dcda9c1d
https://github.com/llvm/llvm-project/commit/726847829553079a13b1b7104f2c2db9dcda9c1d
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
Log Message:
-----------
[clang][PAC] Fix PAC codegen for final class dynamic_cast optimization (#152227)
The codegen for the final class dynamic_cast optimization fails to
consider pointer authentication. This change resolves this be simply
disabling the optimization when pointer authentication enabled.
Commit: f67548390582292253e1321a55cdf2c37abe08a7
https://github.com/llvm/llvm-project/commit/f67548390582292253e1321a55cdf2c37abe08a7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/profcheck-select.ll
Log Message:
-----------
[profcheck] Annotate `select` instructions (#152171)
For `select`, we don't have the equivalent of the branch probability analysis to offer defaults, so we make up our own and allow their overriding with flags.
Issue #147390
Commit: 813e477155dee55d69297acbeac135b86ee72751
https://github.com/llvm/llvm-project/commit/813e477155dee55d69297acbeac135b86ee72751
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
Log Message:
-----------
Mention MTE in the HWASan design doc.
Commit: fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
https://github.com/llvm/llvm-project/commit/fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
Author: Steven Perron <stevenperron at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk_binding_attr.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add vk::binding attribute (#150957)
The vk::binding attribute allows users to explicitly set the set and
binding for a resource in SPIR-V without chaning the "register"
attribute, which will be used when targeting DXIL.
Fixes https://github.com/llvm/llvm-project/issues/136894
Commit: b05e26be8a487d21cf15d34ef60b39b3ca94f235
https://github.com/llvm/llvm-project/commit/b05e26be8a487d21cf15d34ef60b39b3ca94f235
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Optimize extracting f32/f64 from 256-bit vector by using XVPICKVE. (#151914)
Commit: 8470027f257a3304b2abe50e5663bcd711f6ca29
https://github.com/llvm/llvm-project/commit/8470027f257a3304b2abe50e5663bcd711f6ca29
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][acc] Add a semantic check for the validity of nested parallelism (#152225)
This PR implements a semantic checker to ensure the legality of nested
OpenACC parallelism. The following are quotes from Spec 3.3. We need to
disallow loops from having parallelism at the same level as or at a
sub-level of child loops.
>**2.9.2 gang clause**
>[2064] <ins>When the parent compute construct is a parallel
construct</ins>, or on an orphaned loop construct, the gang clause
behaves as follows. (...) The associated dimension is the value of the
dim argument, if it appears, or is dimension one. The dim argument must
be a constant positive integer with value 1, 2, or 3.
>[2112] The region of a loop with a gang(dim:d) clause may not contain a
loop construct with a gang(dim:e) clause where e >= d unless it appears
within a nested compute region.
>[2074] <ins>When the parent compute construct is a kernels
construct</ins>, the gang clause behaves as follows. (...)
>[2148] The region of a loop with the gang clause may not contain
another loop with a gang clause unless within a nested compute region.
>**2.9.3 worker clause**
>[2122]/[2129] The region of a loop with the worker clause may not
contain a loop with the gang or worker clause unless within a nested
compute region.
>**2.9.4 vector clause**
>[2141]/[2148] The region of a loop with the vector clause may not
contain a loop with a gang, worker, or vector clause unless within a
nested compute region.
https://openacc.org/sites/default/files/inline-images/Specification/OpenACC-3.3-final.pdf
Commit: 342bf58f93a72a675183c18b42ae811c635dda37
https://github.com/llvm/llvm-project/commit/342bf58f93a72a675183c18b42ae811c635dda37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Add entries for __security_check_cookie (#151843)
Avoids hardcoding string name based on target, and gets
the entry in the centralized list of emitted calls.
Commit: a15b629527a975ec592c95d69d04ef3537915d1d
https://github.com/llvm/llvm-project/commit/a15b629527a975ec592c95d69d04ef3537915d1d
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)"
This reverts commit 5d26e3c227f4b4a1761a8b0001b3165198def479.
It breaks the modules build of clang, since every source file has a different
version of this macro, which causes
https://green.lab.llvm.org/job/clang-stage2-Rthinlto/ to run out of space. We
should probably be using __FILE_NAME__ instead when the host compiler supports
it, but until then let's revert-to-green, and un-block the bots.
see: https://github.com/llvm/llvm-project/pull/150677
see: https://github.com/llvm/llvm-project/pull/150677#issuecomment-3156779021
rdar://157465825
Commit: af16fc2e2a50c1cbac49726ea70739ad6e193729
https://github.com/llvm/llvm-project/commit/af16fc2e2a50c1cbac49726ea70739ad6e193729
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
Log Message:
-----------
[libclc] Move mem_fence and barrier to clc library (#151446)
__clc_mem_fence and __clc_work_group_barrier function have two
parameters memory_scope and memory_order. The design allows the clc
functions to implement SPIR-V ControlBarrier and MemoryBarrier
functions in the future.
The default memory ordering in clc is set to __ATOMIC_SEQ_CST, which is
also the default and strongest ordering in OpenCL and C++.
OpenCL cl_mem_fence_flags parameter is converted to combination of
__MEMORY_SCOPE_DEVICE and __MEMORY_SCOPE_WRKGRP, which is passed to clc.
llvm-diff shows no change to nvptx64--nvidiacl.bc.
llvm-diff show a small change to amdgcn--amdhsa.bc and the number of
LLVM IR instruction is reduced by 1: https://alive2.llvm.org/ce/z/_Uhqvt
Commit: ee6afeb72ef2cee918c1338c926c481ad36aa915
https://github.com/llvm/llvm-project/commit/ee6afeb72ef2cee918c1338c926c481ad36aa915
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Lookup in cache before checking if the primary template is an exposure
Checking if a declaration is an exposure may be relatively expensive.
Try to use cache to avoid such checks will be helpful.
Commit: d27802a2173ab3d864d3bf1ac507a4acc656e457
https://github.com/llvm/llvm-project/commit/d27802a2173ab3d864d3bf1ac507a4acc656e457
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
Log Message:
-----------
[DAGCombiner] Fold setcc of trunc, generalizing some NVPTX isel logic (#150270)
That change adds support for folding a SETCC when one or both of the
operands is a TRUNCATE with the appropriate no-wrap flags. This pattern
can occur when promoting i8 operations in NVPTX, and we currently have
some ISel rules to try to handle it.
Commit: 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
https://github.com/llvm/llvm-project/commit/7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Workaround omission of PyBUF_READ in the stable API (#152214)
PyMemoryView_FromMemory is part of stable ABI but the flag constants
such as PyBUF_READ are not. This was fixed in Python 3.11 [1], but still
requires this workaround when using older versions.
[1] https://github.com/python/cpython/issues/98680
Commit: 2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
https://github.com/llvm/llvm-project/commit/2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[LLDB][NativePDB] Use undecorated name for types if UniqueName isn't mangled (#152114)
Languages other than C/C++ don't necessarily emit mangled names in the
`UniqueName` field of type records. Rust specifically emits a unique ID
that doesn't contain the name.
For example, `(i32, i32)` is emitted as
```llvm
!266 = !DICompositeType(
tag: DW_TAG_structure_type, name: "tuple$<i32,i32>", file: !9, size: 64, align: 32,
elements: !267, templateParams: !17, identifier: "19122721b0632fe96c0dd37477674472"
)
```
which results in
```
0x1091 | LF_STRUCTURE [size = 72, hash = 0x1AC67] `tuple$<i32,i32>`
unique name: `19122721b0632fe96c0dd37477674472`
vtable: <no type>, base list: <no type>, field list: 0x1090
options: has unique name, sizeof 8
```
In C++ with Clang and MSVC, a structure similar to this would result in
```
0x136F | LF_STRUCTURE [size = 44, hash = 0x30BE2] `MyTuple`
unique name: `.?AUMyTuple@@`
vtable: <no type>, base list: <no type>, field list: 0x136E
options: has unique name, sizeof 8
```
With this PR, if a `UniqueName` is encountered that couldn't be parsed,
it will fall back to using the undecorated (→ do the same as if the
unique name is empty/unavailable).
I'm not sure how to test this. Maybe compiling the LLVM IR that rustc
emits?
Fixes #152051.
Commit: 6ba6efea8438006be7d46ec064eb5da6dfda3d1b
https://github.com/llvm/llvm-project/commit/6ba6efea8438006be7d46ec064eb5da6dfda3d1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
Log Message:
-----------
[RISCV] Simplify one of the RV32 PACK isel patterns. (#152045)
This pattern previously checked a specific variant of 4 bytes being
packed that is generated by unaligned load expansion.
Our individual PACK patterns don't handle that particular case because a
DAG combine turns (or (or A, (shl B, 8)), (shl (or C, (shl D, 8)), 16))
into (or (or A, (shl B, 8)), (or (shl C, 16), (shl D, 24)). After this,
the outer OR doesn't have a shl operand so we needed a pattern that
looks through 2 layers of OR.
To match this pattern we don't need to look at the (or A, (shl B, 8))
part since that part wasn't affected by the DAG combine and can be
matched to PACKH by itself. It's enough to make sure that part of the
pattern has zeros in the upper 16 bits.
This allows tablegen to automatically generate more permutations of this pattern.
The associative variant expansion is limited to 3 children.
Commit: e797c716091b41af7901aa88c4739bed97661436
https://github.com/llvm/llvm-project/commit/e797c716091b41af7901aa88c4739bed97661436
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Reland "[libc] make integration test malloc work properly when threaded" (#152236)
Reverts llvm/llvm-project#152096
Commit: 3339a0045d66c0e56081b699b8535aecfb95ef85
https://github.com/llvm/llvm-project/commit/3339a0045d66c0e56081b699b8535aecfb95ef85
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
Log Message:
-----------
[clang] Respect [[gnu::error]] on functions passed to [[gnu::cleanup]] (#152082)
Forward SourceLocation to `EmitCall` so that clang triggers an error
when a function inside `[[gnu::cleanup(func)]]` is annotated with
`[[gnu::error("some message")]]`.
resolves #146520
Commit: 2959051e655a5c77401285a68bab2027aa958b88
https://github.com/llvm/llvm-project/commit/2959051e655a5c77401285a68bab2027aa958b88
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
Log Message:
-----------
[lldb] Preserve original symbol of Mangled function names (#152201)
Fixes a bug that surfaces in frame recognizers.
Details about the bug:
A new frame recognizer is configured to match a specific symbol
(`swift_willThrow`). This is an `extern "C"` symbol defined in a C++
source file. When Swift is built with debug info, the function
`ParseFunctionFromDWARF` will use the debug info to construct a function
name that looks like a C++ declaration (`::swift_willThrow(void *,
SwiftError**)`). The `Mangled` instance will have this string as its
`m_demangled` field, and have _no_ string for its `m_mangled` field.
The result is the frame recognizer would not match the symbol to the
name (`swift_willThrow` != `::swift_willThrow(void *, SwiftError**)`.
By changing `ParseFunctionFromDWARF` to assign both a demangled name and
a mangled, frame recognizers can successfully match symbols in this
configuration.
Commit: 255be51f3f64ff6ef20c6379c3f3fdae5504813b
https://github.com/llvm/llvm-project/commit/255be51f3f64ff6ef20c6379c3f3fdae5504813b
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix missing dereference in isConstructWithTopLevelTarget
This was causing false negatives, yielding incorrect programs.
Commit: f9386d3b1e5977a7920465d072761fc5d70968dc
https://github.com/llvm/llvm-project/commit/f9386d3b1e5977a7920465d072761fc5d70968dc
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)""
This reverts commit a15b629527a975ec592c95d69d04ef3537915d1d.
The revert made things worse. Oops.
Commit: 8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
https://github.com/llvm/llvm-project/commit/8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/IR/PassManager.h
Log Message:
-----------
[llvm] get Linux `-fvisibility=hidden` shared library build working with GCC (#151365)
## Purpose
Add missing annotations so that LLVM can build as a shared library on
Linux with `-fvisibility=hidden` using GCC.
## Overview
Add a couple of annotations that make GCC happy:
* Add `LLVM_TEMPLATE_ABI` to the `extern` declaration of
`LoopBase<MachineBasicBlock, MachineLoop>`. The instantiation of this of
this template is already properly annotated with `LLVM_EXPORT_TEMPLATE`
and this declaration was missed. This omission did not cause problems
with MSVC or Clang but results in undefined reference to the destructor
with GCC.
* Add `LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` to the template declaration
for `InnerAnalysisManagerProxy::Key`. `LLVM_ABI` cannot be used here
because MSVC disallows storage-class specifiers on class members outside
of the class declaration (C2720). Since
`LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` only applies to non-Windows targets,
it can be used in its place. Omitting this annotation does not cause
problems with Clang but results in undefined reference to
`InnerAnalysisManagerProxy::Key` fields for for explicitly instantiated
declarations when compiling with GCC.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Validation
On Fedora 42, build with GCC `LLVM_BUILD_LLVM_DYLIB=ON`,
`LLVM_BUILD_LLVM_DYLIB_VIS=ON`, and `LLVM_LINK_LLVM_DYLIB=ON`.
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_TESTS=ON -DLLVM_BUILD_EXAMPLES=ON -DLLDB_ENABLE_PYTHON=NO -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: a3c386d241a103481604dc970ada168b786c56c1
https://github.com/llvm/llvm-project/commit/a3c386d241a103481604dc970ada168b786c56c1
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[llvm] annotate recently added interfaces for DLL export (#152179)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates symbols that were recently
added to LLVM and fixes incorrectly annotated symbols.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `LLVM_EXPORT_TEMPLATE` and `LLVM_TEMPLATE_ABI` annotations to
explicitly instantiated instances of `llvm::object::SFrameParser`.
## Validation
On Windows 11:
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_BUILD_TESTS=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: cd1363bf42aad4cc55f6fe6892f63de9b32977ae
https://github.com/llvm/llvm-project/commit/cd1363bf42aad4cc55f6fe6892f63de9b32977ae
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][Bufferization] Support cast from ranked to unranked in canonic… (#152257)
https://github.com/llvm/llvm-project/pull/150511 changed the
canonicalization pattern to not allow casts from ranked to unranked
anymore. This patch restores this functionality, while still keeping the
fix to preserve memory space and layout.
Commit: fe0d67b75413c95d79742cadb0d006377ae8f025
https://github.com/llvm/llvm-project/commit/fe0d67b75413c95d79742cadb0d006377ae8f025
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libcxx] [ci] Update Clang on Windows (#152206)
Update clang-cl/LLVM to 20.1.8.
Update to llvm-mingw 20250709 (with also is built on LLVM 20.1.8). This
release of llvm-mingw is the first release to be built with PGO, making
it significantly faster for the CI runs (on par with the clang-cl
cases); running the current tests in around 1 h rather than 1 h 20 min.
Commit: 90d1d2350721f684bb6697b9db7ce36df252fbed
https://github.com/llvm/llvm-project/commit/90d1d2350721f684bb6697b9db7ce36df252fbed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
Log Message:
-----------
[clang][bytecode] Overrride locs for certain CXXConstructExprs (#152185)
Do it only if we will end up skipping the initializer anyway because
it's a trivial copy or move constructor.
Commit: 753885eaaf8745a64f502a3a65fa89456d632cd5
https://github.com/llvm/llvm-project/commit/753885eaaf8745a64f502a3a65fa89456d632cd5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Skip TestQueueFromStdModule.py pre-Clang-17
Failing on the macOS matrix bot for Clang-15:
```
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 38, in test
07:38:40 self.expect_expr(
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
07:38:40 value_check.check_value(self, eval_result, str(eval_result))
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
07:38:40 test_base.assertSuccess(val.GetError())
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
07:38:40 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
07:38:40 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
07:38:40 93 | header "stdarg.h" // note: supplied by the compiler
07:38:40 | ^
07:38:40 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/include/c++/v1/ctype.h:38:15: submodule of top-level module 'Darwin' implicitly imported here
07:38:40 38 | #include_next <ctype.h>
07:38:40 | ^
07:38:40 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: ff5fa711b3078b3305aa5b5a2d02f9d97421c662
https://github.com/llvm/llvm-project/commit/ff5fa711b3078b3305aa5b5a2d02f9d97421c662
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64][SVE] Tweak how SVE CFI expressions are emitted (#151677)
The main change in this patch is we go from emitting the expression:
@ cfa - NumBytes - NumScalableBytes * VG
To:
@ cfa - VG * NumScalableBytes - NumBytes
That is, VG is the first expression. This is for a future patch that
adds an alternative way to resolve VG (which uses the CFA, so it is
convenient for the CFA to be at the top of the stack).
Since doing this is fairly churn-heavy, I took the opportunity to also
save up to 4-bytes per SVE CFI expression. This is done by folding
LEB128 constants to literals when in the range 0 to 31, and using the
offset in `DW_OP_breg*` expressions.
Commit: 0461cd3d1d6f722b2833dd913c1f974aeebcf82a
https://github.com/llvm/llvm-project/commit/0461cd3d1d6f722b2833dd913c1f974aeebcf82a
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
A llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
A llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
[AMDGPU] Intrinsic for launching whole wave functions (#145859)
Add the llvm.amdgcn.call.whole.wave intrinsic for calling whole wave
functions. This will take as its first argument the callee with the
amdgpu_gfx_whole_wave calling convention, followed by the call
parameters which must match the signature of the callee except for the
first function argument (the i1 original EXEC mask, which doesn't need
to be passed in). Indirect calls are not allowed.
Make direct calls to amdgpu_gfx_whole_wave functions a verifier error.
Unspeakable horrors happen around calls from whole wave functions, the
plan is to improve the handling of caller/callee-saved registers in
a future patch.
Tail calls are also handled in a future patch.
Commit: df34eaca5961f4f2d201191fe3ad43651066fb21
https://github.com/llvm/llvm-project/commit/df34eaca5961f4f2d201191fe3ad43651066fb21
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Drop poison flags when lowering absolute difference patterns. (#152130)
As a follow-up to #151177, when lowering SELECT_CC nodes of absolute
difference patterns, drop poison-generating flags from the negated
operand to avoid inadvertently propagating poison.
As discussed in the PR above, I didn't find practical issues with the
current code, but it seems safer to do this preemptively.
Commit: 907b7d0f07bb72a4a9732e234621adb589f77d42
https://github.com/llvm/llvm-project/commit/907b7d0f07bb72a4a9732e234621adb589f77d42
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/bad-constraint.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
Log Message:
-----------
[ARM] Fix inline asm register validation for vector types (#152175)
Patch allows following piece of code to be successfully compiled:
```
register uint8x8_t V asm("d3") = vdup_n_u8(0xff);
```
Commit: 4077e66432a1d17543d0cef4b5a9280caff6e974
https://github.com/llvm/llvm-project/commit/4077e66432a1d17543d0cef4b5a9280caff6e974
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
Log Message:
-----------
[lldb] Treat address found via function name as a callable address (#151973)
I discovered this building the lldb test suite with `-mthumb` set, so
that all test programs are purely Arm Thumb code.
When C++ expressions did a function lookup, they took a different path
from C programs. That path happened to land on the line that I've
changed. Where we try to look something up as a function, but don't then
resolve the address as if it's a callable.
With Thumb, if you do the non-callable lookup, the bottom bit won't be
set. This means when lldb's expression wrapper function branches into
the found function, it'll be in Arm mode trying to execute Thumb code.
Thumb is the only instance where you'd notice this. Aside from maybe
MicroMIPS or MIPS16 perhaps but I expect that there are 0 users of that
and lldb.
I have added a new test case that will simulate this situation in
"normal" Arm builds so that it will get run on Linaro's buildbot.
This change also fixes the following existing tests when `-mthumb` is
used:
```
lldb-api :: commands/expression/anonymous-struct/TestCallUserAnonTypedef.py
lldb-api :: commands/expression/argument_passing_restrictions/TestArgumentPassingRestrictions.py
lldb-api :: commands/expression/call-function/TestCallStopAndContinue.py
lldb-api :: commands/expression/call-function/TestCallUserDefinedFunction.py
lldb-api :: commands/expression/char/TestExprsChar.py
lldb-api :: commands/expression/class_template_specialization_empty_pack/TestClassTemplateSpecializationParametersHandling.py
lldb-api :: commands/expression/context-object/TestContextObject.py
lldb-api :: commands/expression/formatters/TestFormatters.py
lldb-api :: commands/expression/import_base_class_when_class_has_derived_member/TestImportBaseClassWhenClassHasDerivedMember.py
lldb-api :: commands/expression/inline-namespace/TestInlineNamespace.py
lldb-api :: commands/expression/namespace-alias/TestInlineNamespaceAlias.py
lldb-api :: commands/expression/no-deadlock/TestExprDoesntBlock.py
lldb-api :: commands/expression/pr35310/TestExprsBug35310.py
lldb-api :: commands/expression/static-initializers/TestStaticInitializers.py
lldb-api :: commands/expression/test/TestExprs.py
lldb-api :: commands/expression/timeout/TestCallWithTimeout.py
lldb-api :: commands/expression/top-level/TestTopLevelExprs.py
lldb-api :: commands/expression/unwind_expression/TestUnwindExpression.py
lldb-api :: commands/expression/xvalue/TestXValuePrinting.py
lldb-api :: functionalities/thread/main_thread_exit/TestMainThreadExit.py
lldb-api :: lang/cpp/call-function/TestCallCPPFunction.py
lldb-api :: lang/cpp/chained-calls/TestCppChainedCalls.py
lldb-api :: lang/cpp/class-template-parameter-pack/TestClassTemplateParameterPack.py
lldb-api :: lang/cpp/constructors/TestCppConstructors.py
lldb-api :: lang/cpp/function-qualifiers/TestCppFunctionQualifiers.py
lldb-api :: lang/cpp/function-ref-qualifiers/TestCppFunctionRefQualifiers.py
lldb-api :: lang/cpp/global_operators/TestCppGlobalOperators.py
lldb-api :: lang/cpp/llvm-style/TestLLVMStyle.py
lldb-api :: lang/cpp/multiple-inheritance/TestCppMultipleInheritance.py
lldb-api :: lang/cpp/namespace/TestNamespace.py
lldb-api :: lang/cpp/namespace/TestNamespaceLookup.py
lldb-api :: lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
lldb-api :: lang/cpp/operators/TestCppOperators.py
lldb-api :: lang/cpp/overloaded-functions/TestOverloadedFunctions.py
lldb-api :: lang/cpp/rvalue-references/TestRvalueReferences.py
lldb-api :: lang/cpp/static_methods/TestCPPStaticMethods.py
lldb-api :: lang/cpp/template/TestTemplateArgs.py
lldb-api :: python_api/thread/TestThreadAPI.py
```
There are other failures that are due to different problems, and this
change does not make those worse.
(I have no plans to run the test suite with `-mthumb` regularly, I just
did it to test some other refactoring)
Commit: b24ad98caa7cdc48ed9034310c8876811d6e52aa
https://github.com/llvm/llvm-project/commit/b24ad98caa7cdc48ed9034310c8876811d6e52aa
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[sanitizer_common] Disable SanitizerCommon lsan tests on Apple arm64 (#151929)
There is an issue tracking lsan incompatibility on these platforms:
https://github.com/llvm/llvm-project/issues/131678. Many of these tests
are currently failing and creating CI noise.
rdar://157252316
Commit: 49d5dd37f8bdd961d11cdf4df95d26982b253e97
https://github.com/llvm/llvm-project/commit/49d5dd37f8bdd961d11cdf4df95d26982b253e97
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Reland "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 600976f4bfb06526c283dcc4efc4801792f08ca5.
The test was crashing trying to access any element of the GPR struct.
(gdb) disas
Dump of assembler code for function _ZN7testing8internal11CmpHelperEQIyyEENS_15AssertionResultEPKcS4_RKT_RKT0_:
0x00450afc <+0>: push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0x00450b00 <+4>: sub sp, sp, #60 ; 0x3c
0x00450b04 <+8>: ldr r5, [sp, #96] ; 0x60
=> 0x00450b08 <+12>: ldm r3, {r4, r7}
0x00450b0c <+16>: ldm r5, {r6, r9}
0x00450b10 <+20>: eor r7, r7, r9
0x00450b14 <+24>: eor r6, r4, r6
0x00450b18 <+28>: orrs r7, r6, r7
(gdb) p/x r3
$3 = 0x3e300f6e
"However, load and store multiple instructions (LDM and STM) and load and store double-word (LDRD or STRD) must be aligned to at least a word boundary."
https://developer.arm.com/documentation/den0013/d/Porting/Alignment
>>> 0x3e300f6e % 4
2
Program received signal SIGBUS, Bus error.
0x00450b08 in testing::AssertionResult testing::internal::CmpHelperEQ<unsigned long long, unsigned long long>(char const*, char const*, unsigned long long const&, unsigned long long const&) ()
The struct is packed with 1 byte alignment, but it needs to start at an aligned address for us
to ldm from it. So I've done that with alignas.
Also fixed some compiler warnings in the test itself.
Commit: dace67e941f309318b5ce200c1f4e180a4471d20
https://github.com/llvm/llvm-project/commit/dace67e941f309318b5ce200c1f4e180a4471d20
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/source/Core/Value.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/unittests/Utility/ScalarTest.cpp
Log Message:
-----------
[lldb] Add `ValueObject::CreateValueObjectFromScalar` and fix `Scalar::GetData` (#151350)
Add `ValueObject::CreateValueObjectFromScalar` function and adjust
`Scalar::GetData` to be able to both extend and truncate the data bytes
in Scalar to the specified size.
Commit: 35110445081152f7f2d2a9d053bb6fa718216d7b
https://github.com/llvm/llvm-project/commit/35110445081152f7f2d2a9d053bb6fa718216d7b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down cast in __tree::operator=
This has been introduced by #151304. This problem is diagnosed by UBSan
with optimizations enabled. Since we run UBSan only with optimizations
disabled currently, this isn't caught in our CI. We should look into
enabling UBSan with optimizations enabled to catch these sorts of issues
before landing a patch.
Commit: 5499a70c39bfea10a0139ed6e98a267b9473448d
https://github.com/llvm/llvm-project/commit/5499a70c39bfea10a0139ed6e98a267b9473448d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
Revert "[libc++] Fix incorrect down cast in __tree::operator="
This reverts commit 35110445081152f7f2d2a9d053bb6fa718216d7b.
I've accidentally pushed to the wrong branch.
Commit: a5d85a6ab5daf67b67da654c90adc494d37833c8
https://github.com/llvm/llvm-project/commit/a5d85a6ab5daf67b67da654c90adc494d37833c8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[Headers][X86] Allow AVX _mm256_set* intrinsics to be used in constexpr (#152173)
Commit: 14cd1339318b16e08c1363ec6896bd7d1e4ae281
https://github.com/llvm/llvm-project/commit/14cd1339318b16e08c1363ec6896bd7d1e4ae281
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
R llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
R llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
Revert "[AMDGPU] Intrinsic for launching whole wave functions" (#152286)
Reverts llvm/llvm-project#145859 because it broke a HIP test:
```
[34/59] Building CXX object External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
FAILED: External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/bin/clang++ -DNDEBUG -O3 -DNDEBUG -w -Werror=date-time --rocm-path=/opt/botworker/llvm/External/hip/rocm-6.3.0 --offload-arch=gfx908 --offload-arch=gfx90a --offload-arch=gfx1030 --offload-arch=gfx1100 -xhip -mfma -MD -MT External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -MF External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o.d -o External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -c /home/botworker/bbot/clang-hip-vega20/llvm-test-suite/External/HIP/workload/ray-tracing/TheNextWeek/main.cc
fatal error: error in backend: Cannot select: intrinsic %llvm.amdgcn.readfirstlane
```
Commit: 1f1b903a645e260195bbdd6c74ae1f34caacec79
https://github.com/llvm/llvm-project/commit/1f1b903a645e260195bbdd6c74ae1f34caacec79
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
R clang/test/CodeGen/PowerPC/check-zero-vector.c
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
Log Message:
-----------
[NFC][PowerPC] Cleaning up test file and removing redundant front-end test (#151971)
NFC patch to clean up extra lines of code in the file
`llvm/test/CodeGen/PowerPC/check-zero-vector.ll` as the current one has
loop unrolled.
Also removing the file `clang/test/CodeGen/PowerPC/check-zero-vector.c`
as the patch affects only the backend.
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 9b7b3828716a127e6a9155b516f624a0f5a30887
https://github.com/llvm/llvm-project/commit/9b7b3828716a127e6a9155b516f624a0f5a30887
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
Fix MSVC truncation to char warning. NFC.
Commit: 777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
https://github.com/llvm/llvm-project/commit/777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Address comments missed in #142309.
Address additional comments from
https://github.com/llvm/llvm-project/pull/142309.
Commit: 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
https://github.com/llvm/llvm-project/commit/2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Re-enable TestQueueFromStdModule.py
Tried this with newer Clang versions locally on my Darwin machine and the tests passes. Try re-enabling again.
Commit: b242150b075a8a720b00821682a9469258bbcd30
https://github.com/llvm/llvm-project/commit/b242150b075a8a720b00821682a9469258bbcd30
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
Revert "[lldb][test] Re-enable TestQueueFromStdModule.py"
This reverts commit 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12.
Turns out the CI still fails with this test enabled:
```
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 37, in test
11:08:50 self.expect_expr(
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
11:08:50 value_check.check_value(self, eval_result, str(eval_result))
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
11:08:50 test_base.assertSuccess(val.GetError())
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
11:08:50 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
11:08:50 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
11:08:50 93 | header "stdarg.h" // note: supplied by the compiler
11:08:50 | ^
11:08:50 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lib/clang/22/include/stdint.h:56:16: submodule of top-level module 'Darwin' implicitly imported here
11:08:50 56 | # include_next <stdint.h>
11:08:50 | ^
11:08:50 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: d8f896172da036da99a158331856a85cc328fcab
https://github.com/llvm/llvm-project/commit/d8f896172da036da99a158331856a85cc328fcab
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
A llvm/test/CodeGen/AArch64/csel-subs-dag-combine.ll
M llvm/test/CodeGen/AArch64/midpoint-int.ll
Log Message:
-----------
[AArch64] Improve lowering of scalar abs(sub(a, b)). (#151180)
This patch avoids a comparison against zero when lowering abs(sub(a, b))
patterns, instead reusing the condition codes generated by a subs of the
operands directly.
For example, currently:
```
sxtb w8, w0
sub w8, w8, w1, sxtb
cmp w8, #0
cneg w0, w8, mi
```
becomes:
```
sxtb w8, w0
subs w8, w8, w1, sxtb
cneg w0, w8, mi
```
Together with #151177, this should handle the remaining patterns in
#118413.
Commit: e99c565cd2f750c5ec3a71f60e306a5912d8cec9
https://github.com/llvm/llvm-project/commit/e99c565cd2f750c5ec3a71f60e306a5912d8cec9
Author: Tim Renouf <tim.renouf at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/test/CodeGen/AMDGPU/empty-text.ll
Log Message:
-----------
MC,AMDGPU: Don't pad .text with s_code_end if it would otherwise be empty (#147980)
We don't want that padding in a module that only contains data, not
code.
Also fix MCSection::hasInstructions() so it works with the asm streamer
too.
Commit: 97cf061e83a0d0cada38d8a2d75c8a840b01ba26
https://github.com/llvm/llvm-project/commit/97cf061e83a0d0cada38d8a2d75c8a840b01ba26
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
[flang][cmake] Re-apply "Fix bcc dependencies (#125822)"
It was overwritten due to an automatic merge gone wrong for #124416
Commit: 56ba1181e9e98c54f22181723c1bc5bb8068ae66
https://github.com/llvm/llvm-project/commit/56ba1181e9e98c54f22181723c1bc5bb8068ae66
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[Clang] Fix warning on synthetic offload arch argument in host only mode (#151969)
Summary:
These arguments are synthetically generated and should always be
considered used. This was emitting a warning on the new driver.
Commit: 86c192694d8c7ecf83d5fd706c861773c347b02c
https://github.com/llvm/llvm-project/commit/86c192694d8c7ecf83d5fd706c861773c347b02c
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
Log Message:
-----------
[NFC][PowerPC] Rebase the anonymous xxeval patterns to use the new XXEvalPattern class (#151462)
This change rebases the anonymous `xxeval` patterns to use the new
XXEvalPattern class based on the [[PowerPC] Exploit xxeval instruction
for ternary patterns - ternary(A, X,
and(B,C))](https://github.com/llvm/llvm-project/pull/141733#top)
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 8a0643611545d0540b4267668c66ca92d3ff6e70
https://github.com/llvm/llvm-project/commit/8a0643611545d0540b4267668c66ca92d3ff6e70
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/midpoint-int.ll
Log Message:
-----------
[AArch64] Update test from #151180. (#152299)
Commit: 2c2a368276487da6a3b97c78968258ce61fcc73b
https://github.com/llvm/llvm-project/commit/2c2a368276487da6a3b97c78968258ce61fcc73b
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
Revert "[flang][cmake] Re-apply "Fix bcc dependencies (#125822)""
This reverts commit 97cf061e83a0d0cada38d8a2d75c8a840b01ba26.
Commit: 0d7c8691fb5831807b76d89eb397659c6f132011
https://github.com/llvm/llvm-project/commit/0d7c8691fb5831807b76d89eb397659c6f132011
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Make monolithic-* scripts only run Github steps on Github
We run a couple Github only steps in the monolithic-* scripts like
writing to $GITHUB_STEP_SUMMARY and denoting log groups. These can throw
errors when running the scripts locally or as part of other CI systems
(like buildbot). This patch makes it so that we only run these commands
when in the relevant environment. We also add a $POSTCOMMIT_CI check for
groups so that the annotated builder in buildbot works properly with
these scripts.
Reviewers: cmtice, ldionne, Endilll, gburgessiv, Keenuts, dschuff, lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/152197
Commit: 79253cfe6bf20e4bd7e3e15fec3014f90056a718
https://github.com/llvm/llvm-project/commit/79253cfe6bf20e4bd7e3e15fec3014f90056a718
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[libc] Fix integration tests on w64 amdgpu targets (#152303)
Summary:
We need `malloc` to return a larger size now that it's aligned properly
and we use a bunch of threads. Also the `match_any` test was wrong
because it assumed a 32-bit lanemask.
Commit: 23b320311364f1bc1249500c7542d077d70098bf
https://github.com/llvm/llvm-project/commit/23b320311364f1bc1249500c7542d077d70098bf
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
Log Message:
-----------
[POWERPC] Fixes an error in the handling of the MTVSRBMI instruction for big-endian (#151565)
The patch fixed a bug introduced patch [[PowePC] using MTVSRBMI
instruction instead of constant pool in
power10+](https://github.com/llvm/llvm-project/pull/144084#top).
The issue arose because the layout of vector register elements differs
between little-endian and big-endian modes — specifically, the elements
appear in reverse order. This led to incorrect behavior when loading
constants using MTVSRBMI in big-endian configurations.
Commit: 3f6f5b9121ce2d61c1ba5ae41e1fe8c1e15ca49b
https://github.com/llvm/llvm-project/commit/3f6f5b9121ce2d61c1ba5ae41e1fe8c1e15ca49b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[llvm][docs] Tell people how to list runtime names
This list was already out of date, so I think it's better
we tell them how to get CMake to tell them the list.
Commit: fa91dcbefd7d9f16b2c6d624b14a1c023745b78a
https://github.com/llvm/llvm-project/commit/fa91dcbefd7d9f16b2c6d624b14a1c023745b78a
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add support for Invariant and Patch decorations (#152301)
New tests were validated with `spriv-val`.
Commit: e80e7e717e8c2efe2c1712dc3bb4f25ba7ed11f6
https://github.com/llvm/llvm-project/commit/e80e7e717e8c2efe2c1712dc3bb4f25ba7ed11f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 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/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Use scalar VPPhi instead of VPWidenPHIRecipe in createPlainCFG. (#150847)
The initial VPlan closely reflects the original scalar loop, so unsing
VPWidenPHIRecipe here is premature. Widened phi recipes should only be
introduced together with other widened recipes.
PR: https://github.com/llvm/llvm-project/pull/150847
Commit: ded1f3ec96bc3de2951094dff5a8d2e12f7402c8
https://github.com/llvm/llvm-project/commit/ded1f3ec96bc3de2951094dff5a8d2e12f7402c8
Author: Yussur Mustafa Oraji <yussur.oraji at tu-darmstadt.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
A llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
M llvm/test/Instrumentation/ThreadSanitizer/capture.ll
Log Message:
-----------
[TSan] Add option to ignore capturing behavior when instrumenting (#148156)
While not needed for most applications, some tools such as
[MUST](https://www.i12.rwth-aachen.de/cms/i12/forschung/forschungsschwerpunkte/lehrstuhl-fuer-hochleistungsrechnen/~nrbe/must/)
depend on the instrumentation being present.
MUST uses the ThreadSanitizer annotation interface to detect data races
in MPI programs, where the capture tracking is detrimental as it has no
bearing on MPI data races, leading to missed races.
Commit: c4f6d346749cd368ab60fa06d925b15934d0e38a
https://github.com/llvm/llvm-project/commit/c4f6d346749cd368ab60fa06d925b15934d0e38a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/X86/trunc-nsw-nuw.ll
Log Message:
-----------
[DAG] getNode - fold (sext (trunc x)) -> x iff the upper bits are already signbits (#151945)
Similar to what we already do for ZERO_EXTEND/ANY_EXTEND patterns.
Commit: 0b1639581a14e6e99ffff1a155504e4e866df491
https://github.com/llvm/llvm-project/commit/0b1639581a14e6e99ffff1a155504e4e866df491
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M cmake/Modules/FindLibcCommonUtils.cmake
M libc/src/__support/macros/attributes.h
M libc/src/__support/threads/mutex.h
Log Message:
-----------
[libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527)
When single-threaded mode is selected, all instances of the keyword
`LIBC_THREAD_LOCAL` are stubbed out, similar to how it currently works
on the GPU. This allows baremetal builds to avoid using thread_local.
However, libcxx uses shared headers, so we need to be careful there.
Thankfully, there is already an option to disable multithreading in
libcxx, so a flag is added such that single-threaded mode is propagated
down to libc.
Commit: 22af0cd6f9ded0aa70eb5a3d6f12bbd15c3ae870
https://github.com/llvm/llvm-project/commit/22af0cd6f9ded0aa70eb5a3d6f12bbd15c3ae870
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[LLVM][Intrinsics] Reduce stack size for `Intrinsic::getAttributes` (#152219)
This change fixes a stack size regression that got introduced in
https://github.com/llvm/llvm-project/commit/0de0354aa8dcd6afab625c6833cb0f40309c2961.
That change did 2 independent things:
1. Uniquify argument and function attributes separately so that we
generate a smaller number of unique sets as opposed to uniquifying them
together. This is beneficial for code size.
2. Eliminate the fixed size array `AS` and `NumAttrs` variable and
instead build the returned AttribteList in each case using an
initializer list.
The second part seems to have caused a regression in the stack size
usage of this function for Windows. This change essentially undoes part
2 and reinstates the use of the fixed size array `AS` which fixes this
stack size regression. The actual measured stack frame size for this
function before/after this change is as follows:
```
Current trunk data for release build (x86_64 builds for Linux, x86 build for Windows):
Compiler gcc-13.3.0 clang-18.1.3 MSVC 19.43.34810.0
DLLVM_ENABLE_ASSERTIONS=OFF 0x120 0x110 0x54B0
DLLVM_ENABLE_ASSERTIONS=ON 0x2880 0x110 0x5250
After applying the fix:
Compiler gcc-13.3.0 clang-18.1.3 MSVC 19.43.34810.0
DLLVM_ENABLE_ASSERTIONS=OFF 0x120 0x118 0x1240h
DLLVM_ENABLE_ASSERTIONS=ON 0x120 0x118 0x1240h
```
Note that for Windows builds with assertions disabled, the stack frame
size for this function reduces from 21680 to 4672 which is a 4.6x
reduction. Stack frame size for GCC build with assertions also improved
and clang builds are unimpacted. The speculation is that clang and gcc
is able to reuse the stack space across these switch cases better with
existing code, but MSVC is not, and re-introducing the `AS` variable
forces all cases to use the same local variable, addressing the stack
space regression.
Commit: cab2edd39a14b817445f4f74c5f2d83cc6a3967a
https://github.com/llvm/llvm-project/commit/cab2edd39a14b817445f4f74c5f2d83cc6a3967a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[libclang] Remove unnecessary casts (NFC) (#152259)
stringVal is already of char *.
Commit: e9c510b151e6a487141c441f37301c7c368f0fe6
https://github.com/llvm/llvm-project/commit/e9c510b151e6a487141c441f37301c7c368f0fe6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64] Remove an unnecessary cast (NFC) (#152260)
Pred is already of CmpInst::Predicate.
Commit: 71b4f4d263a1d66fcf740e736ef5cd657f21cdee
https://github.com/llvm/llvm-project/commit/71b4f4d263a1d66fcf740e736ef5cd657f21cdee
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
Log Message:
-----------
[ObjCopy] Remove unnecessary casts (NFC) (#152261)
getBufferStart() already returns char *.
Commit: 62fc0028bf137137fe8dc1f79dc34178ea688e17
https://github.com/llvm/llvm-project/commit/62fc0028bf137137fe8dc1f79dc34178ea688e17
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#152262)
value() already returns uint64_t.
Commit: 5342c33f1dfd2588d586b795c402840102b627ea
https://github.com/llvm/llvm-project/commit/5342c33f1dfd2588d586b795c402840102b627ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[llvm] Proofread MIRLangRef.rst (#152263)
Commit: ca13c44bbc13118d215b4e1e02911157e4d809a8
https://github.com/llvm/llvm-project/commit/ca13c44bbc13118d215b4e1e02911157e4d809a8
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/liboffload/API/Queue.td
Log Message:
-----------
[NFC][Offload] Clarify `olDestroyQueue` (#152132)
This has no code changes.
Commit: 66d1c37eb69c8ab38af6e61a38b7605f5f05d75b
https://github.com/llvm/llvm-project/commit/66d1c37eb69c8ab38af6e61a38b7605f5f05d75b
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/include/OpenMP/InteropAPI.h
M offload/include/OpenMP/omp.h
A offload/include/PerThreadTable.h
M offload/include/PluginManager.h
M offload/include/Shared/APITypes.h
M offload/libomptarget/OffloadRTL.cpp
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/InteropAPI.cpp
M offload/libomptarget/PluginManager.cpp
M offload/libomptarget/exports
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OFFLOAD][OPENMP] 6.0 compatible interop interface (#143491)
The following patch introduces a new interop interface implementation
with the following characteristics:
* It supports the new 6.0 prefer_type specification
* It supports both explicit objects (from interop constructs) and
implicit objects (from variant calls).
* Implements a per-thread reuse mechanism for implicit objects to reduce
overheads.
* It provides a plugin interface that allows selecting the supported
interop types, and managing all the backend related interop operations
(init, sync, ...).
* It enables cooperation with the OpenMP runtime to allow progress on
OpenMP synchronizations.
* It cleanups some vendor/fr_id mismatchs from the current query
routines.
* It supports extension to define interop callbacks for library cleanup.
Commit: cd4ae911eb4fa3050ada5d0016ec822345fab2ee
https://github.com/llvm/llvm-project/commit/cd4ae911eb4fa3050ada5d0016ec822345fab2ee
Author: Shay Kleiman <42376404+shay-kl at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
Log Message:
-----------
[mlir] Specify namespace in td file pred (#152258)
Lack of llvm namespace here caused an "'ArrayRef' was not declared in
this scope" error when using the ShapedTypeWithNthDimOfSize pred in a td
file. Explicitly specifying it fixes it.
Co-authored-by: Shay Kleiman <shay.kleiman at mobileye.com>
Commit: 2bb23d444767540c59c32ccdb86f7ef6e35fd96e
https://github.com/llvm/llvm-project/commit/2bb23d444767540c59c32ccdb86f7ef6e35fd96e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
[flang][cmake] Fix bbc dependencies (#152306)
Re-apply "[flang][cmake] Fix bcc dependencies (#125822)"
It was overwritten due to an automatic merge gone wrong for #124416.
`git cherry-pick f9af5c145f40480d46874b643ca2b1237e9fbb2a` applied in
97cf061e83a0d0cada38d8a2d75c8a840b01ba26 ignored the renaming of
FortranCommon into FortranSupport after #125822.
Original commit message:
The Fortran libraries are not part of MLIR, so they should use
target_link_libraries() rather than mlir_target_link_libraries().
This fixes an issue introduced in #20966.
Commit: a4ff76e819965b58083bab6c42c66acb6a2d1224
https://github.com/llvm/llvm-project/commit/a4ff76e819965b58083bab6c42c66acb6a2d1224
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/bfloat16_add_test.cpp
A libc/test/src/math/exhaustive/bfloat16_div_test.cpp
A libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
A libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/MulTest.h
A libc/test/src/math/smoke/bfloat16_add_test.cpp
A libc/test/src/math/smoke/bfloat16_div_test.cpp
A libc/test/src/math/smoke/bfloat16_mul_test.cpp
A libc/test/src/math/smoke/bfloat16_sub_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c++23] Implement basic arithmetic operations for BFloat16 (#151228)
This PR implements addition, subtraction, multiplication and division
operations for BFloat16.
---------
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 3ffaaf6db68ff6ad4d8224a83ee6601df8cfb1fd
https://github.com/llvm/llvm-project/commit/3ffaaf6db68ff6ad4d8224a83ee6601df8cfb1fd
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
A llvm/test/CodeGen/Xtensa/atomic-load-store.ll
A llvm/test/CodeGen/Xtensa/atomic-rmw.ll
A llvm/test/CodeGen/Xtensa/forced-atomics.ll
A llvm/test/Transforms/AtomicExpand/Xtensa/atomicrmw-expand.ll
A llvm/test/Transforms/AtomicExpand/Xtensa/lit.local.cfg
Log Message:
-----------
[Xtensa] Implement Xtensa S32C1I Option and atomics lowering. (#137134)
Implement Xtensa S32C1I Option. Implement atomic_cmp_swap_32 operation
using s32c1i instruction. Use atomic_cmp_swap_32 operation and AtomicExpand
pass to implement atomics operations.
Commit: 4f166513df06447888b692cbffbd6cf9db69ec9b
https://github.com/llvm/llvm-project/commit/4f166513df06447888b692cbffbd6cf9db69ec9b
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/variable-template-specialization.cpp
Log Message:
-----------
[CIR] Upstream support for variable template specializations (#151069)
Commit: c3d24217bf00f97155b145ec3d29d272707981df
https://github.com/llvm/llvm-project/commit/c3d24217bf00f97155b145ec3d29d272707981df
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/test/MC/AArch64/armv9.6a-lsui.s
M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
Log Message:
-----------
[AArch64][llvm] Fix disassembly of `ldt{add,set,clr}` instructions using `xzr/wzr` (#152292)
The current disassembly of `ldt{add,set,clr}` instructions when using
`xzr/wzr` is incorrect. The Armv9.6-A Memory Systems specification says:
```
For each of LDT{ADD|SET|CLR}{L}, there is the corresponding STT{ADD|SET|CLR}{L}
alias, for the case where the register selected by the Rt field is XZR or WZR
```
and:
```
LDT{ADD|SET|CLR}{A}{L} is equivalent to LD{ADD|SET|CLR}{A}{L} except that: <..conditions..>
```
The Arm ARM specifies the preferred form of disassembly for these
aliases:
```
STADD <Xs>, [<Xn|SP>]
is equivalent to
LDADD <Xs>, XZR, [<Xn|SP>]
and is always the preferred disassembly.
```
(ref: DDI 0487L.b C6-2317)
This means that `sttadd` is the preferred disassembly for `ldtadd w0,
wzr, [x2]` when Rt is `xzr` or `wzr`.
This change also aligns llvm disassembly with GNU binutils, as shown by
the following examples:
llvm before this change:
```
% cat test.s
stadd w0, [sp]
sttadd w0, [sp]
ldadd w0, wzr, [sp]
ldtadd w0, wzr, [sp]
% llvm-mc-20 -triple aarch64 -mattr=+lse,+lsui test.s
stadd w0, [sp]
ldtadd w0, wzr, [sp]
stadd w0, [sp]
ldtadd w0, wzr, [sp]
```
llvm after this change:
```
% llvm-mc -triple aarch64 -mattr=+lse,+lsui test.s
stadd w0, [sp]
sttadd w0, [sp]
stadd w0, [sp]
sttadd w0, [sp]
```
GCC-15 test:
```
% gas test.s -march=armv8-a+lsui+lse -o test.o
% objdump -dr test.o
0: b82003ff stadd w0, [sp]
4: 192007ff sttadd w0, [sp]
8: b82003ff stadd w0, [sp]
c: 192007ff sttadd w0, [sp]
```
Many thanks to Ezra Sitorus and Alice Carlotti for reporting and
confirming this issue.
Commit: a50a01358172d1dbf0fb9f723116a1f57efd2b4b
https://github.com/llvm/llvm-project/commit/a50a01358172d1dbf0fb9f723116a1f57efd2b4b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 41841e625db8 better
Commit: 75838b818bdbc14fc41f901b4e60821647009cf3
https://github.com/llvm/llvm-project/commit/75838b818bdbc14fc41f901b4e60821647009cf3
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 12dee9d3cd76 better
Commit: 8704ca0fb8fb3c659a4e98e9362cd56d453dcb4b
https://github.com/llvm/llvm-project/commit/8704ca0fb8fb3c659a4e98e9362cd56d453dcb4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
A clang/test/SemaOpenCLCXX/amdgpu-nullptr.clcpp
Log Message:
-----------
[clang][ExprConst] Consider integer pointers of value 0 nullptr (#150164)
When casting a 0 to a pointer type, the IsNullPtr flag was always set to
false, leading to weird results like a pointer with value 0 that isn't a
null pointer.
This caused
```c++
struct B { const int *p;};
template<B> void f() {}
template void f<B{nullptr}>();
template void f<B{fold(reinterpret_cast<int*>(0))}>();
```
to be valid code, since nullptr and (int*)0 aren't equal. This seems
weird and GCC doesn't behave like this.
Commit: dfd506b9480fd99c6ee5498ee2bc7a239b255467
https://github.com/llvm/llvm-project/commit/dfd506b9480fd99c6ee5498ee2bc7a239b255467
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIRV] Fix code quality issues. (#152005)
Fix code quality issues reported by static analysis tool, such as:
- Rule of Three/Five.
- Dereference after null check.
- Unchecked return value.
- Variable copied when it could be moved.
Commit: df0325a3e580613b53803ac03ab1e2bda00f744f
https://github.com/llvm/llvm-project/commit/df0325a3e580613b53803ac03ab1e2bda00f744f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/test/src/__support/OSUtil/linux/vdso_test.cpp
Log Message:
-----------
[libc] add getrandom vDSO symbol (#151630)
Commit: 8de481913353a1e37264687d5cc73db0de19e6cc
https://github.com/llvm/llvm-project/commit/8de481913353a1e37264687d5cc73db0de19e6cc
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
[Flang] Search flang_rt in clang_rt path (#151954)
The clang/flang driver has two separate systems for find the location of
clang_rt (simplified):
* `getCompilerRTPath()`, e.g. `../lib/clang/22/lib/windows`,
used when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=0`
* `getRuntimePath()`, e.g. `../lib/clang/22/lib/x86_64-pc-windows-msvc`,
used when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=1`
To simplify the search path, Flang-RT normally assumes only
`getRuntimePath()`, i.e. ignoring `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR`
and always using the `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=1` mechanism.
There is an exception for Apple Darwin triples where `getRuntimePath()`
returns nothing. The flang-rt/compiler-rt CMake code for library
location also ignores `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` but uses the
`LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=0` path instead. Since only
`getRuntimePath()` is automatically added to the linker command line,
this patch explicitly adds `getCompilerRTPath()` to the path when
linking flang_rt.
Fixes #151031
Commit: f092b820d174f2b17713cf336ac98108e59d334a
https://github.com/llvm/llvm-project/commit/f092b820d174f2b17713cf336ac98108e59d334a
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[OFFLOAD] Fix typo in assert (#152316)
Fixes an issue introduced by PR https://github.com/llvm/llvm-project/pull/143491.
Commit: a9dacb10fe7db908f1305757820497de65626a46
https://github.com/llvm/llvm-project/commit/a9dacb10fe7db908f1305757820497de65626a46
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Add -O flag to tco (#151869)
At the moment, there is no established way to emit LLVM IR before
optimization in LLVM. tco can partially does, but the optimization level
is fixed to 2. This patch adds -O flag to tco.
Note that this is not completely equivalent to the frontend option. tco
does not accept -O flag without numbers, and the default optimization
level is not 0 but 2.
Commit: 1d23005b8e2ef3494d9beb1812205bd1386e77fc
https://github.com/llvm/llvm-project/commit/1d23005b8e2ef3494d9beb1812205bd1386e77fc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/critical-global-conflict.f90
M flang/test/Semantics/OpenMP/critical_within_default.f90
Log Message:
-----------
[flang][OpenMP] Insert CRITICAL construct names into global scope (#152004)
They were inserted in the current scope.
OpenMP spec (all versions):
The names of critical constructs are global entities of the program. If
a name conflicts with any other entity, the behavior of the program is
unspecified.
Commit: bd9117c569678e7af042074cbcaba860ab6eefb3
https://github.com/llvm/llvm-project/commit/bd9117c569678e7af042074cbcaba860ab6eefb3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Move platform specific test report titles to python
This patch moves the platform specific test report titles to the
generate_test_report_github.py script. This means that the functions in
the monolithic-* scripts are exactly the same now and can be moved into
a separate script that can be shared between the two scripts.
Reviewers: DavidSpickett, cmtice, lnihlen, dschuff, Keenuts, gburgessiv
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/152198
Commit: 71dbf1492bada3a93d49f681c6a8b71072a61d71
https://github.com/llvm/llvm-project/commit/71dbf1492bada3a93d49f681c6a8b71072a61d71
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
Log Message:
-----------
[clang][bytecode][NFC] Remove Descriptor::MoveFn (#152317)
We don't use this anymore.
Commit: c9eff91ef1c7af02e68a4897c476dab0afbfff77
https://github.com/llvm/llvm-project/commit/c9eff91ef1c7af02e68a4897c476dab0afbfff77
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/check-ci.yml
Log Message:
-----------
[CI][Github] Only run CI Checks Workflow on Push for Main
Currently the check-ci workflow runs on the push event as well
regardless of the branch which means the workflow runs twice on stacked
PRs. Not a big deal, but a bit weird to see the same workflow running
twice in a PR.
Commit: b1482aa91b16e46cfed46cb4c4c41cfe34dfd434
https://github.com/llvm/llvm-project/commit/b1482aa91b16e46cfed46cb4c4c41cfe34dfd434
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down cast in __tree::operator= (#152285)
This has been introduced by #151304. This problem is diagnosed by UBSan
with optimizations enabled. Since we run UBSan only with optimizations
disabled currently, this isn't caught in our CI. We should look into
enabling UBSan with optimizations enabled to catch these sorts of issues
before landing a patch.
Commit: 0e3a17c70d3f8bec3495a3331e134e361bb00928
https://github.com/llvm/llvm-project/commit/0e3a17c70d3f8bec3495a3331e134e361bb00928
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
Log Message:
-----------
[libc][math] Fix gcc buildbot failure (#152320)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 832ceda0c05f6db440a220860b3006f967f3bfd0
https://github.com/llvm/llvm-project/commit/832ceda0c05f6db440a220860b3006f967f3bfd0
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[SystemZ] Avoid modifying IR in mcount instrumentation. (#152298)
This PR changes how the call to `mcount` is inserted in `emitPrologue`.
It is now emitted as an external symbol rather than a global variable,
preventing potentially unexpected IR modification.
Fixes: https://github.com/llvm/llvm-project/issues/152238
Commit: d8c43e6236087ba754a5466203e80d3b59389119
https://github.com/llvm/llvm-project/commit/d8c43e6236087ba754a5466203e80d3b59389119
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github][CI] Add python-is-python3 to CI container
This patch adds the python-is-python3 package to the CI container.
Windows by default uses python instead of python3, which prevents
code sharing without additionaly hackery. This should fix that and
allow for #152199 to land.
Commit: 4784ce9ebcf60274985b8fe9bf4d4eb8c734ce38
https://github.com/llvm/llvm-project/commit/4784ce9ebcf60274985b8fe9bf4d4eb8c734ce38
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Check an external user before trying to address it in debug dump, NFC
Commit: 056608a2821e34752b1e47f73a8d544b5c9ad787
https://github.com/llvm/llvm-project/commit/056608a2821e34752b1e47f73a8d544b5c9ad787
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFC] Remove temporary assert from CIndex OpenACCBindClause
This was left over from implementation and shouldn't have been left in,
but in the end 'bind' doesn't require any additional work here, so this
patch removes the assert.
Commit: 3686e5b52f2a02c1c19050479d1dd0fd9d1dd4f8
https://github.com/llvm/llvm-project/commit/3686e5b52f2a02c1c19050479d1dd0fd9d1dd4f8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Eliminate (_)Py_IsFinalizing (NFC) (#152226)
Looking at the implementation of `pylifecycle.c` in cpython, finalizing
and initialized are set at the same time. Therefore we can eliminate the
call to `Py_IsFinalizing` and only check `Py_IsInitialized`, which is
part of the stable API.
I converted the check to an assert and confirmed that during my test
suite runs, we never got into the if block. Because we check before
taking the lock, there is an opportunity for a race, but that exact same
race exists with the original code.
Commit: 8e57689c34f0b0af70f9aaf009c3be0e85d90dda
https://github.com/llvm/llvm-project/commit/8e57689c34f0b0af70f9aaf009c3be0e85d90dda
Author: Daniel Henrique Barboza <dbarboza at ventanamicro.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
M llvm/test/CodeGen/RISCV/misched-mem-clustering.mir
A llvm/test/CodeGen/RISCV/misched-store-clustering.ll
Log Message:
-----------
[RISCV] add load/store misched/PostRA subtarget features (#149409)
Some processors benefit more from store clustering than load clustering,
and vice-versa, depending on factors that are exclusive to each one
(e.g. macrofusions implemented).
Likewise, certain optimizations benefits more from misched clustering
than postRA clustering. Macrofusions are again an example: in a
processor with store pair macrofusions, like the veyron-v1, it is
observed that misched clustering increases the amount of macrofusions
more than postRA clustering. This of course isn't necessarily true for
other processors, but it shows that processors can benefit from a more
fine grained control of clustering mutations, and each one is able to do
it differently.
Add 4 new subtarget features that deprecates the existing
riscv-misched-load-store-clustering and
riscv-postmisched-load-store-clustering
options:
- disable-misched-load-clustering and disable-misched-store-clustering:
disable load/store clustering during misched;
- disable-postmisched-load-clustering and
disable-postmisched-store-clustering:
disable load/store clustering during PostRA.
Note that the new subtarget features disables specific stages of the
default
clustering settings. The default per se (load and store clustering for
both
misched and PostRA) is left untouched.
Disable all clustering but misched-store-clustering for the veyron-v1
processor
using the new features.
Commit: ef9834c5e846f794ddee4c0a530e280da0c8ad67
https://github.com/llvm/llvm-project/commit/ef9834c5e846f794ddee4c0a530e280da0c8ad67
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/test/tools/llvm-objdump/MachO/bad-trie.test
Log Message:
-----------
[llvm-objdump] Fix typo in error messages (#152234)
Some error messages were spelling "children" as "childern".
Commit: e232f05dfd0e2bc0eb060c8a7e6f5c946395358d
https://github.com/llvm/llvm-project/commit/e232f05dfd0e2bc0eb060c8a7e6f5c946395358d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
Log Message:
-----------
[RISCV] Add packw+packh isel pattern for unaligned loads on RV64. (#152159)
This is similar to an existing pattern from RV32 with the
simpliflication proposed by #152045. Instead of pack we need to use
packw and we need to know that the upper 32 bits are being ignored since
packw sign extends from bit 31.
The use of allBinOpWUsers prevents tablegen from automatically
reassociating the pattern so we need to do it manually. Tablegen is
still able to commute operands though.
Commit: 57045a137f97fe4e05d5d9581c0b2e4fd6c729e1
https://github.com/llvm/llvm-project/commit/57045a137f97fe4e05d5d9581c0b2e4fd6c729e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Avoid repeated calls to WideVT.getScalarSizeInBits() in DAGCombiner::mergeTruncStores. NFC (#152231)
We already have a variable, WideNumBits, that contains the same
information. Use it and delay the creation of WideVT until we really
need it.
Commit: 09146a21a5a7bbea19b5203d585682de519a213c
https://github.com/llvm/llvm-project/commit/09146a21a5a7bbea19b5203d585682de519a213c
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/LTO/LTOModule.cpp
Log Message:
-----------
[LegacyLTO] Emit the error message that was silently dropped (#152172)
Using LLVMContext to emit the error from `TargetRegistry::lookupTarget`
that was silently ignored and not propagated. This allows user to better
identify the kind of error occured.
rdar://157542119
Commit: 4c9bb656393559437d72ac6d0b17c421dd5463bb
https://github.com/llvm/llvm-project/commit/4c9bb656393559437d72ac6d0b17c421dd5463bb
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/complex-arithmetic.cpp
A clang/test/CIR/CodeGen/complex-compound-assignment.cpp
Log Message:
-----------
[CIR] Plus & Minus CompoundAssignment support for ComplexType (#150759)
This change adds support for Plus & Minus CompoundAssignment for
ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: ab4090981012d4be142d0291aae7ed31ecf3ca9b
https://github.com/llvm/llvm-project/commit/ab4090981012d4be142d0291aae7ed31ecf3ca9b
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-nest-param.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
Log Message:
-----------
Implement the trampoline intrinsics and nest parameter for AIX. (#149388)
We can expand the init intrinsic to create a descriptor for the nested
procedure by combining the entry point and TOC pointer from the global
descriptor with the nest argument. The normal indirect call sequence
then calls the nested procedure through the descriptor like all other
calls. Patch also implements support for a nest parameter by mapping it
to gpr 11.
Commit: 180d162ca2b08f24702235cb6ce4b8be714efad8
https://github.com/llvm/llvm-project/commit/180d162ca2b08f24702235cb6ce4b8be714efad8
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
Log Message:
-----------
[analyzer] Remove impossible BugType from CStringChecker (#152163)
CStringChecker had an AdditionOverflow bug type which was intended for a
situation where the analyzer concludes that the addition of two
size/length values overflows `size_t`.
I strongly suspect that the analyzer could emit bugs of this type in
certain complex corner cases (e.g. due to inaccurate cast modeling), but
these reports would be all false positives because in the real world the
sum of two size/length values is always far below SIZE_MAX. (Although
note that there was no test where the analyzer emitted a bug with this
type.)
To simplify the code (and perhaps eliminate false positives), I
eliminated this bug type and replaced code that emits it by a simple
`addSink()` call (because we still want to get rid of the execution
paths where the analyzer has invalid assumptions).
Commit: 01b0fe3104d633d67d33a963142a54cd500e6b3c
https://github.com/llvm/llvm-project/commit/01b0fe3104d633d67d33a963142a54cd500e6b3c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI][NFC] Explicitly add libcxx/libcxxabi/libunwind to excludes (#152210)
This patch adds libcxx/libcxxabi/libunwind to the excludes list in
compute_projects.py for both Windows and MacOS. Neither of these
platforms have ever built the runtimes as the scripts do not have
support for it. Explicitly disable them so that compute_projects_test.py
is more consistent.
Commit: c548c47476ee3f4578db2ca4f82e097a728b5bff
https://github.com/llvm/llvm-project/commit/c548c47476ee3f4578db2ca4f82e097a728b5bff
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
Log Message:
-----------
[clang] Fix crash in dynamic_cast final class optimization (#152076)
This corrects the codegen for the final class optimization to
correct handle the case where there is no path to perform the
cast, and also corrects the codegen to handle ptrauth protected
vtable pointers.
As part of this fix we separate out the path computation as
that makes it easier to reason about the failure code paths
and more importantly means we can know what the type of the
this object is during the cast.
The allows us to use the GetVTablePointer interface which
correctly performs the authentication operations required when
pointer authentication is enabled. This still leaves incorrect
authentication behavior in the multiple inheritance case but
currently the optimization is disabled entirely if pointer
authentication is enabled.
Fixes #137518
Commit: f538f1ad972bd472104873869fd986469a53c57e
https://github.com/llvm/llvm-project/commit/f538f1ad972bd472104873869fd986469a53c57e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
Log Message:
-----------
[libc] warn when depending on public entrypoints (#146163)
Add a cmake warning when an entrypoint or object library depends on a
public entrypoint.
Commit: 25bf86fedeb0dd46f4d3b6a434ef02e4e37c89f5
https://github.com/llvm/llvm-project/commit/25bf86fedeb0dd46f4d3b6a434ef02e4e37c89f5
Author: Steven Perron <stevenperron at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
A llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/ImplicitBinding.ll
Log Message:
-----------
[SPIRV] Add pass to replace gethandlefromimplicitbinding (#146756)
The HLSL frontend generates call to the intrinsic
@llvm.spv.resource.handlefromimplicitbinding to be able to access a
resource where the set and binding were not explicitly given in the
source code. Determining the correct set and binding cannot be done
during Clang's codegen or earlier because in DXIL, they must first
remove resource that are not accessed before assigning binding locations
to the resource without an explicit binding.
We will follow their lead.
This is a change from DXC, where implicit binding for SPIR-V are
assigned before optimizations.
See https://github.com/llvm/wg-hlsl/pull/309
Commit: b291d02a93bcd24c34cdc0febc327270dc9ceb0c
https://github.com/llvm/llvm-project/commit/b291d02a93bcd24c34cdc0febc327270dc9ceb0c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFCI] Add extra data to firstprivate recipe AST node
During implementation I found that I need some additional data in the
AST node for codegen, so this patch adds the second declaration
reference.
Commit: bb2642fab70fb4d59e431e01e319dcf6b90d88d8
https://github.com/llvm/llvm-project/commit/bb2642fab70fb4d59e431e01e319dcf6b90d88d8
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Fix race condition when changing lldb-dap arguments (#151828)
# Problem
When the user changes lldb-dap's arguments (e.g. path), there is a race
condition, where the new lldb-dap process could be started first and
have set the extension's `serverProcess` and `serverInfo` according to
the new process, while the old lldb-dap process exits later and wipes
out these two fields.
Consequences:
1. This causes `getServerProcess()` to return `undefined` when it should
return the new process.
2. This also causes wrong behavior when starting the next debug session
that a new lldb-dap process will be started and the old not reused nor
killed.
# Fix
When wiping the two fields, check if `serverProcess` equals to the
process captured by the handler. If they equal, wipe the fields. If not,
then the fields have already been updated (either new process has
started, or the fields were already wiped out by another handler), and
so the wiping should be skipped.
Commit: ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
https://github.com/llvm/llvm-project/commit/ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Improve C++20 compatibility of private/firstprivate test (#152233)
Under C++17, `DeletedCopy` and `DefaultedCopy` in the test
`clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp`
are eligible for aggregate initialization. Under C++20 and up, that is
no longer the case. Therefore, an explicit constructor must be declared
to avoid additional diagnostics which the test does not expect.
This test was failing in our downstream testing where our toolchain uses
C++20 as the default dialect.
See this reduced example for more details:
https://godbolt.org/z/46oErYT43
Commit: 3f0c180ca07faf536d2ae0d69ec044fcd5a78716
https://github.com/llvm/llvm-project/commit/3f0c180ca07faf536d2ae0d69ec044fcd5a78716
Author: Jann Horn <jannh at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/test/DebugInfo/X86/DW_AT_alloc_type.ll
Log Message:
-----------
[DebugInfo][DWARF] Add heapallocsite information (#132073)
LLVM currently stores heapallocsite information in CodeView debuginfo,
but not in DWARF debuginfo. Plumb it into DWARF as an LLVM-specific
extension.
heapallocsite debug information is useful when it is combined with
allocator instrumentation that stores caller addresses; I've used a
previous version of this patch for:
- analyzing memory usage by object type
- analyzing the distributions of values of class members
Other possible uses might be:
- attributing memory access profiles (for example, on Intel CPUs, from
PEBS records with Linear Data Address) to object types or specific
object members
- adding type information to crash/ASAN reports
Commit: 51e825dbfbe67ebad88c1912452db8fac0489439
https://github.com/llvm/llvm-project/commit/51e825dbfbe67ebad88c1912452db8fac0489439
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Target/StackFrameRecognizer.cpp
Log Message:
-----------
[lldb] Use const ref for looping over frame recognizers (NFC) (#152334)
Commit: 0a23b22d1d43b2816e67aa8c328365b9bf114c74
https://github.com/llvm/llvm-project/commit/0a23b22d1d43b2816e67aa8c328365b9bf114c74
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Properly implement DoubleAPFloat::roundToIntegral
The previous implementation did not correctly handle double-doubles like
0x1p100 + 0x1p1 as the low order component would need more than a
106-bit significand to represent.
Commit: 477a65a051ce151895193f8dede1262fdc251132
https://github.com/llvm/llvm-project/commit/477a65a051ce151895193f8dede1262fdc251132
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/lib/TextAPI/Architecture.cpp
M llvm/lib/TextAPI/TextStubCommon.cpp
Log Message:
-----------
[TextAPI] Seperate out Arch name from enum label, NFCI (#152332)
The enum label e.g. `AK_arm64` is often the same as the architecture
name, but doesn't have to be. Seperate it out.
Commit: 503c0908c3450d228debd64baecf41df8f58476e
https://github.com/llvm/llvm-project/commit/503c0908c3450d228debd64baecf41df8f58476e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/wctype/iswalpha.cpp
M libc/src/wctype/iswalpha.h
M libc/test/src/wctype/iswalpha_test.cpp
Log Message:
-----------
[libc] fix iswalpha signiture and test (#152343)
The iswalpha function is only working for characters in the ascii range
right now, which isn't ideal. Also it was returning a bool when the
function is supposed to return an int.
Commit: 266a1a819a4ed8b2a12cb47f088197e4dd038a54
https://github.com/llvm/llvm-project/commit/266a1a819a4ed8b2a12cb47f088197e4dd038a54
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
Log Message:
-----------
[clang-tools-extra][test] Fix missed %T removals from #151538 (#152345)
These tests are failing on our bots presumably due to these missing %T
replacements.
Commit: a1209d868632b8aea10450cd2323848ab0b6776a
https://github.com/llvm/llvm-project/commit/a1209d868632b8aea10450cd2323848ab0b6776a
Author: Andrew Lazarev <alazarev at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
A compiler-rt/test/ubsan_minimal/TestCases/misalignment.cpp
A compiler-rt/test/ubsan_minimal/TestCases/null.cpp
Log Message:
-----------
[ubsan_minimal] Allow UBSan handler from Minimal runtime to accept arguments (#152192)
+ Changed type_mismatch minimal handler to accept and print pointer.
This will allow to distinguish null pointer use, misallignment and
incorrect object size.
The change increases binary size by ~1% and has almost no performance
impact.
Fixes #149943
Commit: a418fa7cdcf4f334a1955389fcec483ea2c77c44
https://github.com/llvm/llvm-project/commit/a418fa7cdcf4f334a1955389fcec483ea2c77c44
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Host.h
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[win][aarch64] Add support for detecting the Host CPU on Arm64 Windows (#151596)
Uses the `CP 4000` registry keys under
`HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\*` to get the
Implementer and Part, which is then provided to a modified form of
`getHostCPUNameForARM` to map to a CPU.
On my local Surface Pro 11 `llc --version` reports:
```
> .\build\bin\llc.exe --version
LLVM (http://llvm.org/):
LLVM version 22.0.0git
Optimized build with assertions.
Default target: aarch64-pc-windows-msvc
Host CPU: oryon-1
```
Commit: 0e0ea714f3079341b9e11eb478eb85400423ee7c
https://github.com/llvm/llvm-project/commit/0e0ea714f3079341b9e11eb478eb85400423ee7c
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/docs/resources/lldbdap.md
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Add VS Code commands for high level debug workflow (#151827)
This allows other debugger extensions to leverage the `lldb-dap`
extension's settings and logic (e.g. "Server Mode").
Other debugger extensions can invoke these commands to resolve
configuration, create adapter descriptor, and get the `lldb-dap` process
for state tracking, additional interaction, and telemetry.
VS Code commands added:
* `lldb-dap.resolveDebugConfiguration`
* `lldb-dap.resolveDebugConfigurationWithSubstitutedVariables`
* `lldb-dap.createDebugAdapterDescriptor`
* `lldb-dap.getServerProcess`
Commit: 35bd40d321ccb2e646c112418ef32318dd0e040b
https://github.com/llvm/llvm-project/commit/35bd40d321ccb2e646c112418ef32318dd0e040b
Author: Daniel Henrique Barboza <dbarboza at ventanamicro.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/macro-fusions.mir
Log Message:
-----------
[RISCV] add more generic macrofusions (#151140)
These are some macrofusions that are used internally in Ventana in an
yet not upstreamed processor. Figured it would be good to contribute
them ahead of the processor to allow the community to also use them in
their own processors, while also alleaviting our own downstream upkeep.
The macrofusions being added are, considering load =
lb,lh,lw,ld,lbu,lhu,lwu:
- bfext (slli+srli)
- auipc+load
- lui+load
- add(.uw)+load
- addi+load
- shXadd(.uw)+load, where X=1,2,3
Commit: 32161e9de36a747dde22a06c1c99a6091eb2920b
https://github.com/llvm/llvm-project/commit/32161e9de36a747dde22a06c1c99a6091eb2920b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
A llvm/test/CodeGen/AMDGPU/no-folding-imm-to-inst-with-fi.ll
Log Message:
-----------
[AMDGPU] Do not fold an immediate into instructions with frame indexes (#151263)
Do not fold an immediate into an instruction that already has a frame
index operand. A frame index could possibly turn out to be another immediate.
Fixes: SWDEV-536263
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 3404c0b01302f1c4df0f9e7e61d22dc6f44674db
https://github.com/llvm/llvm-project/commit/3404c0b01302f1c4df0f9e7e61d22dc6f44674db
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
Log Message:
-----------
Slp basic test (#152355)
Add a basic test for SLPVectorizer to make sure that upcoming
refactoring patches don't break anything. Also, record a test for a
missed opportunity.
Commit: 80cf436a27be535b93fa453faa11c983ea59d444
https://github.com/llvm/llvm-project/commit/80cf436a27be535b93fa453faa11c983ea59d444
Author: lntue <lntue at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/test/src/stdfix/BitsFxTest.h
Log Message:
-----------
[libc] Fix undefined behavior in BitsFxTest.h (#152347)
Commit: 25d1285eecbab731eaf418c8aab44e4eb5f9e538
https://github.com/llvm/llvm-project/commit/25d1285eecbab731eaf418c8aab44e4eb5f9e538
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Replace single-entry VPPhis with their incoming values.
Replace trivial, single-entry VPPhis with their incoming values,
Commit: 092388171f3f6c40b9244cc2ffbc89ce266680fd
https://github.com/llvm/llvm-project/commit/092388171f3f6c40b9244cc2ffbc89ce266680fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Introduce m_[Specific]ICmp matcher (#151540)
Commit: 3692c73ce415618351640497232cc07a8780d4c2
https://github.com/llvm/llvm-project/commit/3692c73ce415618351640497232cc07a8780d4c2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Enable scalable vectorization of linalg.unpack (#149293)
This patch updates `vectorizeAsTensorUnpackOp` to support scalable
vectorization by requiring user-specified vector sizes for the _read_ operation
(rather than the _write_ operation) in `linalg.unpack`.
Conceptually, `linalg.unpack` consists of these high-level steps:
* **Read** from the source tensor using `vector.transfer_read`.
* **Transpose** the read value according to the permutation in the
`linalg.unpack` op (via `vector.transpose`).
* **Re-associate** dimensions of the transposed value, as specified by the op
(via `vector.shape_cast`)
* **Write** the result into the destination tensor via
`vector.transfer_write`.
Previously, the vector sizes provided by the user were interpreted as
write-vector sizes. These were used to:
* Infer read-vector sizes using the `inner_tiles` attribute of the unpack op.
* Deduce vector sizes for the transpose and shape cast operations.
* Ultimately determine the vector shape for the write.
However, this logic breaks when one or more tile sizes are dynamic. In such
cases, `vectorizeUnPackOpPrecondition` fails, and vectorization is rejected.
This patch switches the contract: users now directly specify the
"read-vector-sizes", which inherently encode all inner tile sizes - including
dynamic ones. It becomes the user's responsibility to provide valid sizes.
In practice, since `linalg.unpack` is typically constructed, tiled, and
vectorized by the same transformation pipeline, the necessary
"read-vector-sizes" should be recoverable.
Commit: 59231115b084474287fa85c8fc20697646373cc3
https://github.com/llvm/llvm-project/commit/59231115b084474287fa85c8fc20697646373cc3
Author: Anna Thomas <anna at azul.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
Log Message:
-----------
[Loads] Precommit tests for #149551. NFC
Add these tests that currently require predicated loads due to variable
start SCEV.
Commit: 0491d8bda73f88f5faff8523613f3dce19080b15
https://github.com/llvm/llvm-project/commit/0491d8bda73f88f5faff8523613f3dce19080b15
Author: David Green <david.green at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-ext.ll
Log Message:
-----------
[AArch64] Treat single-vector ext as legal shuffle masks. (#151909)
We can generate ext from shuffles like <2, 3, 0, 1> from a single vector
source. Add handling to isShuffleMaskLegal to allow DAG combines to
optimize to it.
Commit: cae7bebcaa41e4c459e973b9688215f5a57bcb56
https://github.com/llvm/llvm-project/commit/cae7bebcaa41e4c459e973b9688215f5a57bcb56
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang-rt] Runtime implementation of extended intrinsic function SECNDS() (#152021)
Until the compiler part is fully hooked up via
https://github.com/llvm/llvm-project/pull/151878, tested this using
`external`:
```
external secnds
real s1, s2
s1 = secnds(0.0)
print *, "Seconds from midnight:", s1
call sleep(2)
s2 = secnds(s1)
print *, "Seconds from s1", s2
print *, "Seconds from midnight:", secnds(0.0)
end
```
Commit: 334d0be2d496af6c511d2efb183b862e7d911329
https://github.com/llvm/llvm-project/commit/334d0be2d496af6c511d2efb183b862e7d911329
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
Log Message:
-----------
[AMDGPU] Support 64-bit LDS atomic fadd on gfx1250 (#152368)
Commit: c2eddec4ff42eca8a93e3f8a0531dfb6e60a61ca
https://github.com/llvm/llvm-project/commit/c2eddec4ff42eca8a93e3f8a0531dfb6e60a61ca
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
Log Message:
-----------
[AMDGPU] System scope atomics are emulated over PCIe in gfx1250 (#152369)
HW will emulate unsupported PCIe atomics via CAS loop, we do not need to
expand these anymore.
Commit: 26dde15ed4f1310fa5df3baf03d802ea1cf009b8
https://github.com/llvm/llvm-project/commit/26dde15ed4f1310fa5df3baf03d802ea1cf009b8
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenACC/sub-array.cpp
Log Message:
-----------
[OpenACC] Add warning for VLAs in a private/firstprivate clause
private/firstprivate typically do copy operations, however copying a VLA
isn't really possible. This patch introduces a warning to alert the
person that this copy isn't happening correctly.
As a future direction, we MIGHT consider doing additional work to make
sure they are initialized/copied/deleted/etc correctly.
Commit: 5a47a1828abeefe72c82f732b446cc319ef65a31
https://github.com/llvm/llvm-project/commit/5a47a1828abeefe72c82f732b446cc319ef65a31
Author: cmtice <cmtice at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libcxx] Update testing documentation about CI container images. (#149192)
Add information to the libcxx testing documentation, about the names of
the new CI libcxx runner sets, their current values, and how to change
the values or the runner set being used.
Commit: d1b6ce50dffcc70cd1610515527b4645b1136d1c
https://github.com/llvm/llvm-project/commit/d1b6ce50dffcc70cd1610515527b4645b1136d1c
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
[AMDGPU] gfx1250 has fixed GETPC bug and also extended VA to 57 bits (#152373)
Commit: 381623eb11cefd3ac21a36d028ba4832643010ef
https://github.com/llvm/llvm-project/commit/381623eb11cefd3ac21a36d028ba4832643010ef
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port #151228: BFloat16 (#152377)
Commit: 351b38f266718d862aa122e56667d6582625c918
https://github.com/llvm/llvm-project/commit/351b38f266718d862aa122e56667d6582625c918
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
Log Message:
-----------
[AMDGPU] Mark address space cast from private to flat as divergent if target supports globally addressable scratch (#152376)
Globally addressable scratch is a new feature introduced in gfx1250.
However, this feature changes how scratch space is mapped into the flat
aperture, making address space casts from private to flat no longer
uniform.
Commit: 184821b63d769e48d8b89f70e8f7a5adbe429fae
https://github.com/llvm/llvm-project/commit/184821b63d769e48d8b89f70e8f7a5adbe429fae
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 DS MC tests. NFC. (#152378)
Commit: 87404eaf0445c7e67091e4e71d6c1cfa6fd0edd4
https://github.com/llvm/llvm-project/commit/87404eaf0445c7e67091e4e71d6c1cfa6fd0edd4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Fix undefined behavior in DWARFExpressionTest
RegisterInfo is a trivial class and doesn't default initialize its
members. Thanks Alex for getting to the bottom of this.
Commit: c3103068b713dbed8d8ac75b165086a1a19c89e9
https://github.com/llvm/llvm-project/commit/c3103068b713dbed8d8ac75b165086a1a19c89e9
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A llvm/test/MC/AMDGPU/gfx1250_asm_features.s
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop2_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3cx.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vsample_err.s
M llvm/test/MC/AMDGPU/gfx1250_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp8.txt
Log Message:
-----------
[AMDGPU] Add more gfx1250 MC tests. NFC. (#152388)
These are already working, but left downstream.
Commit: 83e5a99ff6a5662b6e7fd6a0f9f21d70458022c2
https://github.com/llvm/llvm-project/commit/83e5a99ff6a5662b6e7fd6a0f9f21d70458022c2
Author: hidekisaito <hidekido at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/test/lit.cfg
M offload/test/sanitizer/use_after_free_2.c
A offload/test/sanitizer/use_after_free_3.c
Log Message:
-----------
[AMDGPU][Offload] Enable memory manager use for up to ~3GB allocation size in omp_target_alloc (#151882)
Enables AMD data center class GPUs to use memory manager memory pooling
up to 3GB allocation by default, up from the "1 << 13" threshold that
all plugin-nextgen devices use.
Commit: 66392a8d8d81e66ec09452d35c85147dafb07571
https://github.com/llvm/llvm-project/commit/66392a8d8d81e66ec09452d35c85147dafb07571
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
Log Message:
-----------
[AMDGPU] Add XNACK_STATE_PRIV and _MASK gfx1250 registers (#152374)
Co-authored-by: Pierre Vanhoutryve <pierre.vanhoutryve at amd.com>
Co-authored-by: Pierre Vanhoutryve <pierre.vanhoutryve at amd.com>
Commit: 281e6d2cc498d05f3ca601e3b1d595420e7ed827
https://github.com/llvm/llvm-project/commit/281e6d2cc498d05f3ca601e3b1d595420e7ed827
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/CMakeLists.txt
R mlir/cmake/modules/FindLevelZero.cmake
A mlir/cmake/modules/FindLevelZeroRuntime.cmake
M mlir/lib/ExecutionEngine/CMakeLists.txt
A mlir/lib/ExecutionEngine/LevelZeroRuntimeWrappers.cpp
M mlir/test/CMakeLists.txt
A mlir/test/Integration/GPU/LevelZero/gpu-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-addi64-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-memcpy-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-reluf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/lit.local.cfg
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[mlir][ExecutionEngine] Add LevelZeroRuntimeWrapper. (#151038)
Adds LevelZeroRuntime wrapper and tests.
Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>
Co-authored-by: Nishant Patel <nishant.b.patel at intel.com>
---------
Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>
Co-authored-by: Nishant Patel <nishant.b.patel at intel.com>
Commit: d54aa36146297ddfb764394c4f70b0758b75becd
https://github.com/llvm/llvm-project/commit/d54aa36146297ddfb764394c4f70b0758b75becd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/utils.sh
Log Message:
-----------
[CI] Refactor monolithic-* scripts to use common utils.sh
This patch refactors big chunks of the common functionality shared
between monolithic-linux.sh and monolithic-windows.sh to a separate
script, utils.sh, that is then sourced in both of the files. This makes
it a bit easier to maintain the scripts.
Platform differences should not be a large deal for the setup here as we
are using bash as the shell on both Linux and Windows.
Reviewers:
lnihlen, gburgessiv, Keenuts, DavidSpickett, dschuff, cmtice, Endilll
Reviewed By: DavidSpickett, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/152199
Commit: 885ddf4a3a4948b67ce5e792a97bf5148e8b479e
https://github.com/llvm/llvm-project/commit/885ddf4a3a4948b67ce5e792a97bf5148e8b479e
Author: lntue <lntue at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/rounding_mode.h
Log Message:
-----------
[libc] Fix constexpr FPUtils rounding_mode.h functions. (#152342)
Commit: d897355876287e410d35f1f0ac74d79955d50dd4
https://github.com/llvm/llvm-project/commit/d897355876287e410d35f1f0ac74d79955d50dd4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A flang/include/flang/Lower/CUDA.h
R flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Set the allocator of derived type component after allocation (#152379)
- Move the allocator index set up after the allocate statement otherwise
the derived type descriptor is not allocated.
- Support array of derived-type with device component
Commit: f61526971f9c62118090443c8b97fab07ae9499f
https://github.com/llvm/llvm-project/commit/f61526971f9c62118090443c8b97fab07ae9499f
Author: Andrew Lazarev <alazarev at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
R llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll
Log Message:
-----------
Revert "[WebAssembly] Constant fold wasm.dot" (#152382)
Reverts llvm/llvm-project#149619
It breaks ubsan bot:
https://lab.llvm.org/buildbot/#/builders/25/builds/10523
Earlier today the failure was hidden by another breakage that is fixed
now.
Commit: b296ea9c14af60f9b4faa26a39ecc52c1762c794
https://github.com/llvm/llvm-project/commit/b296ea9c14af60f9b4faa26a39ecc52c1762c794
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] s_get_shader_cycles_u64 gfx1250 instruction (#152390)
It is the same as reading SHADER_CYCLES_LO and SHADER_CYCLES_HI
but with a single instruction.
Commit: 09dbdf651470bb4c9e5b81986a47f7c495285fbe
https://github.com/llvm/llvm-project/commit/09dbdf651470bb4c9e5b81986a47f7c495285fbe
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][Dependency Scanning] Move Module Timestamp Update After Compilation Finishes (#151774)
When two threads are accessing the same `pcm`, it is possible that the
reading thread sees the timestamp update, while the file on disk is not
updated.
This PR moves timestamp update from `writeAST` to
`compileModuleAndReadASTImpl`, so we only update the timestamp after the
file has been committed to disk.
rdar://152097193
Commit: e83abd774a4f7c09db26b886f8c686cdb373d1f7
https://github.com/llvm/llvm-project/commit/e83abd774a4f7c09db26b886f8c686cdb373d1f7
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/__support/wchar/string_converter.h
M libc/src/__support/wchar/wcsnrtombs.h
M libc/test/src/__support/wchar/string_converter_test.cpp
Log Message:
-----------
[libc] Template StringConverter pop function to avoid duplicate code (#152204)
Addressed TODO to template the StringConverter pop functions to have a
single implementation (combine popUTF8 and popUTF32 into a single
templated pop function)
Commit: 7d3134f6cc59f47460646a13abcf824bae05d772
https://github.com/llvm/llvm-project/commit/7d3134f6cc59f47460646a13abcf824bae05d772
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
R flang/include/flang/Lower/CUDA.h
A flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
R flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
Revert "[flang][cuda] Set the allocator of derived type component after allocation" (#152402)
Reverts llvm/llvm-project#152379
Buildbot failure
https://lab.llvm.org/buildbot/#/builders/207/builds/4905
Commit: a7f1702f2c5d4601de962cde14af35c313c16902
https://github.com/llvm/llvm-project/commit/a7f1702f2c5d4601de962cde14af35c313c16902
Author: Florian Mayer <fmayer at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/test/CodeGen/cfi-icall-generalize.c
Log Message:
-----------
[NFC] [CFI] correct comment in test (#152399)
It incorrectly stated that `const char*` gets normalized to ptr, while
it should say that `char*` does.
Commit: c4846d29cdefc5fb6858ccf0378a8103b659016b
https://github.com/llvm/llvm-project/commit/c4846d29cdefc5fb6858ccf0378a8103b659016b
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
Log Message:
-----------
[libc] Move CharacterConverter template specialization to cpp file (#152405)
Fixes build errors caused by #152204
Commit: acb5d0c211f72ba370bfeea7e5bf3b108f84895a
https://github.com/llvm/llvm-project/commit/acb5d0c211f72ba370bfeea7e5bf3b108f84895a
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[NFC][HLSL] Replace uses of `getResourceName`/`printEnum` (#152211)
Introduce the `enumToStringRef` enum into `ScopedPrinter.h` that
replicates `enumToString` behaviour, expect that instead of returning a
hex value string, it just returns an empty string. This allows us to
return a StringRef and easily check if an invalid enum was provided
based on the StringRef size
This then uses `enumToStringRef` to remove the redundant
`getResourceName` and `printEnum` functions.
Resolves: https://github.com/llvm/llvm-project/issues/151200.
Commit: 7694856fddbb3fed10076aefec75c9b512cc352e
https://github.com/llvm/llvm-project/commit/7694856fddbb3fed10076aefec75c9b512cc352e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Fix TargetParserTests for big-endian hosts (#152407)
The new `sys::detail::getHostCPUNameForARM` for Windows (#151596) was
implemented using a C++ bit-field, which caused the associated unit
tests to fail on big-endian machines as it assumed a little-endian
layout.
This change switches from the C++ bit-field to LLVM's `BitField` type
instead.
Commit: 3d1c1a5277835baa3d71c23b396d2cbe594505d1
https://github.com/llvm/llvm-project/commit/3d1c1a5277835baa3d71c23b396d2cbe594505d1
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Set TARGET_FILE property for prepare-${obj_suffix} target (#152245)
The target's output bitcode `libclc_builtins_lib` is located in a
sub-directory in clang resource directory since df7473673214. Setting
TARGET_FILE property can allow targets in non-libclc project to obtain
the path to `libclc_builtins_lib`.
Commit: 886b2133e372108da7b19bd2634c28bdbdf8d04a
https://github.com/llvm/llvm-project/commit/886b2133e372108da7b19bd2634c28bdbdf8d04a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
Log Message:
-----------
[RISCV] Relax one of the zexti8 in the PACKH+PACK(W)/SLLI patterns. (#152384)
For RV32 we don't need the byte shifted by 24 to be zero extend
since the extended bits are shifted out.
For RV64, we don't need the byte shifted by 24 to be zero extended
if the upper 32 bits of the result aren't demanded.
Commit: 01472d8e357caa10964241ab50b3449014d1be12
https://github.com/llvm/llvm-project/commit/01472d8e357caa10964241ab50b3449014d1be12
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_mapping.h
Log Message:
-----------
[NFC][asan] Update shadow mapping comments for AArch64 non-Android Linux (#152412)
This adds commentary to explain why ASan does not work for AArch64
non-Android Linux with 39-bit and 42-bit VMAs (e.g.,
https://github.com/llvm/llvm-project/issues/145259).
Additionally, it updates the 42-bit VMA shadow map comment, which has
been outdated for the last 10 years
(18b2258c92df93c83bc7fce94c20baff3c06e2c6 changed 39-bit and 42-bit to
use the same offset), and adds a comment for the 48-bit VMA shadow map.
Commit: 04672e20d43679db4b13b8f9d19e3a2b748bca4f
https://github.com/llvm/llvm-project/commit/04672e20d43679db4b13b8f9d19e3a2b748bca4f
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
A llvm/test/CodeGen/DirectX/issue-140819_allow_forward_handle_on_alloca.ll
Log Message:
-----------
[DirectX] ForwardHandle needs to check if globals were stored on allocas (#151751)
fixes #140819
SROA pass is making it so that some globals get loaded into stack
allocations. This means we find an alloca where we use to expect a load
and now need to walk an alloca -> store -> maybe load chain before we
find the global. Doing so fixes All but two instances of #137715 And
fixes every instance of `Load of "8.sroa.0" is not a global resource
handle we are currently seeing in the DML shaders.
Commit: 8381f95dec6d63158c034f7e173e37d97937b896
https://github.com/llvm/llvm-project/commit/8381f95dec6d63158c034f7e173e37d97937b896
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Fix mlir/tests after 281e6d2cc498d05f3ca601e3b1d595420e7ed827 (#152413)
Commit: 2696e8c1499682f0b1f357d9035ed59f544892f8
https://github.com/llvm/llvm-project/commit/2696e8c1499682f0b1f357d9035ed59f544892f8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Remove too restrictive assert for data transfer (#152398)
When the rhs is a an array element, the assert was triggered but this is
still a valid transfer. Remove the assert. The operation has a verifier
to check its validity.
Commit: a196281896de208fca1dde315e377a46ec9a2e66
https://github.com/llvm/llvm-project/commit/a196281896de208fca1dde315e377a46ec9a2e66
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Support/Fortran.cpp
R flang/test/Semantics/cuf17.cuf
Log Message:
-----------
[flang][cuda] Remove meaningless warning on CUDA shared arguments (#152404)
The warning in issued during the compatibility check makes little sense.
Just remove it as it is confusing.
Commit: df8da2ff8370fda479b5c118704af4f50e0d3536
https://github.com/llvm/llvm-project/commit/df8da2ff8370fda479b5c118704af4f50e0d3536
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[VPlan] Support VPWidenPointerInductionRecipes with EVL tail folding (#152110)
Now that VPWidenPointerInductionRecipes are modelled in VPlan in
#148274, we can support them in EVL tail folding.
We need to replace their VFxUF operand with EVL as the increment is not
guaranteed to always be VF on the penultimate iteration, and UF is
always 1 with EVL tail folding.
We also need to move the creation of the backedge value to the latch so
that EVL dominates it.
With this we will no longer fail to convert a VPlan to EVL tail folding,
so adjust tryAddExplicitVectorLength to account for this. This brings us
to 99.4% of all vector loops vectorized on SPEC CPU 2017 with tail
folding vs no tail folding.
The test in only-compute-cost-for-vplan-vfs.ll previously relied on
widened pointer inductions with EVL tail folding to end up in a scenario
with no vector VPlans, so this also replaces it with an unvectorizable
fixed-order recurrence test from
first-order-recurrence-multiply-recurrences.ll that also gets discarded.
Commit: 0168324523a2f6f804b2c2a2190d659b28456230
https://github.com/llvm/llvm-project/commit/0168324523a2f6f804b2c2a2190d659b28456230
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Test compiler-rt when it's changed (#152425)
Commit: 44af26ea2e0b0fedb74276f9678eba4df5f83aab
https://github.com/llvm/llvm-project/commit/44af26ea2e0b0fedb74276f9678eba4df5f83aab
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
Log Message:
-----------
[LV] Fix EVL test after merge. NFC
Test was modified in both 25d1285eecbab731eaf418c8aab44e4eb5f9e538 and
df8da2ff8370fda479b5c118704af4f50e0d3536
Commit: d9f9064cfae6929db3f55f6146ee23447b4f9f80
https://github.com/llvm/llvm-project/commit/d9f9064cfae6929db3f55f6146ee23447b4f9f80
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
Log Message:
-----------
[ubsan_minimal] Add address argument to Android's abort message function (#152419)
https://github.com/llvm/llvm-project/pull/152192 forgot to make the
argument changes to Android code in UBsan minimal causing a build error
for Android LLVM:
```
/b/f/w/src/git/out/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:102:3: error: no matching function for call to 'format_msg'
102 | format_msg(kind, caller, msg_buf, msg_buf + sizeof(msg_buf));
| ^~~~~~~~~~
/b/f/w/src/git/out/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:37:13:
note: candidate function not viable: requires 5 arguments, but 4 were
provided
37 | static void format_msg(const char *kind, uintptr_t caller,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38 | const uintptr_t *address, char *buf,
const char *end) {
```
This change adds the address argument to abort_with_message just like
__ubsan_report_error_fatal so it can be passed to format_msg.
Commit: a04142f11f926d09059614a6170eff35a4ea6ff6
https://github.com/llvm/llvm-project/commit/a04142f11f926d09059614a6170eff35a4ea6ff6
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[LV][RISCV] Add check lines for scalable interleave costs. NFC
Previously we could only scalably vectorize interleave groups with
factor 2, but after 7ef77eb9984d1fb537a409cf4be89560fbb681fe we now
support all factors (available on RISC-V). So this adds the remaining
check lines for the scalable VFs.
Commit: 9a592d9a849dacf02ff571c81f2b3a805e9d13e5
https://github.com/llvm/llvm-project/commit/9a592d9a849dacf02ff571c81f2b3a805e9d13e5
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
Log Message:
-----------
[NVPTX] lower VECREDUCE min/max to 3-input on sm_100+ (#136253)
Add support for 3-input fmaxnum/fminnum/fmaximum/fminimum introduced in
PTX 8.8 for sm_100+:
- Use a tree reduction when 3-input operations are supported and the
reduction has the `reassoc` flag.
- If not on sm_100+/PTX 8.8, fallback to 2-input operations and use the
default shuffle reduction.
Commit: eb0ddba26b6a265b44b442ae666db43b9f28b26a
https://github.com/llvm/llvm-project/commit/eb0ddba26b6a265b44b442ae666db43b9f28b26a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/ConvertVariable.h
R flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
Reland "[flang][cuda] Set the allocator of derived type component after allocation" (#152418)
Reviewed in #152379
- Move the allocator index set up after the allocate statement otherwise
the derived type descriptor is not allocated.
- Support array of derived-type with device component
Commit: 35f003d13bce7f1a991d6a059c9c25e72009022c
https://github.com/llvm/llvm-project/commit/35f003d13bce7f1a991d6a059c9c25e72009022c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Lower/CUDA.cpp
Log Message:
-----------
[flang][cuda] Fix buildbot after #152418 (#152437)
Commit: 13daf3b70c6e8991c846e8384de47c5e84a94480
https://github.com/llvm/llvm-project/commit/13daf3b70c6e8991c846e8384de47c5e84a94480
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-add.ll
M llvm/test/Transforms/GVN/PRE/phi-translate.ll
M llvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
M llvm/test/Transforms/GVN/PRE/pre-basic-add.ll
M llvm/test/Transforms/GVN/PRE/pre-jt-add.ll
M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
M llvm/test/Transforms/GVN/PRE/pre-load-guards.ll
M llvm/test/Transforms/GVN/PRE/pre-load-implicit-cf-updates.ll
M llvm/test/Transforms/GVN/PRE/pre-load.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-new-pm.ll
M llvm/test/Transforms/GVN/PRE/pre-no-cost-phi.ll
M llvm/test/Transforms/GVN/PRE/pre-poison-add.ll
M llvm/test/Transforms/GVN/PRE/pre-single-pred.ll
M llvm/test/Transforms/GVN/PRE/preserve-tbaa.ll
Log Message:
-----------
[GVN-PRE][Tests] Add MSSA coverage to some more tests [4/N] (#151919)
This should be the final PR for tests under PRE.
Commit: 0abf4975bbf176d393869d290d55748794e220c4
https://github.com/llvm/llvm-project/commit/0abf4975bbf176d393869d290d55748794e220c4
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Do not warn about class methods with libc function names (#151270)
This commit fixes the false positive that C++ class methods with libc
function names would be false warned about. For example,
```
struct T {void strcpy() const;};
void test(const T& t) { str.strcpy(); // no warn }
```
rdar://156264388
Commit: 0a72e6ddac0f9154b806c40992d1616fa86957d8
https://github.com/llvm/llvm-project/commit/0a72e6ddac0f9154b806c40992d1616fa86957d8
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] `ConversionPatternRewriter`: Add `config` getter (#152310)
Add a helper function to `ConversionPatternRewriter` that returns the
dialect conversion configuration. This flag is useful when migrating
conversion patterns to the new One-Shot Conversion Driver: patterns can
check if they are running in rollback mode or not. They can then work
around API changes and makes sure that the pattern keeps working with
both the old and new driver.
Also remove the `config` field from `OperationLegalizer`. That field was
never needed.
Commit: 71832a3139b454f8e714ff54e8bb0ea12dc095f5
https://github.com/llvm/llvm-project/commit/71832a3139b454f8e714ff54e8bb0ea12dc095f5
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Make lookup without type converter unambiguous (#151747)
When a conversion pattern is initialized without a type converter, the
driver implementation currently looks up the most recently mapped value.
This is undesirable because the most recently mapped value could be a
materialization. I.e., the type of the value being looked up could
depend on which other patterns have run before. Such an implementation
makes the type conversion infrastructure fragile and unpredictable.
The current implementation also contradicts the documentation in the
markdown file. According to that documentation, the values provided by
the adaptor should match the types of the operands of the match
operation when running without a type converter. This mechanism is not
desirable, either, for two reasons:
1. Some patterns have started to rely on receiving the most recently
mapped value. Changing the behavior to the documented behavior will
cause regressions. (And there would be no easy way to fix those without
forcing the use of a type converter or extending the `getRemappedValue`
API.)
2. It is more useful to receive the most recently mapped value. A value
of the original operand type can be retrieved by using the operand of
the matched operation. The adaptor is not needed at all in that case.
To implement the new behavior, materializations are now annotated with a
marker attribute. The marker is needed because not all
`unrealized_conversion_cast` ops are materializations that act as "pure
type conversions". E.g., when erasing an operation, its results are
mapped to newly-created "out-of-thin-air values", which are
materializations (with no input) that should be treated like regular
replacement values during a lookup. This marker-based lookup strategy is
also compatible with the One-Shot Dialect Conversion implementation
strategy, which does not utilize the mapping infrastructure anymore and
queries all necessary information by examining the IR.
Commit: a485e0eae01beaf68a94d1f050838866e849bd48
https://github.com/llvm/llvm-project/commit/a485e0eae01beaf68a94d1f050838866e849bd48
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Retrieve vector TC for epilogue from resume phi (NFC).
Instead of relying on getOrCreateVectorTripCount to initialize
EPI.VectorTripCount, delay initialization after we retrieved the resume
phi and get the trip count from there. This makes the code independent
of legacy vector trip count creation.
Commit: edad89e4e052b0b7d0fe4943669b3b7c55d837a4
https://github.com/llvm/llvm-project/commit/edad89e4e052b0b7d0fe4943669b3b7c55d837a4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/test/CodeGen/X86/mmx-builtins.c
Log Message:
-----------
[Headers][X86] Update MMX arithmetic intrinsics to be used in constexpr (#152296)
Update the easy add/sub/mul/logic/cmp/scalar_to_vector intrinsics to be
constexpr compatible.
I'm not expecting anyone to be very interested in using MMX intrinsics,
but they're smaller than the other types and are useful to test the
constexpr handling and test methods before we start applying them to
SSE/AVX2/AVX512 intrinsics.
Commit: 406d9b1dd6522cf18e61c4c4af66db765de8afed
https://github.com/llvm/llvm-project/commit/406d9b1dd6522cf18e61c4c4af66db765de8afed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/PowerPC/PPCCCState.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
Log Message:
-----------
[CodeGen] Move IsFixed into ArgFlags (NFCI) (#152319)
The information whether a specific argument is vararg or fixed is
currently stored separately from all the other argument information in
ArgFlags. This means that it is not accessible from CCAssign, and
backends have developed all kinds of workarounds for how they can access
it after all.
Move this information to ArgFlags to make it directly available in all
relevant places.
I've opted to invert this and store it as IsVarArg, as I think that both
makes the meaning more obvious and provides for a better default (which
is IsVarArg=false).
Commit: 1110e2ff9f8d055af0b81267bf01d720421b4b70
https://github.com/llvm/llvm-project/commit/1110e2ff9f8d055af0b81267bf01d720421b4b70
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
InlineFunction: Split inlining into predicate and apply functions (#134213)
This is to support a new inline function reduction in llvm-reduce,
which should pre-filter callsites that are not eligible for inlining.
This code was mostly structured as a match and apply, with a few
exceptions. The ugliest piece is for propagating and verifying
compatible
getGC and personalities. Also collection of EHPad and the convergence
token
to use are now cached in InlineFunctionInfo.
I was initially confused by the split between the checks performed here
and isInlineViable, so better document how this system is supposed to
work.
It turns out this split does make sense, in that isInlineViable checks
if it's possible based on the callee content and the ultimate inline
depended on the callsite context. I think more renames of these
functions
would help, and isInlineViable should probably move out of InlineCost to
be
with these transfoms.
Commit: a3e068552923c0047f8a9c27c6558697b9371ed7
https://github.com/llvm/llvm-project/commit/a3e068552923c0047f8a9c27c6558697b9371ed7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] More detailed error message when new IR cannot be legalized (#152297)
Print a more detailed error message when new/modified IR could not be
legalized with `allowPatternRollback = false`. This is useful to
understand why a pattern is incompatible with the new One-Shot Dialect
Conversion driver.
---------
Co-authored-by: Jeremy Kun <jkun at google.com>
Commit: f44d8d583c646baee12646f1609683c9afe48e33
https://github.com/llvm/llvm-project/commit/f44d8d583c646baee12646f1609683c9afe48e33
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
Log Message:
-----------
AMDGPU: Add a few missing mfma rewrite tests (#152434)
Test other splitting situations that appear in greedy.
This includes ensuring we have a case that hits a local split
and instruction split (most of the tests hit the region split path).
Also test a few cases where the final result isn't fully used, resulting
in partial copy bundles instead of a simple full copy. Test physreg
and virtreg agpr interference with a reassignment candidate.
I'm accumulating too many failure cases, and MIR tests are very prone
to painful merge conflicts, so I've added a few more tests and extracted
new tests from #147975.
Closes #149026
Commit: b83f7f195c64ab1c87ceea9cda9b54eaae893cdb
https://github.com/llvm/llvm-project/commit/b83f7f195c64ab1c87ceea9cda9b54eaae893cdb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Headers][X86] Update SSE/AVX and/andnot/or/xor intrinsics to be used in constexpr (#152305)
Commit: 6abf4f376efe9a708587e8f35d30ab850545d92f
https://github.com/llvm/llvm-project/commit/6abf4f376efe9a708587e8f35d30ab850545d92f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Allow AVX movddup/movsldup/movshdup intrinsics to be used in constexpr (#152340)
Matches SSE3 handling
Commit: 6897ca460e6e28bcf76ae941438dd1313426e0bb
https://github.com/llvm/llvm-project/commit/6897ca460e6e28bcf76ae941438dd1313426e0bb
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__fwd/map.h
R libcxx/include/__fwd/set.h
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/set
Log Message:
-----------
[libc++] Remove unnecessary friend declarations from <__tree> (#152133)
Removing the unnecessary friend declarations from `<__tree>` also
removes the need for forward declaration headers for `map` and `set`,
which this patch also removes.
Commit: 7402cd6ded243972ab9a70da83845bce66e502c6
https://github.com/llvm/llvm-project/commit/7402cd6ded243972ab9a70da83845bce66e502c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
Log Message:
-----------
AMDGPU: Disable AGPR selection in mfma rewrite test
This makes the test actually test the intended rewrite
pass. Also add some tests with inline immediates in src2.
Switch the target to gfx942 for future test functions.
Commit: 0b3ee2093954dd3c5a201eba4b7641adadd9b2c6
https://github.com/llvm/llvm-project/commit/0b3ee2093954dd3c5a201eba4b7641adadd9b2c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 6897ca460e6e
Commit: 6ce68d3a12fb70a8a1247823e2c90a5a1dd4531d
https://github.com/llvm/llvm-project/commit/6ce68d3a12fb70a8a1247823e2c90a5a1dd4531d
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add FP_EXTEND (#152249)
Fixes https://github.com/llvm/llvm-project/issues/152141
Commit: 4da745a0f4fad9026dd4a84d4a9f169166575b80
https://github.com/llvm/llvm-project/commit/4da745a0f4fad9026dd4a84d4a9f169166575b80
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Profile/CMakeLists.txt
Log Message:
-----------
[BOLT] Fix unit test failures with LLVM_LINK_LLVM_DYLIB=ON (#152190)
When LLVM_LINK_LLVM_DYLIB is ON, `check-bolt` target reports unit test
failures:
BOLT-Unit :: Core/./CoreTests/failed_to_discover_tests_from_gtest
BOLT-Unit :: Profile/./ProfileTests/failed_to_discover_tests_from_gtest
The reason is that when llvm-lit runs a unit-test executable:
/path/to/CoreTests --gtest_list_tests '--gtest_filter=-*DISABLED_*'
an assertion is triggered with the following message:
LLVM ERROR: Option 'default' already exists!
This assertion triggers when the initializer of defaultListDAGScheduler
defined at SelectionDAGISel.cpp:219 is called as a statically-linked
function after already being called during the initialization of
libLLVM.
The issue can be traced down to LLVMTestingSupport library which depends
on libLLVM as neither COMPONENT_LIB nor DISABLE_LLVM_LINK_LLVM_DYLIB is
specified in a call to `add_llvm_library(LLVMTestingSupport ...)`.
Specifying DISABLE_LLVM_LINK_LLVM_DYLIB for LLVMTestingSupport makes
Clang unit test fail and COMPONENT_LIB is probably inappropriate for a
testing-specific library, thus as a workaround, added Error.cpp source
from LLVMTestingSupport directly to the list of source files of
CoreTests target (as it depends on
`llvm::detail::TakeError(llvm::Error)`) and removed LLVMTestingSupport
from the list of dependencies of ProfileTests.
Commit: d618c36cb7a8c7951fb7532c07ea313b2d7ec1a7
https://github.com/llvm/llvm-project/commit/d618c36cb7a8c7951fb7532c07ea313b2d7ec1a7
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Add missing clc/lib/ptx-nvidiacl/SOURCES to CMAKE_CONFIGURE_DEPENDS (#152431)
Commit: b9e133d5b6e41b652ba579bcb8850c00f72d0f01
https://github.com/llvm/llvm-project/commit/b9e133d5b6e41b652ba579bcb8850c00f72d0f01
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A320 (#152156)
With this new A320 in-order core, we follow adding the
FeatureUseFixedOverScalableIfEqualCost feature to A510 and A520
(#132246), which reaps the same code generation benefits of preferring
fixed over scalable when the cost is equal.
So when we have:
```
void foo(float* a, float* b, float* dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
When compiling without the feature enabled, we get:
```
...
ld1b { z0.b }, p0/z, [x0, x10]
ld1b { z2.b }, p0/z, [x1, x10]
add x12, x0, x10
ldr z1, [x12, #1, mul vl]
add x12, x1, x10
ldr z3, [x12, #1, mul vl]
fadd z0.s, z2.s, z0.s
add x12, x2, x10
fadd z1.s, z3.s, z1.s
dech x11
st1b { z0.b }, p0, [x2, x10]
incb x10, all, mul #2
str z1, [x12, #1, mul vl]
...
```
When compiling with, we get:
```
...
ldp q0, q1, [x12, #-16]
ldp q2, q3, [x11, #-16]
subs x13, x13, #8
fadd v0.4s, v2.4s, v0.4s
fadd v1.4s, v3.4s, v1.4s
add x11, x11, #32
add x12, x12, #32
stp q0, q1, [x10, #-16]
add x10, x10, #32
...
```
Commit: a44532544bd96c68ce2bc885d0cc0c4c9116f8b1
https://github.com/llvm/llvm-project/commit/a44532544bd96c68ce2bc885d0cc0c4c9116f8b1
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Don't create events for empty queues (#152304)
Add a device function to check if a device queue is empty. If liboffload
tries to create an event for an empty queue, we create an "empty" event
that is already complete.
This allows `olCreateEvent`, `olSyncEvent` and `olWaitEvent` to run
quickly for empty queues.
Commit: c869ef6ebc4882978252c3a98279928b31b58135
https://github.com/llvm/llvm-project/commit/c869ef6ebc4882978252c3a98279928b31b58135
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
Log Message:
-----------
[clang][bytecode] Refactor Check* functions (#152300)
... so we don't have to create Pointer instances when we don't need
them.
Commit: 6cd6de5bc0c8b09b3a252bfb8a62870c1cdede4c
https://github.com/llvm/llvm-project/commit/6cd6de5bc0c8b09b3a252bfb8a62870c1cdede4c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[llvm][cmake] Remove version number from runtimes in PROJECTS warnings (#152457)
Judging from the reaction to
https://github.com/llvm/llvm-project/pull/152302, we are not ready to
make this a fatal error.
Remove the specific version number, and update the libc message to match
the others' wording.
Commit: aeeb9b507750553f0e85584bda20b8d2373b3bda
https://github.com/llvm/llvm-project/commit/aeeb9b507750553f0e85584bda20b8d2373b3bda
Author: Ayke <aykevanlaethem at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/test/CodeGen/AVR/cmp.ll
Log Message:
-----------
[AVR] Fix codegen after getConstant assertions got enabled (#152269)
This fixes https://github.com/llvm/llvm-project/issues/152097
This commit fixes two instances of a (somewhat) recently enabled
assertion. One with a test, the other I can't reproduce (might be dead
code) but certainly looks like an instance of the same problem.
The PR that introduced the regression:
https://github.com/llvm/llvm-project/pull/117558
With this patch, the AVR backend is usable again for TinyGo.
Commit: 565f707beb176c81b3c18651f280304484378f2a
https://github.com/llvm/llvm-project/commit/565f707beb176c81b3c18651f280304484378f2a
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
R llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
A llvm/test/CodeGen/AArch64/aarch64-split-logic-bitmask-immediate.ll
Log Message:
-----------
[AArch64] Allow splitting bitmasks for EOR/ORR. (#150394)
This patch extends #149095 for EOR and ORR.
It uses a simple partition scheme to try to find two suitable disjoint
bitmasks that can be used with EOR/ORR to reconstruct the original mask.
Fixes: #148987.
Commit: 04196ba01a4d2ea1649836d769e5651e89c05a82
https://github.com/llvm/llvm-project/commit/04196ba01a4d2ea1649836d769e5651e89c05a82
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA][NFC] clang-format DependenceAnalysis (#151505)
To avoid noise in PRs such as in #146383.
Commit: 95c32bf2d46ddd2c10dae426c75aa4dddcb146df
https://github.com/llvm/llvm-project/commit/95c32bf2d46ddd2c10dae426c75aa4dddcb146df
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[VPlan] Return invalid cost if any skeleton block has invalid costs. (#151940)
We need to reject plans that contain recipes with invalid costs. LICM
can move recipes with invalid costs out of the loop region, which then
get missed by the main cost computation.
Extend the logic to check recipes for invalid cost currently only
covering the middle block to include all skeleton blocks.
Fixes https://github.com/llvm/llvm-project/issues/144358
Fixes https://github.com/llvm/llvm-project/issues/151664
PR: https://github.com/llvm/llvm-project/pull/151940
Commit: 5805e887458801f2756d0466b84b712472507f2f
https://github.com/llvm/llvm-project/commit/5805e887458801f2756d0466b84b712472507f2f
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
Log Message:
-----------
[Headers][X86] Allow AVX512 reduction intrinsics to be used in constexpr (#152363)
Closes #152324.
Part of #30794.
This PR adds `constexpr` support for the following AVX512 integer
reduction intrinsics:
- `_mm512_reduce_add_epi32`
- `_mm512_reduce_add_epi64`
- `_mm512_reduce_mul_epi32`
- `_mm512_reduce_mul_epi64`
- `_mm512_reduce_and_epi32`
- `_mm512_reduce_and_epi64`
- `_mm512_reduce_or_epi32`
- `_mm512_reduce_or_epi64`
- `_mm512_reduce_max_epi32`
- `_mm512_reduce_max_epi64`
- `_mm512_reduce_min_epi32`
- `_mm512_reduce_min_epi64`
- `_mm512_reduce_max_epu32`
- `_mm512_reduce_max_epu64`
- `_mm512_reduce_min_epu32`
- `_mm512_reduce_min_epu64`
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 47944d071f27c04c1cccf51926eb14062471f6cc
https://github.com/llvm/llvm-project/commit/47944d071f27c04c1cccf51926eb14062471f6cc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
Log Message:
-----------
[LV] Auto-generate checks for sve-low-trip-count.ll.
Auto-generate checks for
https://github.com/llvm/llvm-project/pull/151925. Also update some
naming to make more consistent with other tests.
Commit: 46a8c094894e22d553cc527f9536b05db53250e8
https://github.com/llvm/llvm-project/commit/46a8c094894e22d553cc527f9536b05db53250e8
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
Log Message:
-----------
[NFC][analyzer] Conversion to CheckerFamily: RetainCountChecker (#152138)
This commit converts RetainCountChecker to the new checker family
framework that was introduced in the commit
6833076a5d9f5719539a24e900037da5a3979289
This commit also performs some minor cleanup around the parts that had
to be changed, but lots of technical debt still remains in this old
codebase.
Commit: 109040acec00e5beaef35e51df3d73d5ba4212a4
https://github.com/llvm/llvm-project/commit/109040acec00e5beaef35e51df3d73d5ba4212a4
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[Clang][NFC] Enumerate Clang ABI versions in a separate header file (#151995)
Make it easier for us to add ABI versions.
Close #144332
Commit: 246990dc029620619f41b6bd3bd7ba67ada1a384
https://github.com/llvm/llvm-project/commit/246990dc029620619f41b6bd3bd7ba67ada1a384
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
[llvm][MC][test] Disable many-instructons.s on 32-bit systems
Added by https://github.com/llvm/llvm-project/pull/150846.
Checks the size of a structure, which is only correct for 64-bit
systems.
Commit: e1d67530065efb64dba2f716a355a40535f4a19d
https://github.com/llvm/llvm-project/commit/e1d67530065efb64dba2f716a355a40535f4a19d
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Update AVX/AVX512 float/double add/sub/mul/div/unpck intrinsics to be used in constexpr (#152435)
Fixed #152313
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 474bbc17831e45ae855b7385512d97c519c640fb
https://github.com/llvm/llvm-project/commit/474bbc17831e45ae855b7385512d97c519c640fb
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/GraphWriter.h
Log Message:
-----------
[Support] Enable CRTP for GraphWriter (NFC) (#152322)
Previously, specializing the GraphWriter class required a full class
specialization.
This change introduces CRTP for GraphWriter, allowing for partial
specialization.
This change is in support of printing the module dependency graph as
part of the RFC for driver-managed module builds, for which we want to
print the graph nodes in a more human-readable format by:
- Printing descriptive IDs instead of pointer addresses as node labels.
- Printing the full node labels separately from the node relations to
avoid clutter.
With this approach, only GraphWriter::writeNodes() needs to be
specialized (, aside from DOTGraphTraits).
RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
Commit: 4784585747423a8ed6e3acbe3c8fbe97ba362cc5
https://github.com/llvm/llvm-project/commit/4784585747423a8ed6e3acbe3c8fbe97ba362cc5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove unnecessary local variable (#152468)
Desc is only used once and we can get that information from the Block as
well.
Commit: fee6e539d0a052ca1f20adf55521856bfc5d5b26
https://github.com/llvm/llvm-project/commit/fee6e539d0a052ca1f20adf55521856bfc5d5b26
Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
Log Message:
-----------
[NVPTX] Add prefetch tensormap variant (#146203)
[NVPTX] Add Prefetch tensormap intrinsics
This PR adds prefetch intrinsics with the relevant tensormap_space.
* Lit tests are added as part of prefetch.ll
* The generated PTX is verified with a 12.3 ptxas executable.
* Added docs for these intrinsics in NVPTXUsage.rst.
For more information, refer to the PTX ISA for prefetch intrinsic :
[Prefetch
Tensormap](https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-prefetch-prefetchu)
@durga4github @schwarzschild-radius
Commit: edeee824f044b834ec0bc8380afc345bb1a58f35
https://github.com/llvm/llvm-project/commit/edeee824f044b834ec0bc8380afc345bb1a58f35
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
Reland [VectorUtils] Trivially vectorize ldexp, [l]lround (#152476)
Changes: The original patch, landed as 1336675, was reverted due to a
bug in LoopVectorize resulting in a crash. The bug has now been fixed by
95c32bf ([VPlan] Return invalid cost if any skeleton block has invalid
costs), and this reland is identical to the original patch.
Commit: f24c50a635cbdbd214e02866a8cb22232862c3ff
https://github.com/llvm/llvm-project/commit/f24c50a635cbdbd214e02866a8cb22232862c3ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512dq-builtins.c
Log Message:
-----------
[X86] avx512dq-builtins.c - add C/C++ and 32/64-bit test coverage
Inspired by #152478
Commit: ceda56be7f03a790ea777e8b98b419209c3bfa49
https://github.com/llvm/llvm-project/commit/ceda56be7f03a790ea777e8b98b419209c3bfa49
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
A mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
A mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
A mlir/test/Dialect/Linalg/linalg-morph-category-ops.mlir
A mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
Log Message:
-----------
[mlir][linalg] Morphism across linalg -- named, category and generic ops. (#148424)
Adds `linalg-morph-ops` pass to convert an op from one representation to another:
named-op <--> category_op (elementwise, contraction, ..) <--> generic
e.g.
```mlir
%exp = linalg.exp ins(%A : tensor<16x8xf32>) outs(%B : tensor<16x8xf32>) -> tensor<16x8xf32>
```
After `mlir-opt -linalg-morph-ops=named-to-category ..`
```mlir
%0 = linalg.elementwise kind=#linalg.elementwise_kind<exp> ins(%arg0 : tensor<16x8xf32> ..
Note: this is generalization of
`--linalg-generalize-named-ops` is the path `named-op --> generic-op`
`--linalg-specialize-generic-ops` is the path `named-op <-- generic-op`
email: quic_mabsar at quicinc.com
Commit: f73a3028c2d46928280d69d9e953ff79d2eb0fbb
https://github.com/llvm/llvm-project/commit/f73a3028c2d46928280d69d9e953ff79d2eb0fbb
Author: David Truby <david.truby at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/unittests/CMakeLists.txt
Log Message:
-----------
[flang-rt] Use correct flang-rt build for flang-rt unit tests on Windows (#152318)
Currrently flang-rt assumes that LLVM was always built with the dynamic
MSVC runtime. This may not be the case, if the user has specified a
different runtime with -DCMAKE_MSVC_RUNTIME_LIBRARY. Since this flag is
implied by -DLLVM_ENABLE_RPMALLOC=On, which is used by the Windows
release script, this is causing that script to fail.
Fixes #151920
Commit: dbfc3ed69088a88bffc20b16ce315746dd30fa28
https://github.com/llvm/llvm-project/commit/dbfc3ed69088a88bffc20b16ce315746dd30fa28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
Log Message:
-----------
[TypeSanitizer] Use alloca size for lifetime markers (#152154)
Split out from https://github.com/llvm/llvm-project/pull/150248:
Use the size of the alloca instead of the size passed to the lifetime
intrinsic.
As a bonus, this handles dynamic allocas correctly (see the added test)
instead of doing a memset with size -1...
Commit: f3bf8e01668bfbb32cd17be45507983557b979df
https://github.com/llvm/llvm-project/commit/f3bf8e01668bfbb32cd17be45507983557b979df
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
Log Message:
-----------
[clang][x86] Add C/C++ and 32/64-bit test coverage to constexpr tests (#152478)
Adds missing C++ run lines to test files containing `constexpr` tests.
Also adds missing 32/64-bit test coverage to the following tests:
- `clang/test/CodeGen/X86/avx512-reduceIntrin.c`
- `clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c`
- `clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c`
- `clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c`
Additionally, fixes a `_mm512_popcnt_epi64` `constexpr` test that
incorrectly assumed 32-bit integers, leading to incorrect bit counts.
This change updates the test result to assume 64-bit integers.
Commit: cfa00d4dafbc7ffa112ea341c794b7cff7fca713
https://github.com/llvm/llvm-project/commit/cfa00d4dafbc7ffa112ea341c794b7cff7fca713
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add --succinct to lit args (#152335)
We currently log every single test that we run in premerge. This leads
to gigantic logs (200k+ lines on Linux) that can be difficult to parse
through. Having an indicator of progress is nice, especially for the
LLVM tests, but is not strictly necessary and not often used (I
imagine). Having a progress indicator from lit that works in CI cases is
on my TODO list.
For the rare cases where someone does need to see the list of tests that
run, the JUnit XML emitted by lit is available in the artifacts.
Commit: e368b5343d037c89051097c2a87a6fb76548014e
https://github.com/llvm/llvm-project/commit/e368b5343d037c89051097c2a87a6fb76548014e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-utils.cpp
R flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
Log Message:
-----------
[flang][OpenMP] Make OpenMPCriticalConstruct follow block structure (#152007)
This allows not having the END CRITICAL directive in certain situations.
Update semantic checks and symbol resolution.
Commit: 900d20d0dc7b228cba9df98ed3ec713098c79342
https://github.com/llvm/llvm-project/commit/900d20d0dc7b228cba9df98ed3ec713098c79342
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/tests/CMakeLists.txt
Log Message:
-----------
[NFC][Offload] Move conformance test warning outside of function (#152466)
`add_conformance_test` checks for libc and prints a warning if it is not
found. However, this warning ends up being printed once for each test,
spamming the cmake log. Moving it up to the folder cmake allows it to
be reported only once.
Commit: fac7453d2ca7ebe33dec3d60211c0374a2bb69cd
https://github.com/llvm/llvm-project/commit/fac7453d2ca7ebe33dec3d60211c0374a2bb69cd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][Mangled] Move SuffixRange computation into TrackingOutputBuffer (#152483)
This way all the tracking is self-contained in `TrackingOutputBuffer`
and we can test the `SuffixRange` properly.
Commit: 0bcf45ea3458ba79eb4257afcfd6af954292c9ce
https://github.com/llvm/llvm-project/commit/0bcf45ea3458ba79eb4257afcfd6af954292c9ce
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP]Initial FMAD support (#149102)
Added initial check for potential fmad conversion in reductions and
operands vectorization.
Commit: 69d0bd56ad064df569cd065902fb7036f0311c0a
https://github.com/llvm/llvm-project/commit/69d0bd56ad064df569cd065902fb7036f0311c0a
Author: Boyana Norris <brnorris03 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[mlir][cmake] Fix MLIR shared library installation (#152195)
When `LLVM_INSTALL_TOOLCHAIN_ONLY=ON`, the MLIR shared library
(`libMLIR*`) is not installed even though it is built with the
`INSTALL_WITH_TOOLCHAIN` argument to the `add_mlir_library` cmake
function. This patch ensures that `libMLIR*` is installed when
`LLVM_INSTALL_TOOLCHAIN_ONLY=ON`.
Patch verified
[here](https://github.com/llvm/llvm-project/issues/151247#issuecomment-3156387055).
fixes #151247
Commit: 5dff1ad3a3570f0f5a154590ce43b107dc6c3994
https://github.com/llvm/llvm-project/commit/5dff1ad3a3570f0f5a154590ce43b107dc6c3994
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use a range-based for loop in DenseMap.h (NFC) (#152438)
This patch teaches moveFromOldBuckets to take an iterator_range so
that it can use a range-based for loop.
Commit: 4be22dabc58046ddcab449368132754892242250
https://github.com/llvm/llvm-project/commit/4be22dabc58046ddcab449368132754892242250
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#152441)
getActiveBits() already returns unsigned.
Commit: 02fbb6a290779af31f24d6fffd104675fc10d986
https://github.com/llvm/llvm-project/commit/02fbb6a290779af31f24d6fffd104675fc10d986
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Support/regcomp.c
Log Message:
-----------
[Support] Remove an unnecessary cast (NFC) (#152442)
pattern is already of const char *.
Commit: ebaaf4d2fbf389ac3f171245e38c7a63812b43b8
https://github.com/llvm/llvm-project/commit/ebaaf4d2fbf389ac3f171245e38c7a63812b43b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump] Remove unnecessary casts (NFC) (#152443)
data() alaready returns const char *.
Commit: e10fdb989b8c59a8291f1f6931f3adfd374ad840
https://github.com/llvm/llvm-project/commit/e10fdb989b8c59a8291f1f6931f3adfd374ad840
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/MergeFunctions.rst
Log Message:
-----------
[llvm] Proofread MergeFunctions.rst (#152444)
Commit: 82f5bd68d03c2ef963f5e53843b1c47989dcd5d7
https://github.com/llvm/llvm-project/commit/82f5bd68d03c2ef963f5e53843b1c47989dcd5d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[Sema] Remove an unnecessary cast (NFC) (#152440)
getScopeRep already returns NestedNameSpecifier *.
Commit: f3db0cb4d8326c4955472742872cb691d17e76c6
https://github.com/llvm/llvm-project/commit/f3db0cb4d8326c4955472742872cb691d17e76c6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
Reland "[RISCV] Refactor X60 scheduling model helper classes. NFC." (#152336)
This PR fixes the issue that caused an ub in PR #151472.
The issue was a shl call taking a negative shift amount (posDiff). The
result was never used, but tablegen would perform the calculation
anyway. The fix was to replace the shl call with just multiplications
with constants.
Original PR description:
This patch improves the helper classes in the SpacemiT-X60 vector
scheduling model and will be used in follow-up PRs:
There are now two functions to map LMUL to values:
* ConstValueUntilLMULThenDoubleBase: returns BaseValue for LMUL values
before startLMUL, Value for startLMUL, then doubles Value for each
subsequent LMUL. Useful for cases where fractional LMULs have constant
cycles, and integer LMULs double as they increase.
* GetLMULValue: takes an ordered list of LMUL cycles and LMUL and
returns the corresponding cycle. Useful for cases we can't easily cover
with ConstValueUntilLMULThenDoubleBase.
This PR also adds some useful simplified versions of
ConstValueUntilLMULThenDoubleBase, e.g.: ConstValueUntilLMULThenDouble
(when BaseValue == Value), or ConstOneUntilMF4ThenDouble (when cycles
start to double after MF2)
Commit: c088b5ffca4c4b81a8fa0e7f006e9391eba1f191
https://github.com/llvm/llvm-project/commit/c088b5ffca4c4b81a8fa0e7f006e9391eba1f191
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
M compiler-rt/lib/hwasan/hwasan_setjmp_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S
M compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
Log Message:
-----------
[compiler-rt][AArch64] Add GCS property in assembly files (#152502)
Only BTI and PAC properties were added previously.
Fixes https://github.com/llvm/llvm-project/issues/152427.
Commit: e1171e6a98f9c1a5cd465a47210b2678631a9c3c
https://github.com/llvm/llvm-project/commit/e1171e6a98f9c1a5cd465a47210b2678631a9c3c
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/src/dlfcn/CMakeLists.txt
Log Message:
-----------
[libc][dlfcn] Remove unused errno dep (#152222)
This removes the errno dep for the stub libdl functions, since there is
no need for it.
Commit: 3fa34f17e822fbe652e694b7b421ce7108f902df
https://github.com/llvm/llvm-project/commit/3fa34f17e822fbe652e694b7b421ce7108f902df
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A .github/workflows/mlir-spirv-tests.yml
Log Message:
-----------
[mlir][spirv] Add mlir-spirv-tests CI to run for mlir-spv target tests (#152124)
This should execute also the MLIR SPIRV Target tests which require the
SPIRV-Tools validator
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 3b5cc2dc6374a5785741aedb28ad80b7e941b70c
https://github.com/llvm/llvm-project/commit/3b5cc2dc6374a5785741aedb28ad80b7e941b70c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Refactor DynamicAllocator a bit (#152510)
Use empty()-style functions instead of exposing the size if we don't
need it.
Commit: 44fbeb3215f31ace95ea2a7e88121920e813db5d
https://github.com/llvm/llvm-project/commit/44fbeb3215f31ace95ea2a7e88121920e813db5d
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector] Use `llvm::Align` when constructing vector load and stores. (#152207)
This patchset uses `llvm::Align` when constructing `vector.{load,store}`
operations. The use of `llvm::Align` allows us to specify the unit of
alignment and strongly type alignment as opposed to having just unsigned
integers.
Commit: 0cb98c721bb540febab0fc0094388480940c49b0
https://github.com/llvm/llvm-project/commit/0cb98c721bb540febab0fc0094388480940c49b0
Author: James Newling <james.newling at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/scalable-interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
Log Message:
-----------
[mlir][vector] Replace vector.splat with vector.broadcast in some tests (#152230)
Splat is deprecated, and being prepared for removal in a future release.
https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/5
The command I used, catches almost every splat op:
```
perl -i -pe
's/vector\.splat\s+(\S+)\s*:\s*vector<((?:\[?\d+\]?x)*)\s*([^>]+)>/vector.broadcast
$1 : $3 to vector<$2$3>/g' filename
```
Commit: f9b68838f61972fadfbe70787befc3abeb2efcb5
https://github.com/llvm/llvm-project/commit/f9b68838f61972fadfbe70787befc3abeb2efcb5
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
ELF: -r: Call assignAddresses only once
The fixed-point layout algorithm handles linker scripts, thunks, and
relaxOnce (to suppress out-of-range GOT-indirect-to-PC-relative
optimization). These passes are not needed for relocatable links because
they require address information that is not yet available.
Since we don't scan relocations for relocatable links, the
`createThunks` and `relaxOnce` functions are no-ops anyway, making these
passes redundant.
To prevent cluttering the line history, I place the `if (...) break;`
inside the for loop.
Pull Request: https://github.com/llvm/llvm-project/pull/152240
Commit: ff616a192bb486915200675d7be33dc042deca24
https://github.com/llvm/llvm-project/commit/ff616a192bb486915200675d7be33dc042deca24
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
Log Message:
-----------
[mlir][linalg]-Fix wrong assertion in the getMatchingYieldValue inter… (#89590)
…face
In order to have a consistent implementation for getMatchingYieldValue
for linalg generic with buffer/tensor semantics, we should assert the
opOperand index based on the numDpsInits and not numOfResults which may
be zero in the buffer semantics.
Commit: 6f272d1ecf70fc555efb1a0c601095031d5b2ca9
https://github.com/llvm/llvm-project/commit/6f272d1ecf70fc555efb1a0c601095031d5b2ca9
Author: David Green <david.green at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Move tryCombineToBSL. NFC
This is for #151855, to make the changes more obvious.
Commit: de2bac367ff9da74191bd2de130e4a81db07ae08
https://github.com/llvm/llvm-project/commit/de2bac367ff9da74191bd2de130e4a81db07ae08
Author: Matthias Guenther <mrguenther at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/CommonFolders.h
A mlir/test/Dialect/common_folders.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[MLIR] Allow `constFoldBinaryOp` to fold `(T1, T1) -> T2` (#151410)
The `constFoldBinaryOp` helper function had limited support for
different input and output types, but the static type of the underlying
value (e.g. `APInt`) had to match between the inputs and the output.
This worked fine for int comparisons of the form `(intN, intN) -> int1`,
as the static type signature was `(APInt, APInt) -> APInt`. However,
float comparisons map `(floatN, floatN) -> int1`, with a static type
signature of `(APFloat, APFloat) -> APInt`. This use case wasn't
supported by `constFoldBinaryOp`.
`constFoldBinaryOp` now accepts an optional template argument overriding
the return type in case it differs from the input type. If the new
template argument isn't provided, the default behavior is unchanged
(i.e. the return type will be assumed to match the input type).
`constFoldUnaryOp` received similar changes in order to support folding
non-cast ops of the form `(T1) -> T2` (e.g. a `sign` op mapping
`(floatN) -> sint32`).
Commit: 3fbb553f7d31329212b658cca5b9eb5dae4e91b2
https://github.com/llvm/llvm-project/commit/3fbb553f7d31329212b658cca5b9eb5dae4e91b2
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir][emitc] Simplify emitc::isSupportedFloatType (NFC) (#152464)
Commit: d95433bc8131e6c9f175c82f7b26e789084a347f
https://github.com/llvm/llvm-project/commit/d95433bc8131e6c9f175c82f7b26e789084a347f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
Remove __SHORT_FILE__ macro definition in CMake (#152344)
This per-file macro definition on the command line breaks caching of
modules. See discussion in #150677
Instead we use a constexpr function that processes the __FILE__ macro,
but prefer also the __FILE_NAME__ macro when available (clang/gcc) to spare
compile-time in the frontend.
If the constexpr function isn't const-evaluated, it'll be only evaluated when
printing the debug message.
Commit: 44aedacb1b64b415fddfada39eb876602980ea72
https://github.com/llvm/llvm-project/commit/44aedacb1b64b415fddfada39eb876602980ea72
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/include/lldb/Protocol/MCP/Protocol.h
A lldb/include/lldb/Protocol/MCP/Server.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/Server.cpp
Log Message:
-----------
[lldb] Move the generic MCP server code into Protocol/MCP (NFC) (#152396)
This is a continuation of #152188, which started splitting up the MCP
implementation into a generic implementation in Protocol/MCP that will
be shared between LLDB and lldb-mcp.
For now I kept all the networking code in the MCP server plugin. Once
the changes to JSONTransport land, we might be able to move more of it
into the Protocol library.
Commit: 6d231fbb05417a77e8787f625fd14e1a30e27a5b
https://github.com/llvm/llvm-project/commit/6d231fbb05417a77e8787f625fd14e1a30e27a5b
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir] MemRefToSPIRV propagate alignment attributes from MemRef ops. (#151723)
This patchset:
* propagates alignment attributes from memref operations into the SPIR-V
dialect,
* fixes an error in the logic which previously propagated alignment
attributes but did not add other MemoryAccess attributes.
* adds a failure condition in the case where the alignment attribute
from the memref dialect (64-bit wide) does not fit in SPIR-V's alignment
attribute (specified to be 32-bit wide).
Commit: bd741975bc666d032665facd19144df9deedc5c8
https://github.com/llvm/llvm-project/commit/bd741975bc666d032665facd19144df9deedc5c8
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/imad.ll
M llvm/test/CodeGen/DirectX/umad.ll
Log Message:
-----------
Scalarize vector `mad` operations for integer types (#152228)
Fixes #152220.
- Adds `dx_imad` and `dx_umad` to
`isTargetIntrinsicTriviallyScalarizable`
- Adds tests that confirm the intrinsic is now scalarizing
Commit: ed9a552563e1c8a95249036195f598990a695a95
https://github.com/llvm/llvm-project/commit/ed9a552563e1c8a95249036195f598990a695a95
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
Log Message:
-----------
[CIR][NFC] Fix typo in ComplexRangeKind comment (#152535)
Fix typo in ComplexRangeKind comment
Catched in https://github.com/llvm/clangir/pull/1779
Commit: ad3196d7595dd53c4021b4bf4cd7bcefd85853df
https://github.com/llvm/llvm-project/commit/ad3196d7595dd53c4021b4bf4cd7bcefd85853df
Author: Abhilash Majumder <abhilash.majumder at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
Log Message:
-----------
[NVPTX][Test-only] Add proper sm-version to ptxas-verify in prefetch-inferas-test.ll (#152492)
prefetch-inferas-test.ll was added in #146203 , but due to missing ptxas
version the CI is defaulting to sm 60.
This patch adds the arg in ptxas-verify check.
Commit: d97f0e93642722380be9ed190c17ea895817c339
https://github.com/llvm/llvm-project/commit/d97f0e93642722380be9ed190c17ea895817c339
Author: gitoleg <forown at yandex.ru>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/module-asm.c
A clang/test/CIR/Lowering/module-asm.cir
Log Message:
-----------
[CIR] add support for file scope assembly (#152093)
This PR adds a support for file scope assembly in CIR.
Commit: 093439c688db8d176081176576011275a1aecf23
https://github.com/llvm/llvm-project/commit/093439c688db8d176081176576011275a1aecf23
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/test/CodeGen/PowerPC/memintr32.ll
M llvm/test/CodeGen/PowerPC/memintr64.ll
Log Message:
-----------
[PowerPC][AIX] Using milicode for memcmp instead of libcall (#147093)
AIX has "millicode" routines, which are functions loaded at boot time
into fixed addresses in kernel memory. This allows them to be customized
for the processor. The __memcmp routine is a millicode implementation;
we use millicode for the memcmp function instead of a library call to
improve performance.
Commit: b5902924b27348dfae35a501f8b6e5b66f3bed46
https://github.com/llvm/llvm-project/commit/b5902924b27348dfae35a501f8b6e5b66f3bed46
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Prevent pass from using too much memory. (#145482)
The limit 'dfa-max-num-paths' that is used to control number of
enumerated paths was not checked against inside getPathsFromStateDefMap.
It may lead to large memory consumption for complex enough switch
statements.
Commit: 193995d5a21dc8b923e19d9370aa8e1f374cd940
https://github.com/llvm/llvm-project/commit/193995d5a21dc8b923e19d9370aa8e1f374cd940
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Handle more invalid member pointer casts (#152546)
Commit: 093395ca6b5c180eabd597236a928c5ce2854260
https://github.com/llvm/llvm-project/commit/093395ca6b5c180eabd597236a928c5ce2854260
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
Log Message:
-----------
[CIR] Mul CompoundAssignment support for ComplexType (#152354)
This change adds support for Mul CompoundAssignment for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 06f06deb774ada5aa37db89fa7b4a88b13163e0d
https://github.com/llvm/llvm-project/commit/06f06deb774ada5aa37db89fa7b4a88b13163e0d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
Log Message:
-----------
[PowerPC] Fix a warning
This patch fixes:
llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h:25:3: error:
'EmitTargetCodeForMemcmp' overrides a member function but is not
marked 'override' [-Werror,-Winconsistent-missing-override]
Commit: 2ff44d7d658beca1724f04211e194bf4beb2a1a0
https://github.com/llvm/llvm-project/commit/2ff44d7d658beca1724f04211e194bf4beb2a1a0
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/lib/Support/StringRef.cpp
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[ADT] Make `getAutoSenseRadix` in `StringRef` global (#152503)
Needed in #152308
Commit: f7c6c7ce361b8664eee962f10803e92661582176
https://github.com/llvm/llvm-project/commit/f7c6c7ce361b8664eee962f10803e92661582176
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-7.ll
Log Message:
-----------
[DirectX] Overlapping binding detection - check register space first (#152250)
The code that checks for overlapping binding did not compare register space when one of the bindings was for an unbounded resource array, leading to false errors. This change fixes it.
Commit: 660555191b3e886a578f3d9bfdcb49877e1c5da0
https://github.com/llvm/llvm-project/commit/660555191b3e886a578f3d9bfdcb49877e1c5da0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/cpuid.h
M clang/test/Headers/__cpuidex_conflict.c
Log Message:
-----------
[Clang] Fix __cpuidex conflict with CUDA (#152556)
The landing of #126324 made it so that __has_builtin returns false for
aux triple builtins. CUDA offloading can sometimes compile where the
host is in the aux triple (ie x86_64). This patch explicitly carves out
NVPTX so that we do not run into redefinition errors.
Commit: 229d86026fa0e5d9412a0d5004532f0d9733aac6
https://github.com/llvm/llvm-project/commit/229d86026fa0e5d9412a0d5004532f0d9733aac6
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
[NFC][lldb] Speed up lookup of shared modules (#152054)
By profiling LLDB debugging a Swift application without a dSYM and a
large amount of .o files, I identified that querying shared modules was
the biggest bottleneck when running "frame variable", and Clang types
need to be searched.
One of the reasons for that slowness is that the shared module list can
grow very large, and the search through it is O(n).
To solve this issue, this patch adds a new hashmap to the shared module
list whose key is the name of the module, and the value is all the
modules that share that name. This should speed up any search where the
query contains the module name.
rdar://156753350
Commit: 740f690831a2eb09ba73b4fb5456a37ae62a5051
https://github.com/llvm/llvm-project/commit/740f690831a2eb09ba73b4fb5456a37ae62a5051
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][rocdl] Add `readfirstlane` intrinsic (#152551)
Commit: 1e2e903684719a0bdf559af261ffff9f551f4ebb
https://github.com/llvm/llvm-project/commit/1e2e903684719a0bdf559af261ffff9f551f4ebb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/vtable-addrpt.cir
Log Message:
-----------
[CIR] Add VTableAddrPointOp (#148730)
This change adds the definition of VTableAddrPointOp and the related
AddressPointAttr to the CIR dialect, along with tests for the parsing
and verification of these elements.
Code to generate this operation will be added in a later change.
Commit: 4e11f89904dc9b77ef44b01c68742e5b00bfdf21
https://github.com/llvm/llvm-project/commit/4e11f89904dc9b77ef44b01c68742e5b00bfdf21
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/Disassembler/RISCV/riscv-mapping-symbols.s
R llvm/test/MC/RISCV/large-instructions.s
A llvm/test/MC/RISCV/large-instructions.test
M llvm/test/MC/RISCV/nop-slide.s
M llvm/test/MC/RISCV/rvv/vsetvl-invalid.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[RISCV] Basic Objdump Mapping Symbol Support (#151452)
This implements very basic support for RISC-V mapping symbols in
llvm-objdump, sharing the implementation with how Arm/AArch64/CSKY
implement this feature.
This only supports the `$x` (instruction) and `$d` (data) mapping
symbols for RISC-V, and not the version of `$x` which includes an
architecture string suffix.
Commit: 9f102a90042fd3757c207112cfe64ee10182ace5
https://github.com/llvm/llvm-project/commit/9f102a90042fd3757c207112cfe64ee10182ace5
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
A llvm/test/CodeGen/AMDGPU/integer-canonicalizing-src-modifiers.ll
A llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
Log Message:
-----------
[AMDGPU] Recognise bitmask operations as srcmods on select (#152119)
Add to the VOP patterns to recognise when or/xor/and are masking only the most significant bit of i32/v2i32/i64 and replace with the corresponding FP source modifier.
Commit: 77c79313d1360b4f44919ddb7993543e3ac0a2b1
https://github.com/llvm/llvm-project/commit/77c79313d1360b4f44919ddb7993543e3ac0a2b1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
[ADT] Fix a comment typo in SmallPtrSet (NFC) (#152565)
In the large mode, SmallPtrSet uses quadratic probing with ProbeAmt++
just like DenseMap.
Commit: 38542efcbabf5ae8ec4b3169321ac793f103bae0
https://github.com/llvm/llvm-project/commit/38542efcbabf5ae8ec4b3169321ac793f103bae0
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A flang/test/Driver/atomic-control-options.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-atomic-capture-control-options.mlir
A mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
Log Message:
-----------
[flang][OMPIRBuilder][MLIR][llvm] Backend support for atomic control options (#151579)
Adding mlir to llvm support for atomic control options.
Atomic Control Options are used to specify architectural characteristics
to help lowering of atomic operations. The options used are:
`-f[no-]atomic-remote-memory`, `-f[no-]atomic-fine-grained-memory`,
`-f[no-]atomic-ignore-denormal-mode`.
Legacy option `-m[no-]unsafe-fp-atomics` is aliased to
`-f[no-]ignore-denormal-mode`.
More details can be found in
https://github.com/llvm/llvm-project/pull/102569. This PR implements the
MLIR to LLVM lowering support of atomic control attributes specified
with OpenMP `atomicUpdateOp`.
Initial support can be found in PR:
https://github.com/llvm/llvm-project/pull/150860
Commit: f68eedde7561cbe36ca775aa2d05de724fe04f96
https://github.com/llvm/llvm-project/commit/f68eedde7561cbe36ca775aa2d05de724fe04f96
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port #151410: constFoldBinaryOp (#152568)
Commit: 069bf187ccc432fa379287670461462ed5001a04
https://github.com/llvm/llvm-project/commit/069bf187ccc432fa379287670461462ed5001a04
Author: itrofimow <i.trofimow at yandex.ru>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
Log Message:
-----------
[DWARF] Speedup .gdb_index dumping (#151806)
This patch drastically speed ups dumping .gdb_index for large indexes
Commit: ca52d9b8bebd9214db8ab71f87a1d5eb6d2ad42e
https://github.com/llvm/llvm-project/commit/ca52d9b8bebd9214db8ab71f87a1d5eb6d2ad42e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
Log Message:
-----------
[CIR] Upstream EHScopeStack memory allocator (#152215)
When the cleanup handling code was initially upstreamed, a SmallVector
was used to simplify the handling of the stack of cleanup objects.
However, that mechanism won't scale well enough for the rate at which
cleanup handlers are going to be pushed and popped while compiling a
large program. This change introduces the custom memory allocator which
is used in classic codegen and the CIR incubator.
Thiis does not otherwise change the cleanup handling implementation and
many parts of the infrastructure are still missing.
This is not intended to have any observable effect on the generated CIR,
but it does change the internal implementation significantly, so it's
not exactly an NFC change. The functionality is covered by existing
tests.
Commit: 75cc77e55e12d39aed94702b0b1365e39713081e
https://github.com/llvm/llvm-project/commit/75cc77e55e12d39aed94702b0b1365e39713081e
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
Revert "[NFC][lldb] Speed up lookup of shared modules (#152054)" (#152582)
This reverts commit 229d86026fa0e5d9412a0d5004532f0d9733aac6.
Commit: c43c1c0c45fc1ec3fab7abd6e19b318f6468bf28
https://github.com/llvm/llvm-project/commit/c43c1c0c45fc1ec3fab7abd6e19b318f6468bf28
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
Update .git-blame-ignore-revs for Pack/Unpack move (#152469)
Adds this large patch that merely moved Pack/Unpack Ops from the Tensor
to Linalg dialects:
* https://github.com/llvm/llvm-project/pull/123902
Commit: d09dbdabb93ffdd6df25ae487c95a552f13e5e16
https://github.com/llvm/llvm-project/commit/d09dbdabb93ffdd6df25ae487c95a552f13e5e16
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] bf16 clamp folding (#152573)
Commit: 11e1d465860903fd9ead27c0c1e60de4439011db
https://github.com/llvm/llvm-project/commit/11e1d465860903fd9ead27c0c1e60de4439011db
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
[lldb] Fix UBSan complaints for #151460
Commit: b9c328480cc5c9fbc2940ce323a8dcb30a042b58
https://github.com/llvm/llvm-project/commit/b9c328480cc5c9fbc2940ce323a8dcb30a042b58
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Sema/SemaWasm.cpp
A clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/Sema/builtins-wasm.c
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
Log Message:
-----------
[clang][WebAssembly] Support reftypes & varargs in test_function_pointer_signature (#150921)
I fixed support for varargs functions
(previously it didn't crash but the codegen was incorrect).
I added tests for structs and unions which already work. With the
multivalue abi they crash in the backend, so I added a sema check that
rejects structs and unions for that abi.
It will also crash in the backend if passed an int128 or float128 type.
Commit: 9234066476aa82cfac3cee564883a3124df4584e
https://github.com/llvm/llvm-project/commit/9234066476aa82cfac3cee564883a3124df4584e
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/stabs.s
Log Message:
-----------
[lld-macho] Process OSO prefix only textually in both input and output (#152063)
The processing of `-oso_prefix` uses `llvm::sys::fs::real_path` from the
user value, but it is later tried to be matched with the result of
`make_absolute`. While `real_path` resolves special symbols like `.`,
`..` and `~`, and resolves symlinks along the path, `make_absolute` does
neither, causing an incompatibility in some situations.
In macOS, temporary directories would normally be reported as
`/var/folders/<random>`, but `/var` is in fact a symlink to
`private/var`. If own is working on a temporary directory and uses
`-oso_prefix .`, it will be expanded to `/private/var/folder/<random>`,
while `make_absolute` will expand to `/var/folder/<random>` instead, and
`-oso_prefix` will fail to remove the prefix from the `N_OSO` entries,
leaving absolute paths to the temporary directory in the resulting file.
This would happen in any situation in which the working directory
includes a symlink, not only in temporary directories.
One can change the usage of `make_absolute` to use `real_path` as well,
but `real_path` will mean checking the file system for each `N_OSO`
entry. The other solution is stop using `real_path` when processing
`-oso_prefix` and manually expand an input of `.` like `make_absolute`
will do.
This second option is the one implemented here, since it is the closest
to the visible behaviour of ld64 (like the removed comment notes), so it
is the better one for compatibility. This means that a test that checked
the usage of the tilde as `-oso_prefix` needs to be removed (since it
was done by using `real_path`), and two new tests are provided checking
that symlinks do not affect the result. The second test checks a change
in behaviour, in which if one provides the input files with a prefix of
`./`, even when using `-oso_prefix .` because the matching is textual,
the `./` prefix will stay in the `N_OSO` entries. This matches the
observed behaviour of ld64.
Commit: bc814348ec0412362b062cb2928e5fc76d31bccb
https://github.com/llvm/llvm-project/commit/bc814348ec0412362b062cb2928e5fc76d31bccb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Break up ResolveOmpObject for readability, NFC (#151957)
The function ResolveOmpObject had a lot of highly-indented code in two
variant visitors. Extract the visitors into their own functions, and
reformat the code. Replace !(||) with !&&! in a couple of places to make
the formatting a bit nicer. Use llvm::enumerate instead of manually
maintaining iteration index.
Commit: 7a16a1ddb2eaa8c31cd648b0567897f551f8f6c6
https://github.com/llvm/llvm-project/commit/7a16a1ddb2eaa8c31cd648b0567897f551f8f6c6
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL] Add `isHLSLResourceRecordArray` method to `clang::Type` (#152450)
Adds the `isHLSLResourceRecordArray()` method to the `Type` class. This method returns `true` if the `Type` represents an array of HLSL resource records. Defining this method on `Type` makes it accessible from both sema and codegen.
Commit: adae37080587bf18da4b1ce3453a671d73bec724
https://github.com/llvm/llvm-project/commit/adae37080587bf18da4b1ce3453a671d73bec724
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
Log Message:
-----------
[SLP][NFC]Cleanup undefs and the whole test, NFC
Commit: 41b5880c957320b1be68cdb642ba735fdd27bb7c
https://github.com/llvm/llvm-project/commit/41b5880c957320b1be68cdb642ba735fdd27bb7c
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
M lldb/test/Shell/SymbolFile/PDB/vbases.test
Log Message:
-----------
[LLDB] Run a few more PDB tests with native PDB as well (#152580)
Some DIA PDB tests pass with the native plugin already, but didn't test
this. This adds test runs with the native plugin - no functional
changes.
In addition to the x86 calling convention test, there's also
https://github.com/llvm/llvm-project/blob/9f102a90042fd3757c207112cfe64ee10182ace5/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test,
but I can't test this.
Commit: 536e414b14edb2cfea59b0482a5b968ad34953a7
https://github.com/llvm/llvm-project/commit/536e414b14edb2cfea59b0482a5b968ad34953a7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Tee Ninja Output to Log Files
This patch makes all of the ninja commands in the monolithic-* scripts
write to log files in the current working directory. The plan is to use
this to feed the ninja log into generate_test_report_github.py so we can
surface compilation errors.
Related to #152246.
Reviewers: Keenuts, lnihlen, cmtice, dschuff, gburgessiv
Reviewed By: Keenuts, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/152331
Commit: abc22f771ebe05c2aeb8386337d9fb8d2bdd1094
https://github.com/llvm/llvm-project/commit/abc22f771ebe05c2aeb8386337d9fb8d2bdd1094
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
Log Message:
-----------
[AMDGPU] Fix buffer addressing mode matching (#152584)
Starting in gfx1250, voffset and immoffset are zero-extended from 32
bits
to 45 bits before being added together.
Commit: 72bc1bea7a28f432658967463af2104db4663156
https://github.com/llvm/llvm-project/commit/72bc1bea7a28f432658967463af2104db4663156
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Allow non-contiguous destination memrefs for gather_to_lds (#152559)
The requirement that the LDS operand is contiguous is overly restrictive
because it's perfectly valid to have a subview depend on subgroup IDs
that is still subgroup contiguous. We could continue trying to do this
verification based on the number of copied elements, but instead this
change just opts to clarify the semantics on the op definition.
Commit: 9faac938e1b03ea23e7212550860f8b8001757e1
https://github.com/llvm/llvm-project/commit/9faac938e1b03ea23e7212550860f8b8001757e1
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Log Message:
-----------
[sanitizer] Warn if allocator size exceeds max user virtual address (#152428)
This warns the user of incompatible configurations, such as 39-bit and
42-bit VMAs for AArch64 non-Android Linux ASan
(https://github.com/llvm/llvm-project/issues/145259).
Commit: 49ccf46adc455b64c2be0006092651182b1cb2c4
https://github.com/llvm/llvm-project/commit/49ccf46adc455b64c2be0006092651182b1cb2c4
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMP] [IR Builder] Changes to Support Scan Operation (#136035)
Scan reductions are supported in OpenMP with the help of scan directive.
Reduction clause of the for loop/simd directive can take an `inscan`
modifier along with the body of the directive specifying a `scan`
directive. This PR implements the lowering logic for scan reductions in
workshare loops of OpenMP.
The body of the for loop is split into two loops (Input phase loop and
Scan Phase loop) and a scan reduction loop is added in the middle. The
Input phase loop populates a temporary buffer with initial values that
are to be reduced. The buffer is used by the reduction loop to perform
scan reduction. Scan phase loop copies the values of the buffer to the
reduction variable before executing the scan phase. Below is a high
level view of the code generated.
```
<declare pointer to buffer> ptr
omp parallel {
size num_iters = <num_iters>
// temp buffer allocation
omp masked {
buff = malloc(num_iters*scanvarstype)
*ptr = buff
}
barrier;
// input phase loop
for (i: 0..<num_iters>) {
<input phase>;
buffer = *ptr;
buffer[i] = red;
}
// scan reduction
omp masked
{
for (int k = 0; k != ceil(log2(num_iters)); ++k) {
i=pow(2,k)
for (size cnt = last_iter; cnt >= i; --cnt) {
buffer = *ptr;
buffer[cnt] op= buffer[cnt-i];
}
}
}
barrier;
// scan phase loop
for (0..<num_iters>) {
buffer = *ptr;
red = buffer[i] ;
<scan phase>;
}
// temp buffer deletion
omp masked {
free(*ptr)
}
barrier;
}
```
The temporary buffer needs to be shared between all threads performing
reduction since it is read/written in Input and Scan workshare Loops.
This is achieved by declaring a pointer to the buffer in the shared
region and dynamically allocating the buffer by the master thread.
This is the reason why allocation, deallocation and scan reduction are
performed within `masked`. The code is verified to produce correct
results for Fortran programs with the code changes in the PR
https://github.com/llvm/llvm-project/pull/133149
Commit: 82046c7f339a74a198ec7b17612243663732c7f7
https://github.com/llvm/llvm-project/commit/82046c7f339a74a198ec7b17612243663732c7f7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
Log Message:
-----------
[AMDGPU] Adjust hard clause rules for gfx1250 (#152592)
Change from GFX12: Relax S_CLAUSE rules to all all non-flat memory types
in
the same clause, and all Flat types in the same.
For VMEM/FLAT clause types now look like:
- Non-Flat (load, store, atomic): buffer, global, scratch, TDM, Async
- Flat: load, store, atomic
Commit: 47f54e499210c2a66da0441b7ae54974a57d2182
https://github.com/llvm/llvm-project/commit/47f54e499210c2a66da0441b7ae54974a57d2182
Author: Rafael Auler <rafaelauler at meta.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
Revert "[BOLT][NFC] Register profiled functions once (#150622)" (#152597)
In perf2bolt, we are observing sporadic crashes in the recently added
registerProfiledFunctions from #150622. Addresses provided by the
hardware (from LBR) might be -1, which clashes with what LLVM uses in
DenseSet as empty tombstones records. This causes DenseSet to assert
with "can't insert empty tombstone into map" when ingesting this
data. Revert this change for now to unbreak perf2bolt.
Commit: cb2d56ce960714ce6fce39e8b846326969a30c2d
https://github.com/llvm/llvm-project/commit/cb2d56ce960714ce6fce39e8b846326969a30c2d
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[NFC][HLSL][DirectX] Consolidate `ResourceClassNames` (#152213)
During the split of the various `Frontend/HLSL` libraries, there was an
oversight to duplicate the `ResourceClassNames` definitions. This commit
simply consolidates the definitions into `DXContainer.h` as
`getResourceClasses`
Commit: dddeb07c2ea9bc4e507d3bd34980fa6e9513ed9f
https://github.com/llvm/llvm-project/commit/dddeb07c2ea9bc4e507d3bd34980fa6e9513ed9f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_err.s
Log Message:
-----------
[AMDGPU] Restrict packed math FP32 instructions to read only one SGPR per operand on gfx12+ (#152465)
Sec. 4.6.7.1 of the gfx1250 SPG states that if an SGPR is used
as an operand, only one SGPR will be read for both the low and high
operations. As a result, the corresponding bits in `op_sel` and
`op_sel_hi` must be the same when the operand is an SGPR.
Co-authored-by: Tian, Shilei <Shilei.Tian at amd.com>
Co-authored-by: Tian, Shilei <Shilei.Tian at amd.com>
Commit: 469863111f217aeea98d65b30266f28c7b6c1169
https://github.com/llvm/llvm-project/commit/469863111f217aeea98d65b30266f28c7b6c1169
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Enable CodeGen for v_pk_fma_bf16 (#152578)
Commit: 27ed1f99e250c913715ca75c4f33e42d59a06006
https://github.com/llvm/llvm-project/commit/27ed1f99e250c913715ca75c4f33e42d59a06006
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/CUDAMath.cpp
R offload/unittests/Conformance/device_code/Common.hpp
A offload/unittests/Conformance/device_code/DeviceAPIs.hpp
A offload/unittests/Conformance/device_code/HIPMath.cpp
A offload/unittests/Conformance/device_code/KernelRunner.hpp
M offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/Conformance/include/mathtest/TestRunner.hpp
Log Message:
-----------
[Offload][Conformance] Add support for CUDA Math and HIP Math providers (#152362)
This patch extends the conformance testing infrastructure to support two
new providers of math function implementations for GPUs: CUDA Math
(`cuda-math`) and HIP Math (`hip-math`).
Commit: b8195e3a8e77ec15f6abbcce86d6a51dca13a5c4
https://github.com/llvm/llvm-project/commit/b8195e3a8e77ec15f6abbcce86d6a51dca13a5c4
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/src/dlfcn/dladdr.cpp
M libc/src/dlfcn/dladdr.h
M libc/src/dlfcn/dlinfo.cpp
M libc/src/dlfcn/dlinfo.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
Log Message:
-----------
[libc] Fix typo and amend restrict qualifier (#152410)
This removes an extraneous ',' in the generated dlfcn header.
This also adds `__restrict` to `dladdr`'s declaration per POSIX. Another
fix is made: the C standard `restrict` keyword is removed from
dlinfo.cpp/dlinfo.h (but note that dlfcn.yaml still annotates
`__restrict` for dlinfo's decl).
Commit: 4394a0ca4a7c0687ea0c73cdf994bb36efbc69f2
https://github.com/llvm/llvm-project/commit/4394a0ca4a7c0687ea0c73cdf994bb36efbc69f2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Fix detection of implicit data transfer with a global (#152604)
Commit: 1458eb206fb652358b3ee7e75d95b52f3f4ac333
https://github.com/llvm/llvm-project/commit/1458eb206fb652358b3ee7e75d95b52f3f4ac333
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
R libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
Log Message:
-----------
[NFC][libclc] Delete unused clc/shared/binary_decl_with_scalar_second_arg.inc (#152463)
Commit: 05dd957cda663273ae0e5739656ffe701404f37c
https://github.com/llvm/llvm-project/commit/05dd957cda663273ae0e5739656ffe701404f37c
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DDG/basic-loopnest.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
Log Message:
-----------
[DA] Fix the check between Subscript and Size after delinearization (#151326)
Delinearization provides two values: the size of the array, and the
subscript of the access. DA checks their validity (`0 <= subscript <
size`), with some special handling. In particular, to ensure `subscript
< size`, calculate the maximum value of `subscript - size` and check if
it is negative. There was an issue in its process: when `subscript -
size` is expressed as an affine format like `init + step * i`, the value
in the last iteration (`start + step * (num_iterations - 1)`) was
assumed to be the maximum value. This assumption is incorrect in the
following cases:
- When `step` is negative
- When the AddRec wraps
This patch introduces extra checks to ensure the sign of `step` and
verify the existence of nsw/nuw flags.
Also, `isKnownNonNegative(S - smax(1, Size))` was used as a regular
check, which is incorrect when `Size` is negative. This patch also
replace it with `isKnownNonNegative(S - Size)`, although it's still
unclear whether using `isKnownNonNegative` is appropriate in the first
place.
Fix #150604
Commit: c9f3a706e7a3d265d995424ac8f3f082ffaf980e
https://github.com/llvm/llvm-project/commit/c9f3a706e7a3d265d995424ac8f3f082ffaf980e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Add riscv32 as a supported arch (#152619)
Commit: 3769ce013be2879bf0b329c14a16f5cb766f26ce
https://github.com/llvm/llvm-project/commit/3769ce013be2879bf0b329c14a16f5cb766f26ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/test/ELF/riscv-relax-align.s
M lld/test/ELF/riscv-relax-emit-relocs.s
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/RISCV/Relocations/align-after-relax.s
A llvm/test/MC/RISCV/Relocations/align-norvc.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/align-option-relax.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/cfi-advance.s
M llvm/test/MC/RISCV/nop-slide.s
Log Message:
-----------
MC: Refine ALIGN relocation conditions
Each section now tracks the index of the first linker-relaxable
fragment, enabling two changes:
* Delete redundant ALIGN relocations before the first linker-relaxable
instruction in a section. The primary example is the offset 0
R_RISCV_ALIGN relocation for a text section aligned by 4.
* For alignments larger than the NOP size after the first
linker-relaxable instruction, ALIGN relocations are now generated, even in
norelax regions. This fixes the issue #150159.
The new test llvm/test/MC/RISCV/Relocations/align-after-relax.s
verifies the required ALIGN in a norelax region following
linker-relaxable instructions.
By using a fragment index within the subsection (which is less than or
equal to the section's index), the implementation may generate redundant
ALIGN relocations in lower-numbered subsections before the first
linker-relaxable instruction.
align-option-relax.s demonstrates the ALIGN optimization.
Add an initial `call` to a few tests to prevent the ALIGN optimization.
---
When the alignment exceeds 2, we insert $alignment-2 bytes of NOPs, even
in non-RVC code. This enables non-RVC code following RVC code to handle
a 2-byte adjustment without requiring an additional state in MCSection
or AsmParser.
```
.globl _start
_start:
// GNU ld can relax this to 6505 lui a0, 0x1
// LLD hasn't implemented this transformation.
lui a0, %hi(foo)
.option push
.option norelax
.option norvc
// Now we generate R_RISCV_ALIGN with addend 2, even if this is a norvc region.
.balign 4
b0:
.word 0x3a393837
.option pop
foo:
```
Pull Request: https://github.com/llvm/llvm-project/pull/150816
Commit: b9ca01b7464caa211841f88281d0a7ed0a97d634
https://github.com/llvm/llvm-project/commit/b9ca01b7464caa211841f88281d0a7ed0a97d634
Author: Jim Lin <jim at andestech.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Move the decoder table for XCV, Xqci and XRivos from standard section to vendor section. NFC
Commit: ffdaf85a95026945c654f981b09267ce9f81ae80
https://github.com/llvm/llvm-project/commit/ffdaf85a95026945c654f981b09267ce9f81ae80
Author: Pengying Xu <xpy66swsry at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/ELF/BPSectionOrderer.cpp
M lld/test/ELF/bp-section-orderer.s
Log Message:
-----------
[lld][ELF] filter out section symbols when use BP reorder (#151685)
When using Temporal Profiling with the BP algorithm, we encounter an
issue with the internal function reorder. In cases where the symbol
table contains entries like:
```
Symbol table '.symtab' contains 45 entries:
Num: Value Size Type Bind Vis Ndx Name
10: 0000000000000000 0 SECTION LOCAL DEFAULT 18 .text.L1
11: 0000000000000000 24 FUNC LOCAL DEFAULT 18 L1
````
The zero-sized section symbol .text.L1 gets stored in the secToSym map
first. However, when the function lookup searches for L1 (as seen in
[BPSectionOrdererBase.inc:191](https://github.com/llvm/llvm-project/blob/main/lld/include/lld/Common/BPSectionOrdererBase.inc#L191)),
it fails to find the correct entry in rootSymbolToSectionIdxs because
the section symbol has already claimed that slot.
This patch fixes the issue by skipping zero-sized symbols during the
addSections process, ensuring that function symbols are properly
registered for lookup.
Commit: 7d886fab74d4037d654d02bed24dd97c0ba863d6
https://github.com/llvm/llvm-project/commit/7d886fab74d4037d654d02bed24dd97c0ba863d6
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[mlir][gpu] Update attribute definitions in `gpu::LaunchOp` (#152106)
`gpu::LaunchOp` is updated the following way:
- Change the attribute type of kernel function and module from
`SymbolRefAttr` to `FlatSymbolRefAttr` to avoid nested symbol
references.
- Rename variables from camel case (kernelFunc, kernelModule) to lower
case (function, module) and update the syntax.
- `LaunchOp::build` support passing `module` and `function` attributes.
Commit: 15a705dc931aace6ea2edf895e4258e0c3d825a0
https://github.com/llvm/llvm-project/commit/15a705dc931aace6ea2edf895e4258e0c3d825a0
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/ceilbf16.h
A libc/src/math/floorbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/ceilbf16.cpp
A libc/src/math/generic/floorbf16.cpp
A libc/src/math/generic/roundbf16.cpp
A libc/src/math/generic/roundevenbf16.cpp
A libc/src/math/generic/truncbf16.cpp
A libc/src/math/roundbf16.h
A libc/src/math/roundevenbf16.h
A libc/src/math/truncbf16.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/ceilbf16_test.cpp
A libc/test/src/math/smoke/floorbf16_test.cpp
A libc/test/src/math/smoke/roundbf16_test.cpp
A libc/test/src/math/smoke/roundevenbf16_test.cpp
A libc/test/src/math/smoke/truncbf16_test.cpp
Log Message:
-----------
[libc][math][c++23] Add {ceil,floor,round,roundeven,trunc}bf16 math functions (#152352)
This PR implements the following basic math functions for BFloat16 type
along with the tests:
- ceilbf16
- floorbf16
- roundbf16
- roundevenbf16
- truncbf16
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: d7d0d7a80fc343750bbf85ea8c184737d9c70f62
https://github.com/llvm/llvm-project/commit/d7d0d7a80fc343750bbf85ea8c184737d9c70f62
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_loop_unstructured.f90
Log Message:
-----------
[flang] Skip processing reductions for unstructured `do concurrent` loops (#150188)
Fixes #149563
When emitting unstructured `do concurrent` loops, reduction processing
should be skipped since we are not emitting `fir.do_concurrent` loop in
the first place.
Commit: 92ac1ac9046d785f5f0c68e2d9f74b05c4db5d9c
https://github.com/llvm/llvm-project/commit/92ac1ac9046d785f5f0c68e2d9f74b05c4db5d9c
Author: Dominic Chen <1108560+ddcc at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
Log Message:
-----------
[lldb] Fix incorrect print of UUID and load address (#152560)
The current display is missing a space, for example:
```
no target │ Locating binary: 24906A83-0182-361B-8B4A-90A249B04FD7at 0x0000000c0d108000
```
Co-authored-by: Dominic Chen <daming_chen at apple.com>
Commit: 0720af8c24f1e11217a6492fed5e3f60c0a02a19
https://github.com/llvm/llvm-project/commit/0720af8c24f1e11217a6492fed5e3f60c0a02a19
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
Log Message:
-----------
[LV][RISCV] Precommit RUN line changes from #151681. NFC
In preparation for enabling EVL tail folding by default.
Commit: 856a8b5ef9f40361f14b488a5dced9e9989f6fa8
https://github.com/llvm/llvm-project/commit/856a8b5ef9f40361f14b488a5dced9e9989f6fa8
Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
Log Message:
-----------
[mlir][linalg] Add mixed precision folding pattern in vectorize_children_and_apply_patterns TD Op (#148684)
In case of mixed precision inputs, the inputs are generally casted to
match output type thereby introduces arith.extFOp/extIOp instructions.
Folding such pattern into vector.contract is desirable for HW having
mixed precision ISA support.
This patch adds folding of mixed precision pattern into vector.contract
optionaly which can be enabled using attribute
`fold_type_extensions_into_contract`.
Commit: 2422972eeaebe94f591be2325563785ab7254d4e
https://github.com/llvm/llvm-project/commit/2422972eeaebe94f591be2325563785ab7254d4e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPMatcher.h
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc] Migrate FEnvSafeTest and FPTest to ErrnoCheckingTest. (#152633)
This would ensure that errno value is cleared out before test execution
and tests pass even when LIBC_ERRNO_MODE_SYSTEM_INLINE is specified (and
errno may be clobbered before test execution).
A lot of the tests would fail, however, since errno would end up getting
set to EDOM or ERANGE during test execution and never validated before
the end of the test. This should be fixed - and errno should be
explicitly checked or ignored in all of those cases, but for now add a
TODO to address it later (see open issue #135320) and clear out errno in
test fixture to avoid test failures.
Commit: 2d4bac867552aa361c16db26a01d36f27507994f
https://github.com/llvm/llvm-project/commit/2d4bac867552aa361c16db26a01d36f27507994f
Author: Andrey <andrey.a.davydov at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
Reland "[clang-tidy] fix bugprone-narrowing-conversions false positive for conditional expression" (#151874)
This is another attempt to merge previously
[reverted](https://github.com/llvm/llvm-project/pull/139474#issuecomment-3148339124)
PR #139474. The added tests
`narrowing-conversions-conditional-expressions.c[pp]` failed on
[different (non x86_64)
platforms](https://github.com/llvm/llvm-project/pull/139474#issuecomment-3148334280)
because the expected warning is implementation-defined. That's why the
test must explicitly specify target (the line `// RUN: -- -target
x86_64-unknown-linux`).
Commit: 0bdd312b1d0d4b9d30170f384d44fa017acfb096
https://github.com/llvm/llvm-project/commit/0bdd312b1d0d4b9d30170f384d44fa017acfb096
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
Log Message:
-----------
[AMDGPU] Generate some WQM/WWM tests (NFC) (#152635)
Update llvm.amdgcn.kill.ll and wqm.mir to be generated.
This preparatory work for refactoring of WQM/WWM pass.
Commit: 6a425f1e54d759ddc22afcbe1df442c7b35077c1
https://github.com/llvm/llvm-project/commit/6a425f1e54d759ddc22afcbe1df442c7b35077c1
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/scmp.ll
M llvm/test/CodeGen/ARM/ucmp.ll
M llvm/test/CodeGen/Thumb/scmp.ll
M llvm/test/CodeGen/Thumb/ucmp.ll
Log Message:
-----------
[ARM] Have custom lowering for ucmp and scmp (#149315)
Limited to non-thumb1 for scmp at the moment, since there is no good way
to do it.
Commit: eccc6e22f81141691542f5dd5bbb7996e446a44f
https://github.com/llvm/llvm-project/commit/eccc6e22f81141691542f5dd5bbb7996e446a44f
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterTest.cpp
A clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
Log Message:
-----------
[clang-repl] Enable extending `launchExecutor` (#152562)
This patch introduces the ability to customize the fork process with an external lambda function. This is useful for downstream clients where they want to do stream redirection.
Commit: a82ca1b5603a4ed9598b784f703d908f32e970b8
https://github.com/llvm/llvm-project/commit/a82ca1b5603a4ed9598b784f703d908f32e970b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
A llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Object] Parsing and dumping of SFrame Frame Row Entries (#151301)
The trickiest part here is that the FREs have a variable size, in two
(or three?) dimensions:
- the size of the StartAddress field. This determined by the FDE they
are in, so it is uniform across all FREs in one FDE.
- the number and sizes of offsets following the FRE. This can be
different for each FRE.
While vending this information through a template API would be possible,
I believe such an approach would be very unwieldy, and it would still
require a sequential scan through the FRE list. This is why I'm
implementing this by reading the data into a common data structure using
the fallible iterator pattern.
For more information about the SFrame unwind format, see the
[specification](https://sourceware.org/binutils/wiki/sframe) and the
related
[RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
Commit: 707447159341f7b5678dee4f47731af50524b9ae
https://github.com/llvm/llvm-project/commit/707447159341f7b5678dee4f47731af50524b9ae
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
Log Message:
-----------
[RISCV] Enable tail folding by default (#151681)
We have been tracking the performance of EVL tail folding in the loop
vectorizer on RISC-V for a while now, and after much hard work from
various contributors we think it should be generally profitable to
enable by default now.
With tail folding there is a 21% improvement on 525.x264_r on SPEC CPU
2017 on the BPI-F3 (-march=rva22u64_v -O3 -flto), as well as a 30%
geomean codesize reduction on SPEC and TSVC, with no significant
regressions detected.
Now that we are early into the LLVM 22.x development cycle it seems like
a good time to enable it to catch any issues. There are still more EVL
related items of work being tracked in #123069, which should continue to
improve performance.
Commit: 7e8a251f751c47f31103db2975a34d1b7780d992
https://github.com/llvm/llvm-project/commit/7e8a251f751c47f31103db2975a34d1b7780d992
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
R llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Revert "[Object] Parsing and dumping of SFrame Frame Row Entries" (#152650)
Reverts llvm/llvm-project#151301 - build breakage on multiple bots.
Commit: 229ab5aa2b11bb8738db2810677abfc89050ad80
https://github.com/llvm/llvm-project/commit/229ab5aa2b11bb8738db2810677abfc89050ad80
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
Log Message:
-----------
[AArch64] Drop flags from BSP pseudos (#151856)
This prevents cases where some of the operands match from hitting
verifier errors with kill flags. These nodes should have been removed
earlier in most cases.
Fixes the direct issue from #149380. #151855 cleans up the codegen.
Commit: 3a561bc66264321d4c9f80d1249cb8fe1fa31e22
https://github.com/llvm/llvm-project/commit/3a561bc66264321d4c9f80d1249cb8fe1fa31e22
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Add tests for commutable [usp]mull, [us]addl, [us]abdl (#152512)
Precommit tests for PR #152158.
Commit: 5f864560a6514bb74ecc1e0c7d3ff8c412228bfe
https://github.com/llvm/llvm-project/commit/5f864560a6514bb74ecc1e0c7d3ff8c412228bfe
Author: Paul Murphy <murp at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/test/CodeGen/PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir
Log Message:
-----------
[PowerPC] fix lowering of SPILL_CRBIT on pwr9 and pwr10 (#146424)
If a copy exists between creation of a crbit and a spill, machine-cp
may delete the copy since it seems unaware of the relation between a cr
and crbit. A fix was previously made for the generic ppc64 lowering. It
should be applied to the pwr9 and pwr10 variants too.
Likewise, relax and extend the pwr8 test to verify pwr9 and pwr10
codegen too.
This fixes #143989.
Commit: e977b28c37c174c1b93ad78314650e03b545f560
https://github.com/llvm/llvm-project/commit/e977b28c37c174c1b93ad78314650e03b545f560
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
Log Message:
-----------
[InstCombine] Match intrinsic recurrences when known to be hoisted
For value-accumulating recurrences of kind:
```
%umax.acc = phi i8 [ %umax, %backedge ], [ %a, %entry ]
%umax = call i8 @llvm.umax.i8(i8 %umax.acc, i8 %b)
```
The binary intrinsic may be simplified into an intrinsic with init
value and the other operand, if the latter is loop-invariant:
```
%umax = call i8 @llvm.umax.i8(i8 %a, i8 %b)
```
Proofs: https://alive2.llvm.org/ce/z/ea2cVC.
Fixes: https://github.com/llvm/llvm-project/issues/145875.
Commit: 6a32e2225ed42a1cb846d9753c5589e3462924c5
https://github.com/llvm/llvm-project/commit/6a32e2225ed42a1cb846d9753c5589e3462924c5
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
Log Message:
-----------
[AArch64] Add SVE fmuladd and fma cost tests. NFC
Commit: 29cde86ecc81cfe0770bf366ddaec522d3885c75
https://github.com/llvm/llvm-project/commit/29cde86ecc81cfe0770bf366ddaec522d3885c75
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] Removed extra blank lines from tests. NFC. (#152612)
Commit: ff0093cecd0c807d122cfb6b74634074c962ade9
https://github.com/llvm/llvm-project/commit/ff0093cecd0c807d122cfb6b74634074c962ade9
Author: Harald-R <rotuna.razvan at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
Log Message:
-----------
[clangd] Use resolved path when checking AngledHeaders/QuotedHeaders in IncludeInserter (#148371)
This makes IncludeInserter's behavior consistent with include-cleaner,
as discussed in https://github.com/llvm/llvm-project/pull/140594.
Commit: c7c022948031a3c79b92b1a0497dc75868382d17
https://github.com/llvm/llvm-project/commit/c7c022948031a3c79b92b1a0497dc75868382d17
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
R llvm/test/CodeGen/AMDGPU/test_isel_single_lane.ll
M llvm/unittests/CodeGen/SelectionDAGTestBase.h
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
Revert "[AMDGPU] SelectionDAG divergence tracking should take into account Target divergency. (#147560)" (#152548)
This reverts commit 9293b65a616b8de432a654d046e802540b146372.
Commit: 18e4f775c33af123772409ffde69dd424b98814a
https://github.com/llvm/llvm-project/commit/18e4f775c33af123772409ffde69dd424b98814a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
Log Message:
-----------
[SystemZ] Remove incorrect areInlineCompatible hook (#152494)
This reverts https://github.com/llvm/llvm-project/pull/132976.
The PR incorrectly claimed that this makes inlining more liberal,
referencing the string comparison in TargetTransformInfoImpl.h.
However, the implementation that actually applies is the one in
BasicTTIImpl.h, which performs a feature subset comparison. As such,
this regressed inlining, most concerningly of functions without +vector
into functions with +vector.
Revert the change to restore the previous behavior.
Commit: 6ebb8901cc0907ed4ff19444be5c545e918c1b52
https://github.com/llvm/llvm-project/commit/6ebb8901cc0907ed4ff19444be5c545e918c1b52
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M bolt/lib/Passes/FrameOptimizer.cpp
A bolt/test/AArch64/unsupported-passes.test
Log Message:
-----------
[BOLT][AArch64] Refuse to run FrameOptimizer pass (#152309)
FrameOptimizer pass runs by default on all targets, however, it defaults
to --frame-opt=none. This patch prevents the pass from running on
non-x86 targets when any other value (hot, full) is specified.
Commit: e9d71efb833d6f9fafd5cdff0f79d5c19b458a54
https://github.com/llvm/llvm-project/commit/e9d71efb833d6f9fafd5cdff0f79d5c19b458a54
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Mark [usp]mull, [us]addl, [us]abdl as commutative (#152158)
Fixes #61461.
Commit: 94c48a21bbdf0589540cb55057c216607e764919
https://github.com/llvm/llvm-project/commit/94c48a21bbdf0589540cb55057c216607e764919
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/aarch64-histcnt-dag-combine-hang.ll
Log Message:
-----------
[AArch64][SVE] Fix hang in VECTOR_HISTOGRAM DAG combine (#152539)
The histogram DAG combine went into an infinite loop of creating the
same histogram node due to an incorrect use of the `refineUniformBase`
and `refineIndexType` APIs.
These APIs take SDValues by reference (SDValue&) and return `true` if
they were "refined" (i.e., set to new values).
Previously, this DAG combine would create the `Ops` array (used to
create the new histogram node) before calling the `refine*` APIs, which
copies the SDValues into the array, meaning the updated values were not
used to create the new histogram node.
Reproducer: https://godbolt.org/z/hsGWhTaqY (it will timeout)
Commit: 20051b7d6ed4de4301f05c385d3885696bf364df
https://github.com/llvm/llvm-project/commit/20051b7d6ed4de4301f05c385d3885696bf364df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
Log Message:
-----------
[Headers][X86] Ensure the CONSTEXPR attributes are undefined at the end of the vpopcntdq headers (#152663)
Commit: b800930db22d7735eec1d54cc66530ddab123a4d
https://github.com/llvm/llvm-project/commit/b800930db22d7735eec1d54cc66530ddab123a4d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
Log Message:
-----------
[lldb][test] Disable TestDAP_memory.py on 32-bit Arm Linux
This has been very flakey lately:
======================================================================
ERROR: test_writeMemory (TestDAP_memory.TestDAP_memory)
Tests the 'writeMemory' request
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py", line 202, in test_writeMemory
mem_response = self.writeMemory(
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py", line 545, in writeMemory
response = self.dap_server.request_writeMemory(
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 850, in request_writeMemory
return self.send_recv(command_dict)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 403, in send_recv
raise ValueError(desc)
ValueError: no response for "writeMemory"
Config=arm-/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang
======================================================================
ERROR: test_writeMemory (TestDAP_memory.TestDAP_memory)
Tests the 'writeMemory' request
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2067, in tearDown
Base.tearDown(self)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1105, in tearDown
hook() # try the plain call and hope it works
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py", line 486, in cleanup
self.dap_server.request_disconnect(terminateDebuggee=True)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 799, in request_disconnect
return self.send_recv(command_dict)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 397, in send_recv
self.send_packet(command)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 349, in send_packet
self.send.flush()
BrokenPipeError: [Errno 32] Broken pipe
Config=arm-/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang
----------------------------------------------------------------------
General tracking issue - https://github.com/llvm/llvm-project/issues/137660
Commit: c23b4fbdbb70f04e637b488416d8e42449bfa1fb
https://github.com/llvm/llvm-project/commit/c23b4fbdbb70f04e637b488416d8e42449bfa1fb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/C/C11/n1285_1.c
M clang/test/CodeGen/AArch64/ABI-align-packed.c
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/RISCV/riscv-v-lifetime.cpp
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/cleanup-destslot-simple.c
M clang/test/CodeGen/dominating-store-to-return.c
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGen/lifetime.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/temporary-lifetime-exceptions.cpp
M clang/test/CodeGen/temporary-lifetime.cpp
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCXX/amdgcn_declspec_get.cpp
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/CodeGenCXX/destructors.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/stack-reuse-exceptions.cpp
M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/arc-precise-lifetime.m
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenObjCXX/arc-move.mm
M clang/test/CodeGenObjCXX/arc-references.mm
M clang/test/CodeGenObjCXX/arc.mm
M clang/test/CodeGenObjCXX/literals.mm
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/bug56913.c
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/test/Transforms/stack-arrays-lifetime.fir
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Analysis/BasicAA/modref.ll
M llvm/test/Analysis/BasicAA/phi-values-usage.ll
M llvm/test/Analysis/CallGraph/ignore-assumelike-calls.ll
M llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/KernelInfo/openmp/nvptx.ll
M llvm/test/Analysis/LazyValueAnalysis/invalidation.ll
M llvm/test/Analysis/MemorySSA/lifetime-simple.ll
M llvm/test/Analysis/MemorySSA/phi-translation.ll
M llvm/test/Analysis/MemorySSA/pr43044.ll
M llvm/test/Analysis/MemorySSA/pr49859.ll
M llvm/test/Analysis/MemorySSA/renamephis.ll
M llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
M llvm/test/Analysis/ScalarEvolution/sdiv.ll
M llvm/test/Analysis/ScalarEvolution/srem.ll
M llvm/test/Analysis/ScopedNoAliasAA/alias-scope-merging.ll
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
M llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
M llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/vla.ll
M llvm/test/CodeGen/NVPTX/frameindex-lifetime.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/WebAssembly/expand-variadic-call.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/returned.ll
M llvm/test/CodeGen/X86/pr140491-sincos-lifetimes.ll
M llvm/test/CodeGen/X86/select-optimize.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/remove-memory-effects.ll
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/X86/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-coloring.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg-kmsan.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/ARM32/vararg-arm32.ll
M llvm/test/Instrumentation/MemorySanitizer/LoongArch/vararg-loongarch64.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips/vararg-mips64el.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mips.ll
M llvm/test/Instrumentation/MemorySanitizer/Mips32/vararg-mipsel.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC/vararg-ppc64le.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/RISCV32/vararg-riscv32.ll
M llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg-kernel.ll
M llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_call.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/alloca.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_call.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/msan_debug_info.ll
M llvm/test/Instrumentation/MemorySanitizer/msan_llvm_launder_invariant.ll
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
M llvm/test/Transforms/AddDiscriminators/call.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/cmpxchg.ll
M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/SPARC/libcalls.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall.ll
M llvm/test/Transforms/AtomicExpand/Xtensa/atomicrmw-expand.ll
M llvm/test/Transforms/Attributor/heap_to_stack.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/openmp_parallel.ll
M llvm/test/Transforms/Attributor/reduced/register_benchmark_test.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAlloca.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAlloca2.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAlloca4.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAlloca5.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineInvokeProducesOutVal.ll
M llvm/test/Transforms/CodeExtractor/live_shrink.ll
M llvm/test/Transforms/CodeExtractor/live_shrink_gep.ll
M llvm/test/Transforms/CodeExtractor/live_shrink_hoist.ll
M llvm/test/Transforms/CodeExtractor/live_shrink_multiple.ll
M llvm/test/Transforms/CodeExtractor/live_shrink_unsafe.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll
M llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
M llvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-intrinsics.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
R llvm/test/Transforms/Coroutines/coro-alloca-09.ll
M llvm/test/Transforms/Coroutines/coro-alloca-loop-carried-address.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-elide-musttail.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-00.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
M llvm/test/Transforms/Coroutines/coro-only-destroy-when-complete.ll
M llvm/test/Transforms/Coroutines/coro-retcon-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-split-02.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-no-lifetime.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-transform-must-elide.ll
M llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll
M llvm/test/Transforms/DCE/basic.ll
M llvm/test/Transforms/DeadStoreElimination/batchaa-caching-new-pointers.ll
M llvm/test/Transforms/DeadStoreElimination/captures-before-load.ll
M llvm/test/Transforms/DeadStoreElimination/dominate.ll
M llvm/test/Transforms/DeadStoreElimination/libcalls.ll
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/test/Transforms/DeadStoreElimination/memcpy-lifetimes.ll
M llvm/test/Transforms/DeadStoreElimination/multiblock-loop-carried-dependence.ll
M llvm/test/Transforms/DeadStoreElimination/multiblock-malloc-free.ll
M llvm/test/Transforms/DeadStoreElimination/nounwind-invoke.ll
M llvm/test/Transforms/DeadStoreElimination/simple.ll
M llvm/test/Transforms/DeadStoreElimination/trivial-dse-calls.ll
M llvm/test/Transforms/EarlyCSE/memoryssa.ll
M llvm/test/Transforms/ExpandVariadics/expand-va-intrinsic-split-linkage.ll
M llvm/test/Transforms/ExpandVariadics/expand-va-intrinsic-split-simple.ll
M llvm/test/Transforms/ExpandVariadics/indirect-calls.ll
M llvm/test/Transforms/ExpandVariadics/intrinsics.ll
M llvm/test/Transforms/ExpandVariadics/pass-byval-byref.ll
M llvm/test/Transforms/ExpandVariadics/pass-indirect.ll
M llvm/test/Transforms/ExpandVariadics/pass-integers.ll
M llvm/test/Transforms/GVN/cond_br2.ll
M llvm/test/Transforms/GVN/lifetime-simple.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/GVN/vscale.ll
M llvm/test/Transforms/GVNHoist/pr29034.ll
M llvm/test/Transforms/GVNSink/lifetime.ll
M llvm/test/Transforms/GlobalOpt/dead-store-status.ll
M llvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-1.ll
M llvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-2.ll
M llvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-3.ll
M llvm/test/Transforms/HotColdSplit/sink-multiple-bitcasts-of-allocas-pr42451.ll
M llvm/test/Transforms/IROutliner/alloca-addrspace-1.ll
M llvm/test/Transforms/IROutliner/alloca-addrspace.ll
M llvm/test/Transforms/IROutliner/different-intrinsics.ll
M llvm/test/Transforms/IROutliner/different-order-phi-merges.ll
M llvm/test/Transforms/IROutliner/duplicate-merging-phis.ll
M llvm/test/Transforms/IROutliner/exit-block-phi-node-value-attribution.ll
M llvm/test/Transforms/IROutliner/exit-phi-nodes-incoming-value-constant-argument.ll
M llvm/test/Transforms/IROutliner/extraction.ll
M llvm/test/Transforms/IROutliner/gvn-output-set-overload.ll
M llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
M llvm/test/Transforms/IROutliner/illegal-assumes.ll
M llvm/test/Transforms/IROutliner/illegal-memcpy.ll
M llvm/test/Transforms/IROutliner/illegal-memmove.ll
M llvm/test/Transforms/IROutliner/illegal-vaarg.ll
M llvm/test/Transforms/IROutliner/mismatched-phi-exits-not-in-first-outlined.ll
M llvm/test/Transforms/IROutliner/mismatched-phi-exits.ll
M llvm/test/Transforms/IROutliner/mismatched-phi-outputs-ordering.ll
M llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll
M llvm/test/Transforms/IROutliner/no-external-block-entries.ll
M llvm/test/Transforms/IROutliner/one-external-incoming-block-phi-node.ll
M llvm/test/Transforms/IROutliner/outline-memcpy.ll
M llvm/test/Transforms/IROutliner/outline-memmove.ll
M llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
M llvm/test/Transforms/IROutliner/outlining-bitcasts.ll
M llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll
M llvm/test/Transforms/IROutliner/outlining-cost-model.ll
M llvm/test/Transforms/IROutliner/outlining-different-output-blocks.ll
M llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll
M llvm/test/Transforms/IROutliner/outlining-multiple-exits-diff-outputs.ll
M llvm/test/Transforms/IROutliner/outlining-multiple-exits-one-output-set.ll
M llvm/test/Transforms/IROutliner/outlining-multiple-exits.ll
M llvm/test/Transforms/IROutliner/outlining-remapped-outputs.ll
M llvm/test/Transforms/IROutliner/outlining-same-output-blocks.ll
M llvm/test/Transforms/IROutliner/phi-node-exit-path-order.ll
M llvm/test/Transforms/IROutliner/phi-nodes-output-overload.ll
M llvm/test/Transforms/IROutliner/phi-nodes-parent-block-referential.ll
M llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll
M llvm/test/Transforms/IndVarSimplify/exit_value_test2.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/lifetime.ll
M llvm/test/Transforms/InferAddressSpaces/NVPTX/lifetime.ll
M llvm/test/Transforms/Inline/AArch64/sve-alloca-merge.ll
M llvm/test/Transforms/Inline/ML/state-tracking-coro.ll
M llvm/test/Transforms/Inline/access-attributes-prop.ll
M llvm/test/Transforms/Inline/byval-align.ll
M llvm/test/Transforms/Inline/byval-tail-call.ll
M llvm/test/Transforms/Inline/byval-with-non-alloca-addrspace.ll
M llvm/test/Transforms/Inline/byval.ll
M llvm/test/Transforms/Inline/callbr.ll
M llvm/test/Transforms/Inline/devirtualize-4.ll
M llvm/test/Transforms/Inline/dynamic-alloca-simplified-large.ll
M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
M llvm/test/Transforms/Inline/inline-tail.ll
M llvm/test/Transforms/Inline/inlined-mustprogress-loop-metadata.ll
M llvm/test/Transforms/Inline/lifetime-no-datalayout.ll
M llvm/test/Transforms/Inline/lifetime.ll
M llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
M llvm/test/Transforms/Inline/noalias-calls-always.ll
M llvm/test/Transforms/Inline/noalias-calls.ll
M llvm/test/Transforms/InstCombine/assume_inevitable.ll
M llvm/test/Transforms/InstCombine/builtin-object-size-custom-dl.ll
M llvm/test/Transforms/InstCombine/builtin-object-size-offset.ll
M llvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll
M llvm/test/Transforms/InstCombine/compare-alloca.ll
M llvm/test/Transforms/InstCombine/deadcode.ll
M llvm/test/Transforms/InstCombine/lifetime-no-null-opt.ll
M llvm/test/Transforms/InstCombine/lifetime-sanitizer.ll
M llvm/test/Transforms/InstCombine/lifetime.ll
M llvm/test/Transforms/InstCombine/lower-dbg-declare.ll
M llvm/test/Transforms/InstCombine/malloc-free.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/sink_sideeffecting_instruction.ll
M llvm/test/Transforms/InstCombine/trivial-dse-calls.ll
M llvm/test/Transforms/InstCombine/unreachable-alloca-lifetime-markers.ll
M llvm/test/Transforms/InstCombine/vararg.ll
M llvm/test/Transforms/LICM/dropped-tbaa.ll
M llvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll
M llvm/test/Transforms/LICM/loopsink-pr38462.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/lifetime-use.ll
M llvm/test/Transforms/LoopStrengthReduce/lsr-comp-time.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
M llvm/test/Transforms/LoopVectorize/Hexagon/minimum-vf.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-only-for-real.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/mem-interleaving-costs-03.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll
M llvm/test/Transforms/Mem2Reg/alloca_addrspace.ll
M llvm/test/Transforms/Mem2Reg/ignore-droppable.ll
M llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll
M llvm/test/Transforms/MemCpyOpt/callslot_badaa.ll
M llvm/test/Transforms/MemCpyOpt/capturing-func.ll
M llvm/test/Transforms/MemCpyOpt/lifetime-missing.ll
M llvm/test/Transforms/MemCpyOpt/lifetime.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-byval-forwarding-clobbers.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-gep-modification.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
M llvm/test/Transforms/MemCpyOpt/pr29105.ll
M llvm/test/Transforms/MemCpyOpt/preserve-memssa.ll
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
M llvm/test/Transforms/MergeICmps/X86/int64-and-ptr.ll
M llvm/test/Transforms/MoveAutoInit/clobber.ll
M llvm/test/Transforms/NewGVN/coercion-different-ptr.ll
M llvm/test/Transforms/NewGVN/cond_br2-xfail.ll
M llvm/test/Transforms/NewGVN/lifetime-simple.ll
M llvm/test/Transforms/NewGVN/verify-memoryphi.ll
M llvm/test/Transforms/NewGVN/vscale.ll
M llvm/test/Transforms/ObjCARC/inlined-autorelease-return-value.ll
M llvm/test/Transforms/ObjCARC/post-inlining.ll
M llvm/test/Transforms/ObjCARC/related-check.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
M llvm/test/Transforms/OpenMP/nested_parallelism.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
M llvm/test/Transforms/PGOProfile/consecutive-zeros.ll
M llvm/test/Transforms/PGOProfile/entry_alloca.ll
M llvm/test/Transforms/PGOProfile/memop_size_annotation.ll
M llvm/test/Transforms/PGOProfile/memop_size_opt.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-correct.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-overflow.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-stripped.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-unpredictable.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch.ll
M llvm/test/Transforms/PGOProfile/misexpect-switch-default.ll
M llvm/test/Transforms/PGOProfile/misexpect-switch.ll
M llvm/test/Transforms/PartialInlining/switch_stmt.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-final-loop-unrolling-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/SROA-after-loop-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr61061.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/PhaseOrdering/assume-explosion.ll
M llvm/test/Transforms/PhaseOrdering/dse-ephemeral-value-captures.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/PhaseOrdering/vector-select.ll
M llvm/test/Transforms/SROA/alloca-address-space.ll
M llvm/test/Transforms/SROA/basictest.ll
M llvm/test/Transforms/SROA/dead-inst.ll
M llvm/test/Transforms/SROA/ignore-droppable.ll
M llvm/test/Transforms/SROA/lifetime-intrinsic.ll
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/pr26972.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
M llvm/test/Transforms/SROA/select-load.ll
M llvm/test/Transforms/SROA/vector-lifetime-intrinsic.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SafeStack/X86/call.ll
M llvm/test/Transforms/SafeStack/X86/coloring-ssp.ll
M llvm/test/Transforms/SafeStack/X86/coloring.ll
M llvm/test/Transforms/SafeStack/X86/coloring2.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SafeStack/X86/layout-frag.ll
M llvm/test/Transforms/SafeStack/X86/no-crash-on-lifetime.ll
M llvm/test/Transforms/SampleProfile/csspgo-import-list-callee-samples.ll
M llvm/test/Transforms/SampleProfile/entry_counts_cold.ll
M llvm/test/Transforms/SampleProfile/entry_counts_missing_dbginfo.ll
M llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
M llvm/test/Transforms/SampleProfile/profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-discriminator.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-icp-factor.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-name-similarity.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming-recursive.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-toplev-func.ll
M llvm/test/Transforms/SampleProfile/remarks.ll
M llvm/test/Transforms/SimplifyCFG/X86/critedge-assume.ll
M llvm/test/Transforms/SimplifyCFG/X86/empty-cleanuppad.ll
M llvm/test/Transforms/SimplifyCFG/X86/invalidate-dom.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
M llvm/test/Transforms/SimplifyCFG/invoke_unwind_lifetime.ll
M llvm/test/Transforms/SimplifyCFG/lifetime-landingpad.ll
M llvm/test/Transforms/SimplifyCFG/lifetime.ll
M llvm/test/Transforms/SimplifyCFG/pr50060-constantfold-loopid.ll
M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
M llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll
M llvm/test/Transforms/TailCallElim/tre-byval-parameter-2.ll
M llvm/test/Transforms/TailCallElim/tre-byval-parameter.ll
M llvm/test/Transforms/TailCallElim/tre-multiple-exits.ll
M llvm/test/Transforms/TailCallElim/tre-noncapturing-alloca-calls.ll
M llvm/test/Transforms/Util/PredicateInfo/pr33456.ll
M llvm/test/Transforms/Util/dbg-call-bitcast.ll
M llvm/test/Verifier/intrinsic-immarg.ll
M llvm/test/Verifier/opaque-ptr.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
M llvm/test/tools/llvm-reduce/operands-to-args-lifetimes.ll
M llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/sroa.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic-prefer-unregistered.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[IR] Remove size argument from lifetime intrinsics (#150248)
Now that #149310 has restricted lifetime intrinsics to only work on
allocas, we can also drop the explicit size argument. Instead, the size
is implied by the alloca.
This removes the ability to only mark a prefix of an alloca alive/dead.
We never used that capability, so we should remove the need to handle
that possibility everywhere (though many key places, including stack
coloring, did not actually respect this).
Commit: ed6cd8f195894e46bbf3d29c0fb639b487c2c4eb
https://github.com/llvm/llvm-project/commit/ed6cd8f195894e46bbf3d29c0fb639b487c2c4eb
Author: Luc Forget <lforg37 at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
A mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/memory.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/table.mlir
Log Message:
-----------
[MLIR][WASM] Custom assembly format for if memory and table ops (#152668)
Co-authored-by: Luc Forget <luc.forget at woven.toyota>
Commit: 81f3ddf4a2d310a78b6286cf2f5eb527194f014c
https://github.com/llvm/llvm-project/commit/81f3ddf4a2d310a78b6286cf2f5eb527194f014c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
Log Message:
-----------
AMDGPU: Rewrite VGPR MFMAs to AGPR when directly copied to AGPR class (#152480)
Commit: 197d1c1570160afbf3c5e03d81d42d124b4e5b44
https://github.com/llvm/llvm-project/commit/197d1c1570160afbf3c5e03d81d42d124b4e5b44
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M offload/liboffload/API/Queue.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/queue/olGetQueueInfo.cpp
M offload/unittests/OffloadAPI/queue/olGetQueueInfoSize.cpp
Log Message:
-----------
[Offload] OL_QUEUE_INFO_EMPTY (#152473)
Add a queue query that (if possible) reports whether the queue is empty
Commit: 314458197e96b2344a47e91d449736c0bfbb5563
https://github.com/llvm/llvm-project/commit/314458197e96b2344a47e91d449736c0bfbb5563
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
A llvm/test/CodeGen/Generic/half.ll
Log Message:
-----------
[Test] Add cross-platform smoke tests for `half` support (NFC) (#152616)
There are a number of platforms affected by [1]. It is easy enough to
check in a cross-platform way that bitcasts aren't using f16<->f32
libcalls; thus, add a generic test covering most supported
architectures, with an XFAIL for targets that are currently broken. As
they get fixed, this test will fail and can be updated.
[1]: https://github.com/llvm/llvm-project/issues/97981
Commit: 95b16d1264725d8aad5a3b951f444fdec04c2224
https://github.com/llvm/llvm-project/commit/95b16d1264725d8aad5a3b951f444fdec04c2224
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
Log Message:
-----------
[DAG] Fold trunc(abdu(x,y)) and trunc(abds(x,y)) if they have sufficient leading zero/sign bits (#151471)
This PR resolves https://github.com/llvm/llvm-project/issues/147683
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 69235d269b305e25798210d293969efb45ee3f1c
https://github.com/llvm/llvm-project/commit/69235d269b305e25798210d293969efb45ee3f1c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/unittests/Host/MainLoopTest.cpp
Log Message:
-----------
[lldb][test] Disable some pipe tests on Windows
These are timing out often on our Windows on Arm bot.
See https://github.com/llvm/llvm-project/issues/152677.
Commit: 02f3e95a42d0a9bf84ac5535b74e9f96ef22a8ca
https://github.com/llvm/llvm-project/commit/02f3e95a42d0a9bf84ac5535b74e9f96ef22a8ca
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[AutoUpgrade] Fix use after free
Determine the intrinsic ID before the name is freed during renaming.
Commit: 61d569ffc338834cc81cddf31023de41fd3a6be7
https://github.com/llvm/llvm-project/commit/61d569ffc338834cc81cddf31023de41fd3a6be7
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
Log Message:
-----------
[lldb][test] Fix typo in decorator
Commit: 24ea1559d3d0005aefbca2c7a9fad164a8a33632
https://github.com/llvm/llvm-project/commit/24ea1559d3d0005aefbca2c7a9fad164a8a33632
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test
Log Message:
-----------
[lldb][test] Run calling-conventions-arm.test with native PDB reader as well (#152670)
And actually check the arm32 output. Lucky for us, it does work.
Separated the lines a bit too so they are easier to read.
Follow up to https://github.com/llvm/llvm-project/pull/152580.
Commit: 910d7e90bfc6aef5f974f0cf4b3fc034a2f4849a
https://github.com/llvm/llvm-project/commit/910d7e90bfc6aef5f974f0cf4b3fc034a2f4849a
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M offload/include/Shared/APITypes.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/interface.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Make olLaunchKernel test thread safe (#149497)
This sprinkles a few mutexes around the plugin interface so that the
olLaunchKernel CTS test now passes when ran on multiple threads.
Part of this also involved changing the interface for device synchronise
so that it can optionally not free the underlying queue (which
introduced a race condition in liboffload).
Commit: de72cca671b962d0149cf880ec44b942a58ed843
https://github.com/llvm/llvm-project/commit/de72cca671b962d0149cf880ec44b942a58ed843
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/histograms.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/histograms.ll
Log Message:
-----------
[CostModel] Provide a default model for histogram intrinsics (#149348)
Since we scalarize these intrinsics when the target does not support
them, we should model that for costing purposes.
Commit: a910a6a8b5f96aa247f079016c9553a0aa445ba4
https://github.com/llvm/llvm-project/commit/a910a6a8b5f96aa247f079016c9553a0aa445ba4
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
A llvm/test/CodeGen/AMDGPU/sgpr-count-graphics.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] AsmPrinter: Unify arg handling (#151672)
When computing the number of registers required by entry functions, the
`AMDGPUAsmPrinter` needs to take into account both the register usage
computed by the `AMDGPUResourceUsageAnalysis` pass, and the number
of registers initialized by the hardware. At the moment, the way it
computes the latter is different for graphics vs compute, due to differences in
the implementation. For kernels, all the information needed is available in
the `SIMachineFunctionInfo`, but for graphics shaders we would iterate over
the `Function` arguments in the `AMDGPUAsmPrinter`. This pretty much
repeats some of the logic from instruction selection.
This patch introduces 2 new members to `SIMachineFunctionInfo`, one
for SGPRs and one for VGPRs. Both will be computed during instruction
selection and then used during `AMDGPUAsmPrinter`, removing the need
to refer to the `Function` when printing assembly.
This patch is NFC except for the fact that we now add the extra SGPRs
(VCC, XNACK etc) to the number of SGPRs computed for graphics entry points.
I'm not sure why these weren't included before. It would be nice if
someone could confirm if that was just an oversight or if we have some docs
somewhere that I haven't managed to find. Only one test is affected (its SGPR
usage increases because we now take into account the XNACK registers).
Commit: 691ede28303925f33796cbe917451f5b27b8361f
https://github.com/llvm/llvm-project/commit/691ede28303925f33796cbe917451f5b27b8361f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Allow _mm512_set1_epi32/64 intrinsics to be used in constexpr (#152674)
Pulled out of #152288 as I need this to proceed with several other patches
Commit: 92f6b15445ecb37db2c160c8645690e7c986ad39
https://github.com/llvm/llvm-project/commit/92f6b15445ecb37db2c160c8645690e7c986ad39
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[clang] Fix bazel after eccc6e2. (#152681)
Commit: bd39ae612547cccef0f5bcc29eea8f355a7b7dd6
https://github.com/llvm/llvm-project/commit/bd39ae612547cccef0f5bcc29eea8f355a7b7dd6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/lib/Analysis/Delinearization.cpp
A llvm/test/Analysis/Delinearization/fixed_size_array.ll
Log Message:
-----------
[Delinearization] Add function for fixed size array without relying on GEP (#145050)
The existing functions `getIndexExpressionsFromGEP` and
`tryDelinearizeFixedSizeImpl` provide functionality to delinearize
memory accesses for fixed size array. They use the GEP source element
type in their optimization heuristics. However, driving optimization
heuristics based on GEP type information is not allowed.
This patch introduces new functions `findFixedSizeArrayDimensions` and
`delinearizeFixedSizeArray` to delinearize a fixed size array without
using the type information in GEP. The new function
`findFixedSizeArrayDimensions` infers the size of each dimension of the
array based on the value to be added to the address as induction
variables are incremented. `delinearizeFixedSizeArray` attempts to
restore the subscripts of each dimension based on the estimated array
size.
This is an initial implementation that may not cover all cases, but is
intended to replace the existing function in the future.
Related:
- https://discourse.llvm.org/t/enabling-loop-interchange/82589/4
-
https://github.com/llvm/llvm-project/pull/124911#issuecomment-2962499501
Commit: 9349484e8f4c306318f75862ed25be6ec4c30ab8
https://github.com/llvm/llvm-project/commit/9349484e8f4c306318f75862ed25be6ec4c30ab8
Author: Sasa Vuckovic <svuckovic at tenstorrent.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Pass/PassOptions.h
M mlir/test/Pass/pipeline-options-parsing.mlir
M mlir/test/lib/Pass/TestPassManager.cpp
Log Message:
-----------
[MLIR] Make `PassPipelineOptions` virtually inheriting from PassOptions to allow diamond inheritance (#146370)
## Problem
Given 3 pipelines, A, B, and a superset pipeline AB that runs both the A
& B pipelines, it is not easy to manage their options - one needs to
manually recreate all options from A and B into AB, and maintain them.
This is tedious.
## Proposed solution
Ideally, AB options class inherits from both A and B options, making the
maintenance effortless. Today though, this causes problems as their base
classes `PassPipelineOptions<A>` and `PassPipelineOptions<B>` both
inherit from `mlir::detail::PassOptions`, leading to the so called
"diamond inheritance problem", i.e. multiple definitions of the same
symbol, in this case parseFromString that is defined in
mlir::detail::PassOptions.
Visually, the inheritance looks like this:
```
mlir::detail::PassOptions
↑ ↑
| |
PassPipelineOptions<A> PassPipelineOptions<B>
↑ ↑
| |
AOptions BOptions
↑ ↑
+---------+--------+
|
ABOptions
```
A proposed fix is to use the common solution to the diamond inheritance
problem - virtual inheritance.
Commit: 82d633e9ff51962eb21fb58d38b74b4e8829a199
https://github.com/llvm/llvm-project/commit/82d633e9ff51962eb21fb58d38b74b4e8829a199
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
[VPlan] Materialize vector trip count using VPInstructions. (#151925)
Materialize the vector trip count computation using VPInstruction
instead of directly creating IR. This is one of the last few steps
needed to model the full vector skeleton in VPlan. It also simplifies
vector-trip count computations for scalable vectors, as we can re-use
the UF x VF computation.
PR: https://github.com/llvm/llvm-project/pull/151925
Commit: fde9ee1ac291652718124257796efff91a2d5baf
https://github.com/llvm/llvm-project/commit/fde9ee1ac291652718124257796efff91a2d5baf
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode] Don't deallocate dynamic blocks with pointers (#152672)
This fixes the edge case we had with variables pointing to dynamic
blocks, which forced us to convert basically *all* dynamic blocks to
DeadBlock when deallocating them.
We now don't run dynamic blocks through InterpState::deallocate() but
instead add them to a DeadAllocations list when they are deallocated but
still have pointers.
As a consequence, not all blocks with Block::IsDead = true are
DeadBlocks.
Commit: 672f82a2ef82d26f2bff024300c4658ab593c93f
https://github.com/llvm/llvm-project/commit/672f82a2ef82d26f2bff024300c4658ab593c93f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
M lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
M lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
M lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
Log Message:
-----------
[lldb][test] TestExprDefinitionInDylib.py: add cases for calling ctors
Commit: 1e9ed918ddeef50869637fdf915624b07650d154
https://github.com/llvm/llvm-project/commit/1e9ed918ddeef50869637fdf915624b07650d154
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
Log Message:
-----------
[X86][AVX512BITALG] add C/C++ and 32/64-bit builtins test coverage (#152693)
Commit: ab7281d8969152a2cb0f302fe645e99e58e6d281
https://github.com/llvm/llvm-project/commit/ab7281d8969152a2cb0f302fe645e99e58e6d281
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Update naming in VPInterleaveRecipe constructor. nfc (#152472)
Commit: 83c308f014da00cadbbe9ac7c8fe8a48ff777b76
https://github.com/llvm/llvm-project/commit/83c308f014da00cadbbe9ac7c8fe8a48ff777b76
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU][Scheduler] Consistent occupancy calculation during rematerialization (#149224)
The `RPTarget`'s way of determining whether VGPRs are beneficial to save
and whether the target has been reached w.r.t. VGPR usage currently
assumes, if `CombinedVGPRSavings` is true, that free slots in one VGPR
RC can always be used for the other. Implicitly, this makes the
rematerialization stage (only current user of `RPTarget`) follow a
different occupancy calculation than the "regular one" that the
scheduler uses, one that assumes that ArchVGPR/AGPR usage can be
balanced perfectly and at no cost, which is untrue in general. This
ultimately yields suboptimal rematerialization decisions that require
cross-VGPR-RC copies unnecessarily.
This fixes that, making the `RPTarget`'s internal model of occupancy
consistent with the regular one. The `CombinedVGPRSavings` flag is
removed, and a form of cross-VGPR-RC saving implemented only for unified
RFs, which is where it makes the most sense. Only when the amount of
free VGPRs in a given VGPR RC (ArchVPGR or AGPR) is lower than the
excess VGPR usage in the other VGPR RC does the `RPTarget` consider that
a pressure reduction in the former will be beneficial to the latter.
Commit: 7f1638efc148f34ad138144a8376fb2cf15b35b2
https://github.com/llvm/llvm-project/commit/7f1638efc148f34ad138144a8376fb2cf15b35b2
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/extract_float.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
Log Message:
-----------
[AArch64] Generalize costing for FP16 instructions (#150033)
This extracts the code for modelling a fp16 operation as
`fptrunc(fpop(fpext,fpext))` into a new function named
getFP16BF16PromoteCost so that it can be reused by the
arithmetic instructions. The function takes a lambda to
calculate the cost of the operation with the promoted type.
Commit: 8949dc7f9c2405fea2d07bab5bce08576ddb92a4
https://github.com/llvm/llvm-project/commit/8949dc7f9c2405fea2d07bab5bce08576ddb92a4
Author: sebvince <115461989+sebvince at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
Log Message:
-----------
[mlir][amdgpu] fold memref.subview/expand_shape/collapse_shape into amdgpu.gather_to_lds for DST operand (#152277)
Commit: 479556c7208d0af3b33bd9be396962b8c4152a74
https://github.com/llvm/llvm-project/commit/479556c7208d0af3b33bd9be396962b8c4152a74
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
Log Message:
-----------
[HIP] compressed bundle format defaults to v3 (#152600)
HIP runtime support for compressed bundle format v3 is in place,
therefore switch the default compressed bundle format to v3 in compiler.
This allows both compressed and decompressed fat binary size to exceed
4GB by default.
Environment variable COMPRESSED_BUNDLE_FORMAT_VERSION=2 can be used for
backward compatibility for older HIP runtimes not supporting v3.
Fixes: SWDEV-548879
Commit: 8d26252eece6510e62cc657d3e8b2cdcc97bdbea
https://github.com/llvm/llvm-project/commit/8d26252eece6510e62cc657d3e8b2cdcc97bdbea
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Dead blocks are always uninitialized (#152699)
We always call the descriptor dtor before, so they are never
initialized.
Commit: 7f0e4079c877cd0c8c6e0172dab52251a4af06d6
https://github.com/llvm/llvm-project/commit/7f0e4079c877cd0c8c6e0172dab52251a4af06d6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[NFCI][TableGen] Make `Intrinsic::getAttributes` table driven (#152349)
This a follow on to https://github.com/llvm/llvm-project/pull/152219 to
reduce both code and frame size of `Intrinsic::getAttributes` further.
Currently, this function consists of several switch cases (one per
unique argument attributes) that populates the local `AS` array with all
non-empty argument attributes for that intrinsic by calling
`getIntrinsicArgAttributeSet`. This change makes this code table driven
and implements `Intrinsic::getAttributes` without any switch cases,
which reduces the code size of this function on all platforms and in
addition reduces the frame size by a factor of 10 on Windows.
This is achieved by:
1. Emitting table `ArgAttrIdTable` containing a concatenated list of
`<ArgNo, AttrID>` entries across all unique arguments.
2. Emitting table `ArgAttributesInfoTable` (indexed by unique
arguments-ID) to store the starting index and number of non-empty arg
attributes.
3. Reserving unique function-ID 255 to indicate that the intrinsic has
no function attributes (to replace `HasFnAttr` setup in each switch
case).
4. Using a simple table lookup and for loop to build the list of
argument and function attributes for a given intrinsic.
Experimental data shows that with release builds and assertions
disabled, this change reduces the code size for GCC and Clang builds on
Linux by ~9KB for a modest (80/152 byte) increase in frame size. For
Windows, it reduces the code size by 20KB and frame size from 4736 bytes
to 461 bytes which is 10x reduction. Actual data is as follows:
```
Current trunk:
Compiler gcc-13.3.0 clang-18.1.3 MSVC 19.43.34810.0
code size 0x35a9 0x370c 0x5581
frame size 0x120 0x118 0x1280
table driven Intrinsic::getAttributes:
code size 0xcfb 0xcd0 0x1cf
frame size 0x1b8 0x188 0x1A0
Total savings (code + data) 9212 bytes 9790 bytes 20119 bytes
```
Total savings above accounts for the additional data size for the 2 new
tables, which in this experiment was: `ArgAttributesInfoTable` = 314
bytes and `ArgAttrIdTable` = 888 bytes. Coupled with the earlier
https://github.com/llvm/llvm-project/pull/152219, this achieves a 46x
reduction in frame size for this function in Windows release builds.
Commit: fd41700962d1d078aa0e9bd566ad89d4d53b9607
https://github.com/llvm/llvm-project/commit/fd41700962d1d078aa0e9bd566ad89d4d53b9607
Author: Szymon Piotr Milczek <szymon.milczek at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/2025-08-06-shufflevector-bitcast-vector-of-pointers.ll
Log Message:
-----------
[InstCombine] visitShuffleVectorInst assert with vector of pointers fix. (#152341)
In visitShuffleVectorInst there's an if block that's meant to turn
shufflevector followed by bitcast into extractelement where possible.
It assumes that there will never be bitcasts performed on vectors of ptr
as such operations are almost always illegal, and ptrtoint instructions
should be used instead.
There is however an edge case where a bitcast instruction can be
performed on a vector of type `<1 x ptr>` to turn it into type `ptr`
In this edge case, the code initializes the variable `VecBitWidth` to 0.
Then, when iterating over users that are bitcasts, an attempt is made to
create a vector of size 0, which triggers and assert.
This commit changes initialization of `VecBitWidth` to use datalayout to
find the the size of the vector instead of getPrimitiveSizeInBits method
which results in 0 for ptr and vectors of ptr.
Commit: a1672d7c6a390bc1fc259f52a2a19be2dd5fcac7
https://github.com/llvm/llvm-project/commit/a1672d7c6a390bc1fc259f52a2a19be2dd5fcac7
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Add alignment attribute to `maskedload` and `maskedstore` (#151690)
These commits continue the work done in
https://github.com/llvm/llvm-project/pull/144344, of adding alignment
attributes to operations in the vector and memref. These commits focus
on adding the alignment attribute to the `maskedload` and `maskedstore`
operations. The `VectorLoadConversion` pattern in VectorToLLVM is a
template for `load`, `store`, `maskedload` and `maskedstore` operations.
Having the alignment attribute in all these operations would allow for
an easy way to propagate the alignment attribute from the vector dialect
to the LLVM dialect.
This patchset also includes changes to the conversion from VectorToLLVM
to propagate the alignment attribute for the
vector.{,masked}{load,store} operations.
Commit: 26b302fd8b661a143651e8d028efdfde2efd8d7e
https://github.com/llvm/llvm-project/commit/26b302fd8b661a143651e8d028efdfde2efd8d7e
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64] Rename Cost -> PromotedCost to avoid shadowing error
Commit: ac8295550b4e0abe044099485f95f7ac08cbb19f
https://github.com/llvm/llvm-project/commit/ac8295550b4e0abe044099485f95f7ac08cbb19f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][CodeGen] Move `EmitPointerArithmetic` into `CodeGenFunction`. NFC. (#152634)
`CodeGenFunction::EmitPointerArithmetic` is needed by
https://github.com/llvm/llvm-project/pull/152575. Separate the NFC
changes into a new PR for smooth review.
Commit: d54516b9ad70e3f27ccd1dd0b9599aea44ddeb2d
https://github.com/llvm/llvm-project/commit/d54516b9ad70e3f27ccd1dd0b9599aea44ddeb2d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use an existing local variable (#152710)
Instead of calling getSize() again.
Commit: 3ea76af3a15af7650b3a900f7418809f452b10f7
https://github.com/llvm/llvm-project/commit/3ea76af3a15af7650b3a900f7418809f452b10f7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove a useless local variable (#152711)
We can just check NonNullArgs.empty().
Commit: 1b1f352cb97d9d9f346bd68291e968ef76e36776
https://github.com/llvm/llvm-project/commit/1b1f352cb97d9d9f346bd68291e968ef76e36776
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Handle reads on zero-size arrays (#152706)
Commit: 2c4b876fa842ca8bd87ed2abc028ebf3605a8b32
https://github.com/llvm/llvm-project/commit/2c4b876fa842ca8bd87ed2abc028ebf3605a8b32
Author: tcottin <timcottin at gmx.de>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/CodeCompletionStrings.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/Hover.h
A clang-tools-extra/clangd/SymbolDocumentation.cpp
A clang-tools-extra/clangd/SymbolDocumentation.h
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/HoverTests.cpp
A clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/CommentSema.h
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Log Message:
-----------
[clangd] introduce doxygen parser (#150790)
Followup work of #140498 to continue the work on clangd/clangd#529
Introduce the use of the Clang doxygen parser to parse the documentation
of hovered code.
- ASTContext independent doxygen parsing
- Parsing doxygen commands to markdown for hover information
Note: after this PR I have planned another patch to rearrange the
information shown in the hover info.
This PR is just for the basic introduction of doxygen parsing for hover
information.
---------
Co-authored-by: Maksim Ivanov <emaxx at google.com>
Commit: 76a533c8ecbc57895c6df53a20ef7eae4e242a54
https://github.com/llvm/llvm-project/commit/76a533c8ecbc57895c6df53a20ef7eae4e242a54
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add pmevent (#152509)
Add nvvm.pmevent Op that Triggers one or more of a fixed number of
performance monitor events, with event index or mask specified by
immediate operand.
[For more information, see PTX
ISA](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-pmevent)
Commit: e64224a224a9891d01ad6eec84921bca1c1f0441
https://github.com/llvm/llvm-project/commit/e64224a224a9891d01ad6eec84921bca1c1f0441
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
Log Message:
-----------
[Headers][X86] Allow AVX cast intrinsics to be used in constexpr (#152730)
Still missing the "extend to 256-bit" casts - _mm256_castpd128_pd256 / _mm256_castps128_ps256 / _mm256_castsi128_si256 - due to constexpr not liking undefined/poison etc.
Commit: 30b0a9ec19620abb951f5ca31330b17da1e3ffcf
https://github.com/llvm/llvm-project/commit/30b0a9ec19620abb951f5ca31330b17da1e3ffcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[ADT] Use range-based for loops in StringMap.h (NFC) (#152641)
Commit: 9beb18a6f07f0e97b791c64a0dd730a99d382c8c
https://github.com/llvm/llvm-project/commit/9beb18a6f07f0e97b791c64a0dd730a99d382c8c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#152643)
getUnitInc() already returns int.
Commit: 4e44e7c16433cb922344ce12891074d708e26c54
https://github.com/llvm/llvm-project/commit/4e44e7c16433cb922344ce12891074d708e26c54
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaObjC.cpp
Log Message:
-----------
[Sema] Remove an unnecessary cast (NFC) (#152644)
numTypeParams is already of unsigned.
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: c11868f66c039b9fd5dd9670fcfab53a662e2c6b
https://github.com/llvm/llvm-project/commit/c11868f66c039b9fd5dd9670fcfab53a662e2c6b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
Log Message:
-----------
[IR] Remove Intrinsic::getDeclaration (#152645)
Intrinsic::getDeclaration has been deprecated for more than 9 months
since:
commit b9f08676abcfbb226c67b5ac2a7bc5b33254b915
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: Mon Oct 14 19:21:28 2024 -0700
This patch removes it. I'm not aware of any downstream use AFAIK.
Commit: 8afa70f1c816289e36bf4a9f44ad9a6361a95266
https://github.com/llvm/llvm-project/commit/8afa70f1c816289e36bf4a9f44ad9a6361a95266
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
Log Message:
-----------
[llvm] Proofread SourceLevelDebugging.rst (#152646)
This patch takes care of the highly mechanical part of proofreading
SourceLevelDebugging.rst, namely:
- hyphenating "32 bit value" and similar and
- hypenating "Objective C"
Commit: 1bc49c0c97548bd95d2a4a7c92ae4e6e17a44c67
https://github.com/llvm/llvm-project/commit/1bc49c0c97548bd95d2a4a7c92ae4e6e17a44c67
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/unittests/AST/DeclTest.cpp
Log Message:
-----------
[AST] Remove an unused local variable (NFC) (#152647)
Commit: e91f68487cf1af83d4225f3459482b2f171f20a4
https://github.com/llvm/llvm-project/commit/e91f68487cf1af83d4225f3459482b2f171f20a4
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
Log Message:
-----------
[RISCV] Update SpacemiT-X60 vector fixed-point arithmetic latencies (#150517)
This PR adds hardware-measured latencies for all instructions defined in
Section 12 of the RVV specification: "Vector Fixed-Point Arithmetic
Instructions" to the SpacemiT-X60 scheduling model.
Commit: 478b415181ee1637e95e3e7969f21d20e15e4c64
https://github.com/llvm/llvm-project/commit/478b415181ee1637e95e3e7969f21d20e15e4c64
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_compact.cpp
Log Message:
-----------
[AArch64] Enable svcompact intrinsic in streaming mode with SME2.2 (#151703)
When the target enables +sme2p2, the svcompact intrinsic is now
available in streaming SVE mode, through updating the guards in
arm_sve.td. Included Sema test acle_sve_compact.cpp.
Commit: f169893cbf6e5a3cdf310ae00595f9f6e9d8c91b
https://github.com/llvm/llvm-project/commit/f169893cbf6e5a3cdf310ae00595f9f6e9d8c91b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[Headers][X86] Allow BITALG vpopcntw/vpopcntb intrinsics to be used in constexpr (#152701)
Matches VPOPCNTDQ handling
Commit: 6a8e376d82ec849916919ee3a94110e6e8266cdf
https://github.com/llvm/llvm-project/commit/6a8e376d82ec849916919ee3a94110e6e8266cdf
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[bazel] Extra layering_check dep for #151228: BFloat16 (#152741)
Commit: 09bf2c5c91e53fb64128dd15e64692ad0081f05b
https://github.com/llvm/llvm-project/commit/09bf2c5c91e53fb64128dd15e64692ad0081f05b
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Claims omp_target_is_accessible as worked on (#151507)
Includes link to current PR.
Spec requires minor clarification.
Commit: 66734f4c3ceb82abb22c22445027bf8860a41d0b
https://github.com/llvm/llvm-project/commit/66734f4c3ceb82abb22c22445027bf8860a41d0b
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cbrtf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrtf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cbrtf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor cbrtf implementation to header-only in src/__support/math folder. (#151846)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 7c141e2118f9387e941478e6d4da133868876cf9
https://github.com/llvm/llvm-project/commit/7c141e2118f9387e941478e6d4da133868876cf9
Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/pr152700.ll
Log Message:
-----------
[ValueTracking] Add missing check for two-value PN recurrence matching (#152700)
When InstTy is a type like IntrinsicInst which can have a variable
number of arguments, we can encounter a case where Operation will have
fewer than two arguments and error at the getOperand() calls.
Fixes: https://github.com/llvm/llvm-project/issues/152725.
Commit: 45b15946b1259bba654bdd96bd6fa23f7754f3ca
https://github.com/llvm/llvm-project/commit/45b15946b1259bba654bdd96bd6fa23f7754f3ca
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/utils/hdrgen/hdrgen/header.py
Log Message:
-----------
[libc][hdrgen] Fix hdrgen when using macros as guards in stdlib.yaml. (#152732)
Commit: 83dd7d97bda4792c333156803e2433c46f516e5d
https://github.com/llvm/llvm-project/commit/83dd7d97bda4792c333156803e2433c46f516e5d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[CI] Add Support for Parsing Ninja Logs to generate_test_report_lib
This patch adds in support for taking the CLI output from ninja and
parsing it for failures. This is intended to be used in the cases where
all tests pass (or none have run), but the build fails to easily surface
where exactly the build failed.
The actual integration will happen in a future patch.
Reviewers: gburgessiv, dschuff, lnihlen, DavidSpickett, Keenuts, cmtice
Reviewed By: DavidSpickett, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/152620
Commit: 9ea1d39eadebeef0decd5505d07b2f186bce8722
https://github.com/llvm/llvm-project/commit/9ea1d39eadebeef0decd5505d07b2f186bce8722
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Remove Outdated Comments
5fc3e76ec4f323c22cddf7b9458137510507847a made the pipelines fail on
errors and also removed the TODO comments, but did not remove the
explanatory comments on why things were set up that way. Given things no
longer succeed on error, these comments are outdated and should be
removed.
Commit: c8312bdd1665225c585dd2b0bff5e46d569edd45
https://github.com/llvm/llvm-project/commit/c8312bdd1665225c585dd2b0bff5e46d569edd45
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/builtins-x86.c
Log Message:
-----------
[Headers][X86] Enable constexpr handling for pmulhw/pmulhuw intrinsics (#152540)
This patch updates the pmulhw/pmulhuw builtins to support constant
expression handling - extending the VectorExprEvaluator::VisitCallExpr
handling code that handles elementwise integer binop builtins.
Hopefully this can be used as reference patch to show how to add future
target specific constexpr handling with minimal code impact.
I've also enabled pmullw constexpr handling (which are tagged on
#152490) as they all use very similar tests.
I've also had to tweak the MMX -> SSE2 wrapper as undefs are not
permitted in constexpr shuffle masks
Fixes #152524
Commit: 17786697395240852444ef3f16457e764e7acdba
https://github.com/llvm/llvm-project/commit/17786697395240852444ef3f16457e764e7acdba
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/test/CMakeLists.txt
R clang/test/DebugInfo/KeyInstructions/lit.local.cfg
M clang/test/lit.site.cfg.py.in
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/test/CMakeLists.txt
M llvm/test/DebugInfo/KeyInstructions/debugify.ll
R llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/config.bzl
Log Message:
-----------
[KeyInstr] Remove LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS CMake flag (#152735)
The CMake flag has been on by default for a month without any issues.
This makes the feature support in LLVM unconditional (but does not
enable the feature by default).
Commit: 45b4f1b4380e9d9cc6da916a57a45c823904ba48
https://github.com/llvm/llvm-project/commit/45b4f1b4380e9d9cc6da916a57a45c823904ba48
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Allow _mm512_set1_epi8/16/pd/ps intrinsics to be used in constexpr (#152746)
Pulled out of #152288 as I need this to proceed with several other patches
Commit: b574bcf0361de60ef8c183c583a9b59a0f5cccca
https://github.com/llvm/llvm-project/commit/b574bcf0361de60ef8c183c583a9b59a0f5cccca
Author: James Newling <james.newling at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
Log Message:
-----------
[mlir][TD] Support padding with poison (#152003)
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: 0419b459be770a428ee4b98c7613bff2be032961
https://github.com/llvm/llvm-project/commit/0419b459be770a428ee4b98c7613bff2be032961
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
Revert "[SLP]Initial FMAD support (#149102)"
This reverts commit 0bcf45ea3458ba79eb4257afcfd6af954292c9ce to fix the
regresions, reported in https://github.com/llvm/llvm-project/issues/152683
Commit: b4e8b8ee914d2de2c6c33c656fe8c06f5c11a01b
https://github.com/llvm/llvm-project/commit/b4e8b8ee914d2de2c6c33c656fe8c06f5c11a01b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Canonicalize broadcast of shape_cast (#150523)
Fold `broadcast(shape_cast(x))` into `broadcast(x)` if the type of x is
compatible with broadcast's result type and the shape_cast only adds or removes ones in the leading dimensions.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Co-authored-by: James Newling <james.newling at gmail.com>
Commit: c96223434c64d32c3f397d20a8ed1d9749aae441
https://github.com/llvm/llvm-project/commit/c96223434c64d32c3f397d20a8ed1d9749aae441
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/layout.mlir
A mlir/test/Dialect/XeGPU/xegpu-attr-interface.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add definition of SliceAttr (#150146)
---------
Co-authored-by: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Commit: 0f59b8d4e3f8081c69b46f4693536e118fc0e9e6
https://github.com/llvm/llvm-project/commit/0f59b8d4e3f8081c69b46f4693536e118fc0e9e6
Author: Slava Gurevich <sgurevich at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M compiler-rt/lib/xray/xray_fdr_logging.cpp
Log Message:
-----------
Fix improper alignment of static buffer for placement-new of BufferQueue (#152408)
No behavioral change, but eliminates potential UB in strict-alignment
systems.
The previous commit (llvm#94171) bulk-updated alignment usage to C++23
spec, but missed this occurrence.
Commit: 3b32893cd926cbbe785ce84b3c939dd804ed97df
https://github.com/llvm/llvm-project/commit/3b32893cd926cbbe785ce84b3c939dd804ed97df
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/tools/llvm-profdata/merge-traces.proftext
M llvm/test/tools/llvm-profdata/read-traces.proftext
Log Message:
-----------
[InstrProf][NFC] Refactor profdata trace tests (#152550)
Refactor some llvm-profdata tests to read text profiles which are easier
to match with FileCheck
Commit: 869bce23fdafb91c352085a1cf9b2e1fb328ff00
https://github.com/llvm/llvm-project/commit/869bce23fdafb91c352085a1cf9b2e1fb328ff00
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[CI] Setup generate_report to describe ninja failures
This patch makes it so that generate_report will add information about
failed build actions to the summary report. This makes it significantly
easier to find compilation failures, especially given we run ninja with
-k 0.
This patch only does the integration into generate_report (along with
testing). Actual utilization in the script is split into a separate
patch to try and keep things clean.
Reviewers: dschuff, cmtice, DavidSpickett, Keenuts, lnihlen, gburgessiv
Reviewed By: cmtice, DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/152621
Commit: 7d5af16245ab12880605d5e10608a76c2c383d8d
https://github.com/llvm/llvm-project/commit/7d5af16245ab12880605d5e10608a76c2c383d8d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M .ci/generate_test_report_github.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/utils.sh
Log Message:
-----------
[CI] Enable Build Failure Reporting
This patch finishes up the plumbing so that generate_test_report will dump build
failures into the Github checks summary.
Reviewers: Keenuts, lnihlen, dschuff, gburgessiv, cmtice, DavidSpickett
Reviewed By: cmtice, DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/152622
Commit: bcdc80828bcb94922db6e5b8f1c0935b2f5a67e2
https://github.com/llvm/llvm-project/commit/bcdc80828bcb94922db6e5b8f1c0935b2f5a67e2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Only use PyConfig when LLDB_EMBED_PYTHON_HOME is enabled (#152588)
PyConfig and friends are not part of the stable API. We could switch
back to Py_SetPythonHome, which has been deprecated, but still part of
the stable API. For now, limit the use of PyConfig to when
LLDB_EMBED_PYTHON_HOME is enabled, which essentially means Windows.
Changing the order doesn't seem to matter.
Commit: 8ad8876cea3604f218a717b65bf3fbd0c3037516
https://github.com/llvm/llvm-project/commit/8ad8876cea3604f218a717b65bf3fbd0c3037516
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Skip tests from #152562 (#152759)
Commit: 51bc0c1d6bb9ab2c1c2acb3f37d00ed919202973
https://github.com/llvm/llvm-project/commit/51bc0c1d6bb9ab2c1c2acb3f37d00ed919202973
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
Log Message:
-----------
[HLSL][NFC] Fix range check in verifyRegisterSpace (#152615)
Static analysis flagged the second part of this range check as always
true. RegisterSpace is uint32_t therefore the max value is 0xFFFFFFFF
and so the first check is sufficient.
Commit: 90e8c8e7186616241549e7bc62d95b51467a674b
https://github.com/llvm/llvm-project/commit/90e8c8e7186616241549e7bc62d95b51467a674b
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/OpenMP/bug57757.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
A llvm/test/Transforms/InferAlignment/propagate-from-other-load-stores.ll
M llvm/test/Transforms/PhaseOrdering/X86/masked-memory-ops-with-cf.ll
Log Message:
-----------
[InferAlignment] Propagate alignment between loads/stores of the same base pointer (#145733)
We can derive and upgrade alignment for loads/stores using other
well-aligned loads/stores. This optimization does a single forward pass through
each basic block and uses loads/stores (the alignment and the offset) to
derive the best possible alignment for a base pointer, caching the
result. If it encounters another load/store based on that pointer, it
tries to upgrade the alignment. The optimization must be a forward pass within a basic
block because control flow and exception throwing can impact alignment guarantees.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 3a4b351ba18492b990b10fe5401c3bbaabcf2f94
https://github.com/llvm/llvm-project/commit/3a4b351ba18492b990b10fe5401c3bbaabcf2f94
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/Analysis/ConstantFolding.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/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
A llvm/test/Assembler/ptrtoaddr-invalid-constexpr.ll
A llvm/test/Assembler/ptrtoaddr-invalid.ll
A llvm/test/Assembler/ptrtoaddr.ll
A llvm/test/Bitcode/ptrtoaddr.ll
A llvm/test/CodeGen/X86/GlobalISel/ptrtoaddr.ll
A llvm/test/CodeGen/X86/ptrtoaddr.ll
M llvm/test/Transforms/IRNormalizer/regression-convergence-tokens.ll
M llvm/test/Transforms/IRNormalizer/regression-infinite-loop.ll
M llvm/test/Transforms/IRNormalizer/reordering-basic.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR] Introduce the `ptrtoaddr` instruction
This introduces a new `ptrtoaddr` instruction which is similar to
`ptrtoint` but has two differences:
1) Unlike `ptrtoint`, `ptrtoaddr` does not capture provenance
2) `ptrtoaddr` only extracts (and then extends/truncates) the low
index-width bits of the pointer
For most architectures, difference 2) does not matter since index (address)
width and pointer representation width are the same, but this does make a
difference for architectures that have pointers that aren't just plain
integer addresses such as AMDGPU fat pointers or CHERI capabilities.
This commit introduces textual and bitcode IR support as well as basic code
generation, but optimization passes do not handle the new instruction yet
so it may result in worse code than using ptrtoint. Follow-up changes will
update capture tracking, etc. for the new instruction.
RFC: https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/54
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/139357
Commit: 4f2ed926dbbb43f8bd773e64c5e572e5d4103e06
https://github.com/llvm/llvm-project/commit/4f2ed926dbbb43f8bd773e64c5e572e5d4103e06
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
Log Message:
-----------
[analyzer][NFCi] Pass if bind is to a Decl or not to checkBind (#152137)
Binding a value to location can happen when a new value is created or
when and existing value is updated. This modification exposes whether
the value binding happens at a declaration.
This helps simplify the hacky logic of the BindToImmutable checker.
Commit: 688551f05cf5f6c90e0f5edc890ee13bb563fa95
https://github.com/llvm/llvm-project/commit/688551f05cf5f6c90e0f5edc890ee13bb563fa95
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/arm-tensor-constant.mlir
Log Message:
-----------
[mlir][spirv] Fix serialization of TensorARM with rank higher than one (#152391)
This PR fixes #152012 where serialization of TensorARM values into
OpConstantComposite resulted in invalid binary.
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 3b884db6ef458148ddc71e8133b334f8e1794ff9
https://github.com/llvm/llvm-project/commit/3b884db6ef458148ddc71e8133b334f8e1794ff9
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/merge-traces.proftext
M llvm/test/tools/llvm-profdata/trace-limit.proftext
Log Message:
-----------
[InstrProf] Fix trace reservoir sampling (#152563)
`InstrProfWriter::addTemporalProfileTraces()` did not correctly account
for when the sources traces are sampled, but the reservoir size is
larger than what it was before, meaning there is room for more traces.
Also, if the reservoir size decreased, meaning traces should be
truncated.
Depends on https://github.com/llvm/llvm-project/pull/152550 for the test
refactor
Commit: ef30dd34e9ac0bbca9d5b88a5e78b3a4c1167e6c
https://github.com/llvm/llvm-project/commit/ef30dd34e9ac0bbca9d5b88a5e78b3a4c1167e6c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
Log Message:
-----------
[lldb][SymbolFileDWARF][NFC] Add FindFunctionDefinition helper (#152733)
Factors out code to locate a definition DIE from a `FunctionCallLabel`
into a helper. This will be useful for an upcoming refactor that extends
`FindFunctionDefinition`.
Drive-by:
* adjusts some error messages in the `FunctionCallLabel` support code.
Commit: 0fffb9f9ed81f4c2084b8fe040c88b60bb6c372a
https://github.com/llvm/llvm-project/commit/0fffb9f9ed81f4c2084b8fe040c88b60bb6c372a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP]Initial FMAD support (#149102)
Added initial check for potential fmad conversion in reductions and
operands vectorization.
Added the check for instruction to fix #152683
Commit: f4cf610159189ec877142313a18698434386afb0
https://github.com/llvm/llvm-project/commit/f4cf610159189ec877142313a18698434386afb0
Author: int-zjt <zhangjiatong.0 at bytedance.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/logical.cpp
A compiler-rt/test/profile/Linux/coverage_short_circuit.cpp
Log Message:
-----------
[Coverage] Add gap region between binary operator '&& and ||' and RHS (#149085)
## Issue Summary
We identified an inaccuracy in line coverage reporting when short-circuit evaluation occurs in multi-line conditional expressions.
Specifically:
1. Un-executed conditions following line breaks may be incorrectly marked as covered
(e.g., conditionB in a non-executed && chain shows coverage)
```
1| |#include <iostream>
2| |
3| 1|int main() {
4| 1| bool conditionA = false;
5| 1| bool conditionB = true;
6| 1| if (conditionA &&
7| 1| conditionB) {
8| 0| std::cout << "IF-THEN" << std::endl;
9| 0| }
10| 1| return 0;
11| 1|}
```
2. Inconsistent coverage reporting across un-executed conditions
*(adjacent un-executed conditions may show 1 vs 0 line coverage)*
```
1| |#include <iostream>
2| |
3| 1|int main() {
4| 1| bool conditionA = false;
5| 1| bool conditionB = true;
6| 1| bool conditionC = true;
7| 1| if (conditionA &&
8| 1| (conditionB ||
9| 0| conditionC)) {
10| 0| std::cout << "IF-THEN" << std::endl;
11| 0| }
12| 1| return 0;
13| 1|}
```
This is resolved by inserting a GapRegion when mapping logical operators to isolate coverage contexts around short-circuit evaluation.
Commit: af54757c70131f9d81bb127043ac882e8f8ddee4
https://github.com/llvm/llvm-project/commit/af54757c70131f9d81bb127043ac882e8f8ddee4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #152003: Support padding with poison (#152771)
Commit: 1a502da7084abf03f0ff3ba852b94ca217892730
https://github.com/llvm/llvm-project/commit/1a502da7084abf03f0ff3ba852b94ca217892730
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/include/lldb/Symbol/Symbol.h
Log Message:
-----------
[lldb] Remove an unnecessary cast (NFC) (#152642)
type is already of lldb::SymbolType.
Commit: 4e587240365139d15dec219e2202cd3f5a90c495
https://github.com/llvm/llvm-project/commit/4e587240365139d15dec219e2202cd3f5a90c495
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port #150146: xegpu/sliceattr (#152772)
Commit: b698927e6676fafc1f833b4a992c7d725b8d7d64
https://github.com/llvm/llvm-project/commit/b698927e6676fafc1f833b4a992c7d725b8d7d64
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M utils/bazel/third_party_build/zlib-ng.BUILD
Log Message:
-----------
[bazel] Use copy_file rule for zlib-ng (#152752)
This avoids cp usage for potential windows / PATH-less builds
Commit: 7ae1424286203e37f6238e9349b1bfbe873ebabf
https://github.com/llvm/llvm-project/commit/7ae1424286203e37f6238e9349b1bfbe873ebabf
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M libcxx/include/map
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
M libcxx/test/support/is_transparent.h
Log Message:
-----------
[libc++] Fix uses of non-empty transparent comparator in `<map>` (#152624)
The `__get_value()` member function was removed in LLVM 21, but the
calls in `<map>` weren't removed. This patch completes the removal and
adds regression test cases.
Fixes #152543.
Commit: f35e9fa478e25266f7a72aed5cd34437c6aa7c39
https://github.com/llvm/llvm-project/commit/f35e9fa478e25266f7a72aed5cd34437c6aa7c39
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
Revert "[IR] Optimize stripAndAccumulateConstantOffsets() for common case (NFC)"
This reverts commit a7edc95c799c46665ecf4465a4dc7ff4bee3ced0.
An issue has been reported at: https://github.com/llvm/llvm-project/commit/a7edc95c799c46665ecf4465a4dc7ff4bee3ced0#commitcomment-163691175
Commit: 5bb7ba6222f7bdee30835c40f2c2bc9c98157c70
https://github.com/llvm/llvm-project/commit/5bb7ba6222f7bdee30835c40f2c2bc9c98157c70
Author: LoboQ1ng <xpess at qq.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/test/Analysis/malloc-checker-arg-uaf.c
Log Message:
-----------
[analyzer] Detect use-after-free for field address (e.g., &ptr->field) (#152462)
This patch improves MallocChecker to detect use-after-free bugs when
a freed structure's field is passed by address (e.g., `&ptr->field`).
Previously, MallocChecker would miss such cases, as it only checked the
top-level symbol of argument values.
This patch analyzes the base region of arguments and extracts the
symbolic region (if any), allowing UAF detection even for field address
expressions.
Fixes #152446
Commit: 08873be2048f1576091b26ef0e14f9410b32c011
https://github.com/llvm/llvm-project/commit/08873be2048f1576091b26ef0e14f9410b32c011
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/Atomic.h
Log Message:
-----------
[Support] Add missing LLVM_ABI annotations in Atomic.h (#152768)
This fixes building LLD for mingw targets with
LLVM_BUILD_LLVM_DYLIB_VIS=ON with Clang. This has been missed for other
platforms, as those platforms have LLVM_THREADING_USE_STD_CALL_ONCE=1 in
llvm/Support/Threading.h, while it ends up set to 0, using
CompareAndSwap() and MemoryFence() instead, for mingw targets.
Commit: 1ffb99520d46c0577c9776291c31814f8d6eed03
https://github.com/llvm/llvm-project/commit/1ffb99520d46c0577c9776291c31814f8d6eed03
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/bf16add.h
A libc/src/math/bf16addf.h
A libc/src/math/bf16addf128.h
A libc/src/math/bf16addl.h
A libc/src/math/bf16sub.h
A libc/src/math/bf16subf.h
A libc/src/math/bf16subf128.h
A libc/src/math/bf16subl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/bf16add.cpp
A libc/src/math/generic/bf16addf.cpp
A libc/src/math/generic/bf16addf128.cpp
A libc/src/math/generic/bf16addl.cpp
A libc/src/math/generic/bf16sub.cpp
A libc/src/math/generic/bf16subf.cpp
A libc/src/math/generic/bf16subf128.cpp
A libc/src/math/generic/bf16subl.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/bf16add_test.cpp
A libc/test/src/math/bf16addf128_test.cpp
A libc/test/src/math/bf16addf_test.cpp
A libc/test/src/math/bf16addl_test.cpp
A libc/test/src/math/bf16sub_test.cpp
A libc/test/src/math/bf16subf128_test.cpp
A libc/test/src/math/bf16subf_test.cpp
A libc/test/src/math/bf16subl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/bf16add_test.cpp
A libc/test/src/math/smoke/bf16addf128_test.cpp
A libc/test/src/math/smoke/bf16addf_test.cpp
A libc/test/src/math/smoke/bf16addl_test.cpp
A libc/test/src/math/smoke/bf16sub_test.cpp
A libc/test/src/math/smoke/bf16subf128_test.cpp
A libc/test/src/math/smoke/bf16subf_test.cpp
A libc/test/src/math/smoke/bf16subl_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c++23] Add bf16{add,sub}{,f,l,f128} math functions (#152774)
This PR adds implements following basic math functions for BFloat16 type
along with the tests:
- bf16add
- bf16addf
- bf16addl
- bf16addf128
- bf16sub
- bf16subf
- bf16subl
- bf16subf128
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 817133d7d90de9d8cae83c3d27704912f967d189
https://github.com/llvm/llvm-project/commit/817133d7d90de9d8cae83c3d27704912f967d189
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512vl-builtins.c
Log Message:
-----------
[X86] avx512vl-builtins.c - add C/C++ test coverage (#152765)
Commit: ca006898b3c289808b05562a59ded11fedfc5406
https://github.com/llvm/llvm-project/commit/ca006898b3c289808b05562a59ded11fedfc5406
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/fixedstack.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/fixedstack_test.cpp
Log Message:
-----------
[libc] Cache old slabs when allocating GPU memory (#151866)
Summary:
This patch introduces a lock-free stack used to store a fixed number of
slabs. Instead of going directly through RPC memory, we instead can
consult the cache and use that. Currently, this means that ~64 MiB of
memory will remain in-use if the user completely fills the cache.
However, because we always fully destroy the object, the chunk size can
be reset so they can be fully reused.
This greatly improves performance in cases where the user has previously
accessed malloc, lowering the difference between an implementation that
does not free slabs at all and one that does.
We can also skip the expensive zeroing step if the old chunk size was
smaller than the previous one. Smaller chunk sizes need a larger
bitfield, and because we know for a fact that the number of users
remaining in this slab is zero thanks to the reference counting we can
guarantee that the bitfield is all zero like when it was initialized.
Commit: 327c64cd6a69e35fe1351d4f5e89cd235e34ccc8
https://github.com/llvm/llvm-project/commit/327c64cd6a69e35fe1351d4f5e89cd235e34ccc8
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaHIP/amdgcnspirv-implicit-alloc-function-calling-conv.hip
Log Message:
-----------
[HIP][SPIRV] Implicit `new`/`delete` should be `cdecl` on host (#152023)
Client apps can (and in the case of the MSVC STL do) set cdecl
explicitly on `new` / `delete` implementations. On the other hand, Clang
generates implicit decls with the target's default CC. This is
problematic for SPIR-V, since the default there is spir_function, which
is not compatible. Since we cannot change pre-existing headers /
implementations, this patch sets the CC to C for the implicit host-side
decls, when compiling for device, to prevent the conflict. This is fine
because the host-side overloards do not get emitted on device.
Commit: fab2b22ada2aa484f9e9d1939577dd8cbaba84db
https://github.com/llvm/llvm-project/commit/fab2b22ada2aa484f9e9d1939577dd8cbaba84db
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
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] Remove OffsetSizeAndStrideOpInterface from CreateNdDescOp (#152773)
Commit: 6894abecadf8d875bbfca82445ded13d530a0066
https://github.com/llvm/llvm-project/commit/6894abecadf8d875bbfca82445ded13d530a0066
Author: moorabbit <moorabbit at proton.me>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Features.def
A clang/test/Lexer/has_feature_cfi.c
Log Message:
-----------
[Clang][Basic] Add `__has_feature` checks for CFI sanitizers (#151348)
Add `__has_feature` checks control flow integrity sanitizers.
Fixes #151022
Commit: 989c0d252650476baea1345c8f446a3dd4f0d3fe
https://github.com/llvm/llvm-project/commit/989c0d252650476baea1345c8f446a3dd4f0d3fe
Author: moorabbit <moorabbit at proton.me>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/fma4intrin.h
M clang/lib/Headers/fmaintrin.h
M clang/test/CodeGen/target-builtin-noerror.c
Log Message:
-----------
[Clang][X86] Replace unnecessary `vfmadd*` builtins with `element_wise_fma` (#152545)
The following intrinsics were replaced by `__builtin_elementwise_fma`:
- `__builtin_ia32_vfmaddps(256)`
- `__builtin_ia32_vfmaddpd(256)`
- `__builtin_ia32_vfmaddph(256)`
- `__builtin_ia32_vfmaddbf16(128 | 256 | 512)`
All the aforementioned `__builtin_ia32_vfmadd*` intrinsics are
equivalent to a `__builtin_elementwise_fma`, so keeping them is an
unnecessary indirection.
Fixes [#152461](https://github.com/llvm/llvm-project/issues/152461)
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 37bcd937766d0bb151d4ee54d72d9cc289fee97b
https://github.com/llvm/llvm-project/commit/37bcd937766d0bb151d4ee54d72d9cc289fee97b
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[LLVM][lit] add system-cygwin feature (#152780)
There are a few tests in clang that gate on system-windows but also
don't work on Cygwin, so add a system-cygwin feature for them to use.
Commit: ff616b4806ed6c9b9698290a9c807626aa3844f7
https://github.com/llvm/llvm-project/commit/ff616b4806ed6c9b9698290a9c807626aa3844f7
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/test/CodeGen/2007-06-18-SextAttrAggregate.c
M clang/test/CodeGen/debug-info-version.c
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/Driver/cuda-detect-path.cu
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/ld-path.c
M clang/test/Driver/program-path-priority.c
M clang/test/Driver/spirv-toolchain.cl
M clang/test/Interpreter/simple-exception.cpp
M clang/test/Lexer/cross-windows-on-linux.cpp
M clang/test/Modules/pr97313.cppm
M clang/test/Preprocessor/file_test.c
Log Message:
-----------
[Tests] Add system-cygwin feature, and use it. (#152611)
Several Clang tests were failing on Cygwin, and were already marked as
requiring !system-windows, unsupported on system-windows, or xfail on
system-windows. Add system-cygwin to lit's llvm.config, and use it in
such tests in addition to system-windows.
Commit: 4d3feaea66f43758518d15e07a975e3492317b1c
https://github.com/llvm/llvm-project/commit/4d3feaea66f43758518d15e07a975e3492317b1c
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Breakpoint/BreakpointResolver.h
M lldb/include/lldb/Breakpoint/BreakpointResolverName.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Target/Target.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/SBTarget.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/tools/lldb-dap/breakpoint-assembly/TestDAP_breakpointAssembly.py
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Protocol/DAPTypes.cpp
A lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
Log Message:
-----------
[lldb-dap] persistent assembly breakpoints (#148061)
Resolves #141955
- Adds data to breakpoints `Source` object, in order for assembly
breakpoints, which rely on a temporary `sourceReference` value, to be
able to resolve in future sessions like normal path+line breakpoints
- Adds optional `instructions_offset` parameter to `BreakpointResolver`
Commit: 412ea0b675522fd161382d5ce437e51f0505337a
https://github.com/llvm/llvm-project/commit/412ea0b675522fd161382d5ce437e51f0505337a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Support the Python stable C API in PythonString::AsUTF8 (#152599)
This conditionally reimplements PythonString::AsUTF8 using
PyUnicode_AsUTF8String instead of PyUnicode_AsUTF8AndSize.
PyUnicode_AsUTF8AndSize caches the UTF-8 representation of the string in
the Unicode object, which makes it more efficient and ties the lifetime
of the data to the Python string. However, it was only added to the
Stable API in Python 3.10. Older versions that want to use the Stable
API must use PyUnicode_AsUTF8String in combination with ConstString.
Commit: 10088b64ef090d059fe58e8533f9983be196d7c1
https://github.com/llvm/llvm-project/commit/10088b64ef090d059fe58e8533f9983be196d7c1
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
Log Message:
-----------
[libc][math] Update entrypoints for bf16{add,sub}{,f,l,f128} math functions (#152784)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: c065ed39120aee470474971a95423fc161b8fc62
https://github.com/llvm/llvm-project/commit/c065ed39120aee470474971a95423fc161b8fc62
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-store.ll
Log Message:
-----------
[RISCV] Add intrinsics for strided segment stores with fixed vectors (#152038)
These are the strided versions of `riscv.segN.store.mask` intrinsics.
Commit: 5a009838a23d14fe61f042e43bd0b566d270067c
https://github.com/llvm/llvm-project/commit/5a009838a23d14fe61f042e43bd0b566d270067c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
Log Message:
-----------
[RISCV][NFC] Update the comment for llvm.riscv.ssegN.load.mask
Instead of using the word 'offset' it's probably better to just say
'stride'.
NFC.
Commit: d15280894bd03c618ec1b4debcbfdb1fecb81594
https://github.com/llvm/llvm-project/commit/d15280894bd03c618ec1b4debcbfdb1fecb81594
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/fold-add-into-dest.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Linalg/transform-op-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-specialize-matmul.mlir
M mlir/test/Dialect/Linalg/transpose-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/python/dialects/linalg/opdsl/test_core_named_ops.py
M mlir/utils/tree-sitter-mlir/dialect/linalg.js
M mlir/utils/tree-sitter-mlir/queries/highlights.scm
Log Message:
-----------
[MLIR][Linalg] Remove matmul_transpose variants (#147961)
Removes the `(batch_)matmul_transpose_{a|b}` variants from OpDSL and
replace it with `matmul affine_maps [...]` whenever appropriate. This is
in line with the
[plan](https://discourse.llvm.org/t/rfc-op-explosion-in-linalg/82863),
and can be done since #104783 merged.
See:
https://discourse.llvm.org/t/deprecate-batch-matmul-transpose-a-b-linalg-operations/87245
Issues investigated:
* pad transform tests that could use `matmul` instead, so change to
that.
* ArmSME test using transpose actually needed it, so changed to `matmul`
+ affine maps.
Arm tests validated by @banach-space (thanks!!).
Commit: 3cf7262876cf261b5704bcf1d70d2de13d595e15
https://github.com/llvm/llvm-project/commit/3cf7262876cf261b5704bcf1d70d2de13d595e15
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[CaptureTracking] Handle ptrtoaddr
Unlike ptrtoint, ptrtoaddr does not capture provenance, only the address.
Note: As defined by the LangRef, we always treat `ptrtoaddr` as a
location-independent address capture since it is a direct inspection of the
pointer address.
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/152221
Commit: e13cb3e2997968d75a93d52589d62e97ee84c630
https://github.com/llvm/llvm-project/commit/e13cb3e2997968d75a93d52589d62e97ee84c630
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/lifetimes-noint64op.ll
M llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.5.ll
M llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
M llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/tools/dxil-dis/lifetimes.ll
Log Message:
-----------
[DirectX] Update lifetime legalization to account for the removed size argument (#152791)
Fixes #152754
- Fixes the ArgOperand index in `DXILOpLowering.cpp` used to obtain the
pointer operand of a lifetime intrinsic.
- Updates the tests
`llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.5.ll`,
`llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll`,
`llvm/test/CodeGen/DirectX/ShaderFlags/lifetimes-noint64op.ll`, and
`llvm/test/tools/dxil-dis/lifetimes.ll` to use the new size-less
lifetime intrinsic
- Removes lifetime intrinsics from the test
`llvm/test/CodeGen/DirectX/legalize-memset.ll` to be consistent with the
corresponding memcpy test which does not have lifetime intrinsics.
(Removal of lifetime intrinsics from tests like this was suggested here
in the past:
https://github.com/llvm/llvm-project/pull/139173#discussion_r2091778868)
- Rewrites the lifetime legalization functions in the EmbedDXILPass to
re-add the explicit size argument for DXIL
Commit: f091b401844e3c689c06f5ea6c1674e1a0bb4e86
https://github.com/llvm/llvm-project/commit/f091b401844e3c689c06f5ea6c1674e1a0bb4e86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
lldb/unittests/DAP/ProtocolTypesTest.cpp:112:67: error: missing
field 'adapterData' initializer
[-Werror,-Wmissing-field-initializers]
lldb/unittests/DAP/ProtocolTypesTest.cpp:571:70: error: missing
field 'adapterData' initializer
[-Werror,-Wmissing-field-initializers]
Commit: 246f92324f98f07a363909c6ef9e515b64a6f228
https://github.com/llvm/llvm-project/commit/246f92324f98f07a363909c6ef9e515b64a6f228
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaxbf16.h
A libc/src/math/fminbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaxbf16.cpp
A libc/src/math/generic/fminbf16.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fmaxbf16_test.cpp
A libc/test/src/math/smoke/fminbf16_test.cpp
Log Message:
-----------
[libc][math][c++23] Add f{max,min}bf16 math functions (#152782)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 88b791593941e1a94499e58cb73a080b928c46d1
https://github.com/llvm/llvm-project/commit/88b791593941e1a94499e58cb73a080b928c46d1
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
Log Message:
-----------
[mlir][linalg][test] Fix flaky test linalg-morph-multi-step.mlir (#152805)
This test runs `mlir-opt %s | mlir-opt %s | FileCheck` to test the round
trip behavior, but the second command takes input from the pipe, not the
lit test, so it should be `mlir-opt %s | mlir-opt | FileCheck`.
For some reason I haven't figured out, this causes ~50% flakiness when
testing in certain environments (not reproducible in my shell, but
reproduces in an internal buildbot), due to the pipeline raising
`SIGPIPE`.
Test added in #148424.
Commit: 29367747bc81b41d60fb40e48cc5907e3667d914
https://github.com/llvm/llvm-project/commit/29367747bc81b41d60fb40e48cc5907e3667d914
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
Log Message:
-----------
[Clang][AST][NFC] Add assertion on Init to CompoundLiteralExpr (#152593)
Static analysis complained that:
child_range(&Init, &Init+1);
in the children member function was potentially out of bounds. This is
false b/c it is forming an iterator range but it would be invalid if
Init was a nullptr.
I add an assertion in the constructor for this and remove to FIXME
checks that are related to this. I checked the various usages and we
always valid the argument is not nullptr.
Commit: f9cb95c9b0d52c11c7fbf11535cbd88039312ed3
https://github.com/llvm/llvm-project/commit/f9cb95c9b0d52c11c7fbf11535cbd88039312ed3
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/integer-canonicalizing-src-modifiers.ll
Log Message:
-----------
[AMDGPU] Add additional test cases to integer src mod test (#152692)
Adds missing 16-bit test cases to the test that src mods are not applied
to integers in instructions with canonicalizing patterns.
Commit: 130ddbb01917c3be975f534c1c78983832ba1abc
https://github.com/llvm/llvm-project/commit/130ddbb01917c3be975f534c1c78983832ba1abc
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
Log Message:
-----------
[gn] port(ish) eccc6e22f811
Commit: 0a0f077b9474f6b746418f38360ab28db6f5a1e1
https://github.com/llvm/llvm-project/commit/0a0f077b9474f6b746418f38360ab28db6f5a1e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
AMDGPU: Add missing static to cl::opt (#152747)
Commit: 96dd26cb92e1810e5fbd5704b7da8b323cc1ecd4
https://github.com/llvm/llvm-project/commit/96dd26cb92e1810e5fbd5704b7da8b323cc1ecd4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port 2c4b876fa842
Commit: 8bfb54bab4434ab4eed1398ef46847b30a087bf7
https://github.com/llvm/llvm-project/commit/8bfb54bab4434ab4eed1398ef46847b30a087bf7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 4d3feaea66f4
Commit: 75b3cc9e6ca836e661757f3a36603f16e28e8585
https://github.com/llvm/llvm-project/commit/75b3cc9e6ca836e661757f3a36603f16e28e8585
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/Transforms/Inline/ML/bounds-checks-rewards.ll
M llvm/test/Transforms/Inline/ML/development-training-log.ll
R llvm/test/Transforms/Inline/ML/size-estimator-default.ll
R llvm/test/Transforms/Inline/ML/size-estimator-training.ll
Log Message:
-----------
[mlgo] Remove tests involving the size estimator, after PR #139357 (#152813)
We'll remove the size estimator after, this change is to get the `ml-*`
build bots green after the aforementioned PR.
We never used the size estimator again after the initial DQN-based
training. Should we want to again, we now have IR2Vec, which the old
estimator was approximating in functionality.
Commit: 1acb1018d2ad8db4aaf5686b4f749e632828e690
https://github.com/llvm/llvm-project/commit/1acb1018d2ad8db4aaf5686b4f749e632828e690
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Set correct bind(c) name for __popc (#152795)
Commit: 0c139883f4c086444e816f607105a96b617eb4a7
https://github.com/llvm/llvm-project/commit/0c139883f4c086444e816f607105a96b617eb4a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/shared/rpc.h
Log Message:
-----------
[libc] Fix server code when GPU is acting as the server
Summary:
Small fix that just ignores all the extra lanes if we're running the
server from a platform that potentially has more.
Commit: 6f53f1c8d2bdd13e30da7d1b85ed6a3ae4c4a856
https://github.com/llvm/llvm-project/commit/6f53f1c8d2bdd13e30da7d1b85ed6a3ae4c4a856
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Target.h
A lld/test/ELF/riscv-relocatable-align.s
Log Message:
-----------
[ELF] -r: Synthesize R_RISCV_ALIGN at input section start
Without linker relaxation enabled for a particular relocatable file or
section (e.g., using .option norelax), the assembler will not generate
R_RISCV_ALIGN relocations for alignment directives. This becomes
problematic in a two-stage linking process:
```
ld -r a.o b.o -o ab.o
// b.o is norelax. Its alignment information is lost in ab.o.
ld ab.o -o ab
```
When ab.o is linked into an executable, the preceding relaxed section
(a.o's content) might shrink. Since there's no R_RISCV_ALIGN relocation
in b.o for the linker to act upon, the `.word 0x3a393837` data in b.o
may end up unaligned in the final executable.
To address the issue, this patch inserts NOP bytes and synthesizes an
R_RISCV_ALIGN relocation at the beginning of a text section when the
alignment >= 4.
For simplicity, when RVC is disabled, we synthesize an ALIGN relocation
(addend: 2) for a 4-byte aligned section, allowing the linker to trim
the excess 2 bytes.
See also https://sourceware.org/bugzilla/show_bug.cgi?id=33236
Pull Request: https://github.com/llvm/llvm-project/pull/151639
Commit: 97f0ff0c80407adee693436b44e55ededfcd5435
https://github.com/llvm/llvm-project/commit/97f0ff0c80407adee693436b44e55ededfcd5435
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.h
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.h
A llvm/lib/Target/AVR/AVRTargetTransformInfo.h
M llvm/test/CodeGen/AVR/bug-143247.ll
A llvm/test/CodeGen/AVR/issue-151080.ll
M llvm/test/CodeGen/AVR/load.ll
M llvm/test/CodeGen/AVR/shift.ll
M llvm/test/CodeGen/AVR/store.ll
Log Message:
-----------
[AVR] Fix Avr indvar detection and strength reduction (missed optimization) (#152028)
Fix https://github.com/llvm/llvm-project/issues/151080
Commit: 92164faf17d553359418b9f49c1a41d680d0de49
https://github.com/llvm/llvm-project/commit/92164faf17d553359418b9f49c1a41d680d0de49
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
[ADT] Use range-based for loops in SmallPtrSet.h (NFC) (#152821)
This patch defines a couple of helper functions so that we can convert
four loops to range-based for loops.
Commit: fc44a4fcd3c54be927c15ddd9211aca1501633e7
https://github.com/llvm/llvm-project/commit/fc44a4fcd3c54be927c15ddd9211aca1501633e7
Author: Mythreya Kuricheti <git at mythreya.dev>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
Log Message:
-----------
[clangd][NFC] Improve printing of completion items in gtest failures (#152671)
Commit: 91cdd35008e9ab32dffb7e401cdd7313b3461892
https://github.com/llvm/llvm-project/commit/91cdd35008e9ab32dffb7e401cdd7313b3461892
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/AST.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/copy-constructor-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/std-allocator-const.cpp
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/QualTypeNames.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/Tooling/Refactoring/Lookup.h
M clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTImporterLookupTable.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/InheritViz.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Frontend/ASTConsumers.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaBPF.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaFunctionEffects.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/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.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/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Sema/UsedDeclVisitor.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/Refactoring/Lookup.cpp
M clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Transformer/RangeSelector.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/arm-mfp8.cpp
M clang/test/AST/ast-dump-color.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
M clang/test/AST/ast-dump-record-definition-data-json.cpp
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.m
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-template-name.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-dump-using-template.cpp
M clang/test/AST/ast-dump-using.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/cxx2c-variadic-friends.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/float16.cpp
M clang/test/AST/sourceranges.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.mptr/p2.cpp
M clang/test/CXX/dcl/dcl.fct/p17.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/func-template-decl.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CodeGen/builtin-bpf-btf-type-id.c
M clang/test/CodeGen/builtins-bpf-preserve-field-info-3.c
M clang/test/Index/Core/index-instantiated-source.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Index/copy-assignment-operator.cpp
M clang/test/Index/index-refs.cpp
M clang/test/Index/keep-going.cpp
M clang/test/Index/move-assignment-operator.cpp
M clang/test/Index/opencl-types.cl
M clang/test/Index/paren-type.c
M clang/test/Index/print-type-size.cpp
M clang/test/Index/print-type.c
M clang/test/Index/print-type.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Index/redeclarations.cpp
M clang/test/Index/skip-parsed-bodies/compile_commands.json
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Modules/modules-merge-enum.m
M clang/test/Modules/odr_hash.cpp
M clang/test/OpenMP/allocate_modifiers_messages.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
M clang/test/PCH/cxx-explicit-specifier.cpp
M clang/test/Parser/MicrosoftExtensions.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/class-base-member-init.cpp
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/constant-expression.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/coroutine-allocs.cpp
M clang/test/SemaCXX/coroutine-traits-undefined-template.cpp
M clang/test/SemaCXX/coroutines.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-variadic-friends.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/elaborated-type-specifier.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/gh102293.cpp
M clang/test/SemaCXX/incomplete-call.cpp
M clang/test/SemaCXX/matrix-casts.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/return.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/sugared-auto.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaObjCXX/Inputs/nullability-pragmas-1.h
M clang/test/SemaObjCXX/arc-bridged-cast.mm
M clang/test/SemaObjCXX/objc-boxed-expressions-nsvalue.mm
M clang/test/SemaObjCXX/objcbridge-attribute-arc.mm
M clang/test/SemaObjCXX/objcbridge-attribute.mm
M clang/test/SemaObjCXX/objcbridge-related-attribute.mm
M clang/test/SemaObjCXX/objcbridge-static-cast.mm
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/current-instantiation.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/nested-name-spec-template.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/overload-candidates.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/CursorVisitor.h
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/AST/ASTExprTest.cpp
M clang/unittests/AST/ASTImporterFixtures.h
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/ProfilingTest.cpp
M clang/unittests/AST/RandstructTest.cpp
M clang/unittests/AST/RecursiveASTVisitorTest.cpp
M clang/unittests/AST/SizelessTypesTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/AST/TemplateNameTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/CodeGen/CodeGenExternalTest.cpp
M clang/unittests/Index/IndexTests.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
M clang/unittests/Tooling/LookupTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/RangeSelectorTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.verify.cpp
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/params.verify.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp
M lldb/tools/lldb-rpc-gen/lldb-rpc-gen.cpp
Log Message:
-----------
[clang] Improve nested name specifier AST representation (#147835)
This is a major change on how we represent nested name qualifications in
the AST.
* The nested name specifier itself and how it's stored is changed. The
prefixes for types are handled within the type hierarchy, which makes
canonicalization for them super cheap, no memory allocation required.
Also translating a type into nested name specifier form becomes a no-op.
An identifier is stored as a DependentNameType. The nested name
specifier gains a lightweight handle class, to be used instead of
passing around pointers, which is similar to what is implemented for
TemplateName. There is still one free bit available, and this handle can
be used within a PointerUnion and PointerIntPair, which should keep
bit-packing aficionados happy.
* The ElaboratedType node is removed, all type nodes in which it could
previously apply to can now store the elaborated keyword and name
qualifier, tail allocating when present.
* TagTypes can now point to the exact declaration found when producing
these, as opposed to the previous situation of there only existing one
TagType per entity. This increases the amount of type sugar retained,
and can have several applications, for example in tracking module
ownership, and other tools which care about source file origins, such as
IWYU. These TagTypes are lazily allocated, in order to limit the
increase in AST size.
This patch offers a great performance benefit.
It greatly improves compilation time for
[stdexec](https://github.com/NVIDIA/stdexec). For one datapoint, for
`test_on2.cpp` in that project, which is the slowest compiling test,
this patch improves `-c` compilation time by about 7.2%, with the
`-fsyntax-only` improvement being at ~12%.
This has great results on compile-time-tracker as well:

This patch also further enables other optimziations in the future, and
will reduce the performance impact of template specialization resugaring
when that lands.
It has some other miscelaneous drive-by fixes.
About the review: Yes the patch is huge, sorry about that. Part of the
reason is that I started by the nested name specifier part, before the
ElaboratedType part, but that had a huge performance downside, as
ElaboratedType is a big performance hog. I didn't have the steam to go
back and change the patch after the fact.
There is also a lot of internal API changes, and it made sense to remove
ElaboratedType in one go, versus removing it from one type at a time, as
that would present much more churn to the users. Also, the nested name
specifier having a different API avoids missing changes related to how
prefixes work now, which could make existing code compile but not work.
How to review: The important changes are all in
`clang/include/clang/AST` and `clang/lib/AST`, with also important
changes in `clang/lib/Sema/TreeTransform.h`.
The rest and bulk of the changes are mostly consequences of the changes
in API.
PS: TagType::getDecl is renamed to `getOriginalDecl` in this patch, just
for easier to rebasing. I plan to rename it back after this lands.
Fixes #136624
Fixes https://github.com/llvm/llvm-project/issues/43179
Fixes https://github.com/llvm/llvm-project/issues/68670
Fixes https://github.com/llvm/llvm-project/issues/92757
Commit: 160f5ca0f5e32b56559fdd6d993b0c7997adf6ff
https://github.com/llvm/llvm-project/commit/160f5ca0f5e32b56559fdd6d993b0c7997adf6ff
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
A llvm/lib/Target/AVR/AVRTargetTransformInfo.cpp
M llvm/lib/Target/AVR/AVRTargetTransformInfo.h
M llvm/lib/Target/AVR/CMakeLists.txt
Log Message:
-----------
[AVR][NFC] Split AVRTargetTransformInfo.h to AVRTargetTransformInfo.cpp (#152841)
Commit: 10e146a7161065429629a13f99c179a61ffe7721
https://github.com/llvm/llvm-project/commit/10e146a7161065429629a13f99c179a61ffe7721
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix out of bound physreg tuple condition. NFC. (#152777)
The end register of the tuple shall be below the last existing
register. The check does not work on something like {v[255:256]}.
Overall it works correctly because if fails later at the
getMatchingSuperReg() call.
Commit: 2f8e4f8b2613800b81c656b4733a85ad52b5e853
https://github.com/llvm/llvm-project/commit/2f8e4f8b2613800b81c656b4733a85ad52b5e853
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for shuffle visiting same lane. NFC
PR: https://github.com/llvm/llvm-project/pull/151633.
Commit: b9fef09e8e5144c9d7e43a64df6df374efc91c90
https://github.com/llvm/llvm-project/commit/b9fef09e8e5144c9d7e43a64df6df374efc91c90
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode] Add canClassify() helper (#152755)
Sometimes we don't need the return value of a classsify() call, we only
need to know if we can map the given Expr/Type to a primitive type. Add
canClassify() for that.
Commit: 723de7f23196393d2323e62d50bedba4492139ef
https://github.com/llvm/llvm-project/commit/723de7f23196393d2323e62d50bedba4492139ef
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
Log Message:
-----------
[LV][RISCV] Try fixing Windows buildbot failure in force-vect-msg.ll. NFC
The clang-x64-windows-msvc buildbot is failing after
707447159341f7b5678dee4f47731af50524b9ae due to this test failing:
https://lab.llvm.org/buildbot/#/builders/63/builds/8528
This is a stab in the dark, but my first thought is that it may be due
to the handling of floats with MSVC or something. So this removes the
floating point part of the check. I don't have access to a Windows
machine handy to debug this just yet, so pushing this to see if it can
quickly return the buildbot to green.
Commit: f89306fe74434c55fc7844532f1a3bdaf9a838ea
https://github.com/llvm/llvm-project/commit/f89306fe74434c55fc7844532f1a3bdaf9a838ea
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/AVR/CMakeLists.txt
Log Message:
-----------
[AVR] Fix build break with shared libraries
For example:
/usr/bin/ld: lib/Target/AVR/CMakeFiles/LLVMAVRCodeGen.dir/AVRTargetMachi
ne.cpp.o: in function `llvm::TargetTransformInfoImplCRTPBase<llvm::AVRTT
IImpl>::~TargetTransformInfoImplCRTPBase()':
AVRTargetMachine.cpp:(.text._ZN4llvm31TargetTransformInfoImplCRTPBaseINS
_10AVRTTIImplEED2Ev[_ZN4llvm31TargetTransformInfoImplCRTPBaseINS_10AVRTT
IImplEED5Ev]+0x13): undefined reference to `llvm::TargetTransformInfoImp
lBase::~TargetTransformInfoImplBase()'
Add missing dependencies to CMakeLists.txt.
Commit: 7a6c9813d69bf390ab2db3b060305b6aade7703b
https://github.com/llvm/llvm-project/commit/7a6c9813d69bf390ab2db3b060305b6aade7703b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Add AccessFlags to Block (#152590)
This way, we can check a single uint8_t for != 0 to know whether this
block is accessible or not. If not, we still need to figure out why not
and diagnose appropriately of course.
Commit: e98b8cbf555a94fbe99150ab36d909c4c6a5ccfc
https://github.com/llvm/llvm-project/commit/e98b8cbf555a94fbe99150ab36d909c4c6a5ccfc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
Log Message:
-----------
[MIRParser] Remove an unnecessary cast (NFC) (#152835)
peekDebugInstrNum() already returns unsigned.
Commit: 39941a2dbc71d570421d90d409ccfc8d92d535f5
https://github.com/llvm/llvm-project/commit/39941a2dbc71d570421d90d409ccfc8d92d535f5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
Log Message:
-----------
[ExecutionEngine] Remove an unnecessary cast (NFC) (#152836)
getValue() already returns uint64_t.
Commit: 5ebb22de6ac0dd4fa8d024957b8f2c9537256c73
https://github.com/llvm/llvm-project/commit/5ebb22de6ac0dd4fa8d024957b8f2c9537256c73
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
Log Message:
-----------
[Mips] Remove an unnecessary cast (NFC) (#152837)
getZExtValue() already returns uint64_t.
Commit: 190ad0b1275de7fae75b0ed4add250ee1e52b813
https://github.com/llvm/llvm-project/commit/190ad0b1275de7fae75b0ed4add250ee1e52b813
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
Log Message:
-----------
[llvm] Proofread SourceLevelDebugging.rst (#152838)
Commit: d1827f040f6e056e62cf4158bdf90d0acdf3d287
https://github.com/llvm/llvm-project/commit/d1827f040f6e056e62cf4158bdf90d0acdf3d287
Author: dyung <douglas.yung at sony.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M lld/test/ELF/riscv-relocatable-align.s
Log Message:
-----------
Add `REQUIRES: riscv` to test added in 151639 to skip the test when riscv is not built. (#152858)
Commit: 92a966bd8f9fc5cd490ab956de202cd622cd7d32
https://github.com/llvm/llvm-project/commit/92a966bd8f9fc5cd490ab956de202cd622cd7d32
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-cpus.c
Log Message:
-----------
[RISCV] Add -march=unset to cancel and ignore a previous -march. (#148321)
-mcpu is used to determine the ISA string if an explicit -march is not
present on the command line. If there is a -march present it always has
priority over -mcpu regardless of where it appears in the command line.
This can cause issues if -march appears in a Makefile and a user wants
to override it with an -mcpu on the command line. The user would need to
provide a potentially long ISA string to -march that matches the -mcpu
in order to override the MakeFile.
This issue can also be seen on Compiler Explorer where the rv64gc
toolchain is passed -march=rv64gc before any user command line options
are added. If you pass -mcpu=spacemit-x60, vectors will not be enabled
due to the hidden -march.
This patch adds a new option for -march, "unset" that makes the -march
ignored for purposes of prioritizing over -mcpu. Now a user can write
-march=unset -mcpu=<cpu_name>. This is also implemented by gcc for
ARM32.
An alternative would be to allow -march to take a cpu name, but that
requires "-march=<cpu_name> -mcpu=<cpu_name>" or "-march=<cpu_name>
-mtune=<cpu_name>" to ensure the tune cpu also gets updated. IMHO,
needing to repeat the CPU name twice isn't friendly and invites
mistakes.
gcc has implemented this as well.
Commit: 7fb8630e71c4b5028f9ad7d413144f48b13eb857
https://github.com/llvm/llvm-project/commit/7fb8630e71c4b5028f9ad7d413144f48b13eb857
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
Log Message:
-----------
[RISCV] Add another packh+packw pattern. (#152744)
If the upper 32 bits are demanded, we might have a sext_inreg in
the pattern on the byte shifted by 24. We can also match this case
since packw sign extends from bit 31.
Commit: e86c9b6b1b1becf86fcde8f66d3f0b214b30ace8
https://github.com/llvm/llvm-project/commit/e86c9b6b1b1becf86fcde8f66d3f0b214b30ace8
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cos.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cos.h
A libc/src/__support/math/range_reduction_double_common.h
A libc/src/__support/math/range_reduction_double_fma.h
A libc/src/__support/math/range_reduction_double_nofma.h
A libc/src/__support/math/sincos_eval.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cos.cpp
R libc/src/math/generic/range_reduction_double_common.h
R libc/src/math/generic/range_reduction_double_fma.h
R libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
R libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/tan.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor cos implementation to header-only in src/__support/math folder. (#151883)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 870aa979c4854d23e368845acd459d1e4ff7d2e0
https://github.com/llvm/llvm-project/commit/870aa979c4854d23e368845acd459d1e4ff7d2e0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/functions.cpp
Log Message:
-----------
[clang][bytecode] Use visitExpr() in interpretCall (#152857)
This is the correct function to use and it will create a variable scope.
Fixes #152822
Commit: 24b772769f47f2c884ffab64a24444da9968094f
https://github.com/llvm/llvm-project/commit/24b772769f47f2c884ffab64a24444da9968094f
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__expected/expected.h
M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.u.pass.cpp
Log Message:
-----------
[libc++] Implement LWG4222 'expected' constructor from a single value missing a constraint (#152676)
Implement [LWG4222](https://wg21.link/LWG4222).
Closes https://github.com/llvm/llvm-project/issues/148208
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 62735d26b1a1bdb5d03c594c958a0d01a4f8b486
https://github.com/llvm/llvm-project/commit/62735d26b1a1bdb5d03c594c958a0d01a4f8b486
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/pr152630.ll
Log Message:
-----------
[DAGCombine] Correctly extend the constant RHS in `TargetLowering::SimplifySetCC` (#152862)
In https://github.com/llvm/llvm-project/pull/150270, when the predicate
is eq/ne and the trunc has only an nsw flag, the RHS is incorrectly
zero-extended.
Closes https://github.com/llvm/llvm-project/issues/152630.
Commit: aee4f2baccdbc018d0ac60eaa4e2a0a5f30bcdf5
https://github.com/llvm/llvm-project/commit/aee4f2baccdbc018d0ac60eaa4e2a0a5f30bcdf5
Author: Keith Randall <khr at golang.org>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
Log Message:
-----------
[libFuzzer] always install signal handler with SA_ONSTACK (#147422)
SA_ONSTACK is required for certain runtimes that use small stacks, for
instance the Go runtime.
See https://github.com/golang/go/issues/49075
SA_ONSTACK is a no-op unless someone also calls sigaltstack.
Commit: 06fd0f9d65a8be50ba3640e1ab878ea02ab053f8
https://github.com/llvm/llvm-project/commit/06fd0f9d65a8be50ba3640e1ab878ea02ab053f8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Move initial skeleton construction earlier (NFC). (#150848)
Split up the not clearly named prepareForVectorization transform into
buildVPlan0, which adds the vector preheader, middle and scalar
preheader blocks, as well as the canonical induction recipes and sets
the trip count. The new transform is run directly after building the
plain CFG VPlan initially.
The remaining code handling early exits and adding the branch in the
middle block is renamed to handleEarlyExitsAndAddMiddleCheck and still
runs at the original position.
With the code movement, we only have to add the skeleton once to the
initial VPlan, and cloning will take care of the rest. It will also
enable moving other construction steps to work directly on VPlan0, like
adding resume phis.
PR: https://github.com/llvm/llvm-project/pull/150848
Commit: dea50a1797c9cb70ce86284c25cc9277f3d88fc8
https://github.com/llvm/llvm-project/commit/dea50a1797c9cb70ce86284c25cc9277f3d88fc8
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/include/flang/Config/config.h.cmake
M flang/test/Driver/linker-flags.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang][Driver] Enable FLANG_DEFAULT_LINKER (#149786)
The default linker can be changed by a CMake variable
CLANG_DEFAULT_LINKER. However, it also changes the default linker
invoked by clang. In fact, there already exists FLANG_DEFAULT_LINKER,
but it does not work. This patch fixes it.
Note that FLANG_DEFAULT_LINKER will have the same value as
CLANG_DEFAULT_LINKER unless it is defined explicitly. That means this
patch does not affect the current behavior.
Fixes #73153
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: d9199a85e1382a87aedc7edae30c98ef3f434308
https://github.com/llvm/llvm-project/commit/d9199a85e1382a87aedc7edae30c98ef3f434308
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
Log Message:
-----------
[LV] Add missing check lines for tests.
Add stray missing check lines for 2 tests.
Commit: c9b62427716f41cf33b932a5622d8ef5b588f1c0
https://github.com/llvm/llvm-project/commit/c9b62427716f41cf33b932a5622d8ef5b588f1c0
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.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/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/TargetInfo.cpp
Log Message:
-----------
[CIR] Fix build after the improved nested name specifier AST repr (91cdd35008e9)
Commit: 34164da5cd3d2bd965e1991d88bdb99fbb798090
https://github.com/llvm/llvm-project/commit/34164da5cd3d2bd965e1991d88bdb99fbb798090
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
Log Message:
-----------
[clang] missing changes to the Rewriter (#152845)
This completes https://github.com/llvm/llvm-project/pull/147835 by
adapting the changes in the API to the rewriter.
Fixes build failures such as reported here:
https://github.com/llvm/llvm-project/pull/147835#issuecomment-3170483197
We previously missed this because it was not tested in pre-commit CI.
Commit: 5e87792200697818c0f6cb17be64b393fe31244c
https://github.com/llvm/llvm-project/commit/5e87792200697818c0f6cb17be64b393fe31244c
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
A llvm/test/Transforms/LICM/licm-coroutine.ll
Log Message:
-----------
[LoopInfo] Pointer to stack object may not be loop invariant in a coroutine function (#149936)
A coroutine function may be split to ramp function and resume function,
and they have different stack frames, so a pointer to stack objects may
have different addresses depending on where it is used, so it's not a
loop invariant.
It temporarily fixes https://github.com/llvm/llvm-project/issues/149604.
Commit: f94d809b7e6f4fcaf5ee703c29e16142c403dafa
https://github.com/llvm/llvm-project/commit/f94d809b7e6f4fcaf5ee703c29e16142c403dafa
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AVR/BUILD.gn
Log Message:
-----------
[gn build] Port 160f5ca0f5e3
Commit: 4c0a7b72f7fe7786e12264aec2b990177222778c
https://github.com/llvm/llvm-project/commit/4c0a7b72f7fe7786e12264aec2b990177222778c
Author: keinflue <keinflue at posteo.de>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
Log Message:
-----------
[clang] Distinguish NTTPs with deduced types in variable template partial specializations (#152864)
If a template argument in a partial specialization of a variable
template directly refers to a NTTP of the specialization without
implicit type conversion it was assumed that the NTTP is identical to
that of the primary template.
This doesn't hold if the primary template's NTTP uses a deduced type, so
instead compare the types explicitly as well.
The affected function is used only to provide an improved early error if
the partial specialization has identical template arguments to the
primary template. The actual check that the partial specialization is
more specialized happens later.
Fixes #118190
Fixes #152750
Commit: 7bf43fec3aa1c7bb64749efefe0f5fd1e377c1fd
https://github.com/llvm/llvm-project/commit/7bf43fec3aa1c7bb64749efefe0f5fd1e377c1fd
Author: MacGyver Codilla <77024043+39otsu at users.noreply.github.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
A compiler-rt/test/asan/TestCases/Windows/symbolize.cpp
Log Message:
-----------
[ASan] Ensure Symbolize Flag setting on Windows through __asan_default_options() is maintained throughout runtime (#132811)
As a consequence of the ASAN DLL's initialization process on Windows,
some flags defined by the user through overriding the
__asan_default_options() method will not be honored. More information
here: [#117925](https://github.com/llvm/llvm-project/issues/117925)
This PR aims to alleviate this for the symbolize flag in relation to
this user's concern
[here.](https://developercommunity.visualstudio.com/t/Overloading-of-__asan_default_options-/10688871)
1. Declared `Symbolizer::ClearTools()`.
2. Defined `Symbolizer::ClearTools()`. Upon invocation of the weak
function callback of `__asan_default_options()`, `Symbolizer::tools_`
will be cleared if the user specifies `symbolize=0`.
3. Added tests.
---------
Co-authored-by: MacGyver Codilla <mcodilla at microsoft.com>
Commit: 4cdfc0dc0d1c509d7a07650fee05cb91c822f20c
https://github.com/llvm/llvm-project/commit/4cdfc0dc0d1c509d7a07650fee05cb91c822f20c
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
Log Message:
-----------
[AMDGPU] Baseline test for ptrtoaddr in lower-buffer-fat-pointers
We should only be extracting the 32-bit offset in the ptrtoaddr case.
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/143812
Commit: 87ad9122e5b11a5ba68e9c6db9e605dcf4882ced
https://github.com/llvm/llvm-project/commit/87ad9122e5b11a5ba68e9c6db9e605dcf4882ced
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
Log Message:
-----------
[AMDGPULowerBufferFatPointers] Handle ptrtoaddr by extending the offset
Reviewed By: krzysz00
Pull Request: https://github.com/llvm/llvm-project/pull/139413
Commit: 86660009ec22119782bde1acfad77f7b4c93ebce
https://github.com/llvm/llvm-project/commit/86660009ec22119782bde1acfad77f7b4c93ebce
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
Log Message:
-----------
[NFC][mlir] Fully qualify namespace to avoid an MSVC bug (#152860)
VS17.6 has a name lookup issue, and was fixed in VS17.7, it impact down
stream MLIR based project. This MR add full qualifiers to workaround
this issue.
Reproducer: https://godbolt.org/z/Ea6e1Kc3E
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 018b0daccf7991e1f0cdcb17f8a76edf6caaa0d9
https://github.com/llvm/llvm-project/commit/018b0daccf7991e1f0cdcb17f8a76edf6caaa0d9
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
Log Message:
-----------
[NFC] Fix a typo in comments (#152840)
Commit: 72a1fd1b43ac4d267d986c87c4e38f91b5bd872d
https://github.com/llvm/llvm-project/commit/72a1fd1b43ac4d267d986c87c4e38f91b5bd872d
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
A llvm/test/CodeGen/AVR/half.ll
Log Message:
-----------
[AVR][NFC] Add a test for fp16 support (#152708)
Commit: 733fddb6f41ad19d11f4897aa3ac9fd5c00e9611
https://github.com/llvm/llvm-project/commit/733fddb6f41ad19d11f4897aa3ac9fd5c00e9611
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.h
M llvm/test/CodeGen/AVR/half.ll
M llvm/test/CodeGen/AVR/llvm.sincos.ll
Log Message:
-----------
[AVR] Change `half` to use `softPromoteHalfType` (#152783)
The default `half` legalization has some issues with quieting NaNs and
carrying excess precision. As has been done for various other targets,
update AVR to use `softPromoteHalfType` which avoids these issues.
The most obvious corrected test below is `test_load_store`, which no
longer contains calls to extend and trunc (this passing through libcalls
means that `f16` does not round trip).
Fixes the AVR part of https://github.com/llvm/llvm-project/issues/97975
Fixes the AVR part of https://github.com/llvm/llvm-project/issues/97981
Commit: b2cdd80411dab7b08a7649a5043370d816dbd3f4
https://github.com/llvm/llvm-project/commit/b2cdd80411dab7b08a7649a5043370d816dbd3f4
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add support for __builtin_assume_aligned (#152152)
This patch upstreams CIRGen and LLVM lowering support for the
`__builtin_assume_aligned` builtin function.
Commit: c123f4782f0ec87c947aa97a2f0b3a4c2d02e68c
https://github.com/llvm/llvm-project/commit/c123f4782f0ec87c947aa97a2f0b3a4c2d02e68c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/lib/Support/SmallPtrSet.cpp
Log Message:
-----------
[ADT] Use range-based for loops in SmallPtrSet (NFC) (#152882)
This patch introduces helper function buckets() to convert two loops
to range-based for loops.
Commit: 052c38be824d9dabb1e8fb64c1c7c3908d786e83
https://github.com/llvm/llvm-project/commit/052c38be824d9dabb1e8fb64c1c7c3908d786e83
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-08-09 (Sat, 09 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Properly implement DoubleAPFloat::convertToSignExtendedInteger
Use DoubleAPFloat::roundToIntegral to get a pair of APFloat values which
hold integral values. Then we sum the pair, taking care to make sure
that we handle edge cases like (hi=2^128, lo=-1) and ensuring that they
fit in an unsigned i128.
Commit: 2242e28671c43f014d4e4e185d7ebde25bfd84a5
https://github.com/llvm/llvm-project/commit/2242e28671c43f014d4e4e185d7ebde25bfd84a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
Log Message:
-----------
[Analysis] Remove an unreachable check. NFC. (#152874)
Binops never produce pointer values.
Commit: 2344f82b58c773abd33debc077647f2adc8bfbd5
https://github.com/llvm/llvm-project/commit/2344f82b58c773abd33debc077647f2adc8bfbd5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
R compiler-rt/test/asan/TestCases/Windows/symbolize.cpp
Log Message:
-----------
Revert "[ASan] Ensure Symbolize Flag setting on Windows through __asan_default_options() is maintained throughout runtime (#132811)"
This reverts commit 7bf43fec3aa1c7bb64749efefe0f5fd1e377c1fd.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132811
Commit: 8b44945a9231d4d7be0858a1c5d9c13d397bc512
https://github.com/llvm/llvm-project/commit/8b44945a9231d4d7be0858a1c5d9c13d397bc512
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
Revert "[APFloat] Properly implement DoubleAPFloat::convertToSignExtendedInteger"
This reverts commit 052c38be824d9dabb1e8fb64c1c7c3908d786e83.
I'm getting:
llvm/lib/Support/APFloat.cpp:5627:29: error:
use of undeclared identifier 'Parts'
5627 | assert(DstPartsCount <= Parts.size() && "Integer too big");
| ^
1 error generated.
Commit: 9d6df77c8928ce27bab612d16a3d5c4884903b0d
https://github.com/llvm/llvm-project/commit/9d6df77c8928ce27bab612d16a3d5c4884903b0d
Author: Thibault Monnier <97551402+Thibault-Monnier at users.noreply.github.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/Driver/Compilation.cpp
Log Message:
-----------
[Clang] [NFC] Inline static helper function in `Compilation.cpp` (#152875)
This PR inlines the static `InputsOk` function in clang
`Compilation.cpp` driver, because it was just a simple function call and
was called only once. In addition, inlining it allows removing the
double negation.
Commit: 09ff631b9238e7a37c2ceb0a558cd410af3a9080
https://github.com/llvm/llvm-project/commit/09ff631b9238e7a37c2ceb0a558cd410af3a9080
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Fix ternary operators with known IsArray values (#152894)
After https://github.com/llvm/llvm-project/pull/146471, the values here
are known.
Commit: 76d2f0fe471d761895e6a8274b731ed59ce4403a
https://github.com/llvm/llvm-project/commit/76d2f0fe471d761895e6a8274b731ed59ce4403a
Author: flovent <flbven at protonmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
Log Message:
-----------
[clang-tidy] `readability-container-size-empty`: Correctly generating fix hints when size method is called from implicit this (#152486)
Correctly generating fix hints when size method is called from implicit
this.
Closes #152387.
---------
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 520db343b86a1273f632e896884defc69be18164
https://github.com/llvm/llvm-project/commit/520db343b86a1273f632e896884defc69be18164
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn] Make lldb-dap depend on lldbHost
Matches CMake, and is apparently needed on Windows now.
Commit: cfe190979e8272c3192a5ce576b12daa6a8bfd8b
https://github.com/llvm/llvm-project/commit/cfe190979e8272c3192a5ce576b12daa6a8bfd8b
Author: David Green <david.green at arm.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
Revert "[SLP]Initial FMAD support (#149102)"
This reverts commit 0fffb9f9ed81f4c2084b8fe040c88b60bb6c372a due to major
performance regressions.
Commit: a976843033485ff44bb4bbb0b0b8a537956b4c40
https://github.com/llvm/llvm-project/commit/a976843033485ff44bb4bbb0b0b8a537956b4c40
Author: David Green <david.green at arm.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for a mla reduction sum. NFC
Commit: d8b1b46cd39c91830bcf49ed91d80f38f78c2168
https://github.com/llvm/llvm-project/commit/d8b1b46cd39c91830bcf49ed91d80f38f78c2168
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/GenericFloatingPointPredicateUtils.h
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[IR] Handle fabs LHS in `fcmpImpliesClass` (#152913)
Closes https://github.com/llvm/llvm-project/issues/152824.
Commit: 2c40fd6dd12155defc42a58696a73becf62cb902
https://github.com/llvm/llvm-project/commit/2c40fd6dd12155defc42a58696a73becf62cb902
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
Log Message:
-----------
[clang][bytecode] Use Param decl as variable source if we can (#152909)
This results in diagnostics that are closer to what the current
interpreter produces.
Commit: 6ec0985ad07d68016587353fce715dce73cf1faa
https://github.com/llvm/llvm-project/commit/6ec0985ad07d68016587353fce715dce73cf1faa
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
A mlir/test/Transforms/test-legalizer-fold-after.mlir
A mlir/test/Transforms/test-legalizer-fold-before.mlir
A mlir/test/Transforms/test-legalizer-no-fold.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Enable disabling folding in dialect conversion (#152890)
Previously this only happened post checking if the op is legal, but was
done unconditionally post (and before other legalization patterns). Add
option to not attempt folding and one to do so as last resort.
Did consider but did not add a always attempt to fold option (which
would have folded whether or not legal), but removed TODO about it.
Commit: 4066d796e9086916afd130e758ac12811ba796ce
https://github.com/llvm/llvm-project/commit/4066d796e9086916afd130e758ac12811ba796ce
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
Revert "Update .git-blame-ignore-revs for Pack/Unpack move (#152469)" (#152661)
This reverts commit c43c1c0c45fc1ec3fab7abd6e19b318f6468bf28.
Apologies for the noise - I misunderstood how `git blame --ignore-rev`
works. It’s not suitable for large code-move changes and ends up making
`git blame` more confusing rather than cleaner. From the Git
documentation:
> Lines that were changed or added by an ignored commit will be blamed
> on the previous commit that changed that line or nearby lines.
In this case, since so many new lines were added, skipping the commit
causes `git blame` to attribute them to unrelated changes. I had
expected Git to preserve the true origin of the lines while skipping the
move itself - but that is not what happens.
Therefore, I’m reverting this change. Ignoring the commit obscures blame
history rather than improving it.
Commit: 9247b51a02b5cf92195f6cd6e82e392619ae5235
https://github.com/llvm/llvm-project/commit/9247b51a02b5cf92195f6cd6e82e392619ae5235
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAsmInfoGOFF.cpp
Log Message:
-----------
[NFC][MC] Removed unused switch case in `emitCATTR` (#152907)
The switch statement `switch (Rmode)` is in an if-block that checks if
`Rmode != GOFF::ESD_RMODE_None` making the `case GOFF::ESD_RMODE_None:`
unnecessary.
Commit: 57627bd197f79211f161a2104543148db621d37e
https://github.com/llvm/llvm-project/commit/57627bd197f79211f161a2104543148db621d37e
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix `ptrtoaddr` code block (#152927)
Fixes formatting of the example code block under the `ptrtoaddr`
instruction.
Commit: 61842ac3793c5b532f254fdec30833cd53671c2b
https://github.com/llvm/llvm-project/commit/61842ac3793c5b532f254fdec30833cd53671c2b
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAsmInfoGOFF.cpp
Log Message:
-----------
Revert "[NFC][MC] Removed unused switch case in `emitCATTR`" (#152929)
Reverts llvm/llvm-project#152907
This is causing some build failures.
Commit: b08e86cb7f7368531c4c12502dc1bed78f3e19a1
https://github.com/llvm/llvm-project/commit/b08e86cb7f7368531c4c12502dc1bed78f3e19a1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Move CheckExtern call into isAccessible() block (#152926)
This is where it belongs, but it was accidentally left where it was.
Commit: 2b4b721faf852a405b25064c0d3b59a2372efe2b
https://github.com/llvm/llvm-project/commit/2b4b721faf852a405b25064c0d3b59a2372efe2b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Emit embed element casts directly (#152928)
The element initializer is known to be an IntegerLiteral, the previous
signature of the lambda just didn't specify that. So we can also do the
cast directly instead of doing it via a Cast op.
Commit: 59f31d4e8df8cc35c816c05f2c653ca29e9a276e
https://github.com/llvm/llvm-project/commit/59f31d4e8df8cc35c816c05f2c653ca29e9a276e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
Fix MSVC warning in CompilerInvocation.cpp (#152809)
Building Clang using MSVC was resulting in the following warning:
```
tuple(791): warning C4018: '<': signed/unsigned mismatch
```
I traced this to CompilerInvocation.cpp where it was creating a
`std::tuple` to compare version numbers.
This change adds an explicit type for the `tuple` created from the
version macros to match the type of the variables, and uses the `tuple`
constructor instead of `tie` since the integers are smaller than a
reference to the integers.
Commit: 7de50beb5281ec860a810ffa544d67be21d78412
https://github.com/llvm/llvm-project/commit/7de50beb5281ec860a810ffa544d67be21d78412
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Offload] Fix return error with a condition (#152876)
Adds a conditional to the error return so that it only returns if there was an error.
Commit: a2d353ea17e14a1fc193ec1cf4a6cd39cd73ee44
https://github.com/llvm/llvm-project/commit/a2d353ea17e14a1fc193ec1cf4a6cd39cd73ee44
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/GraphWriter.h
Log Message:
-----------
[Support] Fix CRTP for GraphWriter (NFC) (#152811)
Commit 474bbc1 forgot to change the members of GraphWriterBase from private
to protected.
Because of this, GraphWriter can't be properly partially specialized using CRTP.
This commit corrects that, allowing GraphWriterBase to be partially specialized
using CRTP as intended.
Commit: 86813aa786190005f51008f6419901e738fd18f3
https://github.com/llvm/llvm-project/commit/86813aa786190005f51008f6419901e738fd18f3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Add dedicated user for resume phi with epilogue vectorization.
Epilogue vectorization currently relies on the resume phi for the
canonical induction being always available, which is why VPPhi are
considered to have side-effects, to prevent their removal.
This patch adds a new ResumeForEpilogue opcode to mark the resume phi as
used for epilogue vectorization. This allows treating VPPhis in general
as not having side-effects, enabling removal of unused VPPhis.
Commit: 5751e96f9a749c5ddb1fc8d9831a835f7f4c6189
https://github.com/llvm/llvm-project/commit/5751e96f9a749c5ddb1fc8d9831a835f7f4c6189
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M offload/include/omptarget.h
Log Message:
-----------
[Offload][NFC] Re-enable clang-format for omptarget.h (#152937)
Commit: d218789d3efee246c9627256c8a44e1579af6b21
https://github.com/llvm/llvm-project/commit/d218789d3efee246c9627256c8a44e1579af6b21
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[Docs] Fix the description about %clang_cpp (#152842)
Commit: 1f86deb5a42517444378442e7c38580622069081
https://github.com/llvm/llvm-project/commit/1f86deb5a42517444378442e7c38580622069081
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
Log Message:
-----------
AMDGPU: Add debug printing for early exit if there are no AGPRs allocated
Commit: 12cec437c664e1b671d85f38418c97f222340ce4
https://github.com/llvm/llvm-project/commit/12cec437c664e1b671d85f38418c97f222340ce4
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/math/clc_log.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_rsqrt.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_sinpi.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_sqrt.cl
A libclc/clc/lib/ptx-nvidiacl/relational/clc_isinf.cl
Log Message:
-----------
[libclc] Implement clc_log/sinpi/sqrt with __nv_* functions (#150174)
This is to upstream implementations in
https://github.com/intel/llvm/tree/sycl/libclc/clc/lib/ptx-nvidiacl/math
Commit: 628c0e33e4f1ca74787dede621677d8eaca4f726
https://github.com/llvm/llvm-project/commit/628c0e33e4f1ca74787dede621677d8eaca4f726
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/bf16mul.h
A libc/src/math/bf16mulf.h
A libc/src/math/bf16mulf128.h
A libc/src/math/bf16mull.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/bf16mul.cpp
A libc/src/math/generic/bf16mulf.cpp
A libc/src/math/generic/bf16mulf128.cpp
A libc/src/math/generic/bf16mull.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/bf16mul_test.cpp
A libc/test/src/math/bf16mulf128_test.cpp
A libc/test/src/math/bf16mulf_test.cpp
A libc/test/src/math/bf16mull_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/MulTest.h
A libc/test/src/math/smoke/bf16mul_test.cpp
A libc/test/src/math/smoke/bf16mulf128_test.cpp
A libc/test/src/math/smoke/bf16mulf_test.cpp
A libc/test/src/math/smoke/bf16mull_test.cpp
Log Message:
-----------
[libc][math][c++23] Add bf16mul{,f,l,f128} math functions (#152847)
This PR adds the following basic math functions for BFloat16 type along
with the tests:
- bf16mul
- bf16mulf
- bf16mull
- bf16mulf128
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 1c499351d682aa46c2f087a6f757d22b01d18aa7
https://github.com/llvm/llvm-project/commit/1c499351d682aa46c2f087a6f757d22b01d18aa7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add `m_[Shift]OrSelf` matchers. (#152924)
Address the comment
https://github.com/llvm/llvm-project/pull/147414/files#r2228612726.
As they are usually used to match integer packing patterns, it is enough
to handle constant shamts.
Commit: 6db3776f9bdb38046f9d04c86388d815bb732094
https://github.com/llvm/llvm-project/commit/6db3776f9bdb38046f9d04c86388d815bb732094
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][EVL] Simplify EVL recipe transformation by using a single EVL mask. nfc (#152479)
The EVL mask is always defined as `icmp ult (step-vector, EVL)`, so we
only need to generate it once per plan in the header. Then, we replace
all uses of the header mask with the EVL mask, and recursively optimize
the users of EVL mask into EVL recipes. This way, the transformation to
EVL recipes can be done with just a single loop.
Commit: 875841c93d20706842df86964568bd9b44436ff6
https://github.com/llvm/llvm-project/commit/875841c93d20706842df86964568bd9b44436ff6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Avoid a getValue() call in builtin_isinf (#152939)
Get the APFloat once and work with that, instead of calling isInf() and
potentially isNegative().
Commit: 5ccc734fa0355f971f8f515457a0bece33ab6642
https://github.com/llvm/llvm-project/commit/5ccc734fa0355f971f8f515457a0bece33ab6642
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-08-10 (Sun, 10 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[libc][bazel] Set LIBC_ERRNO_MODE_SYSTEM_INLINE by default. (#152946)
Bazel only supports overlay build currently, so there's always system
libc (and system errno_ present. Use the new
LIBC_ERRNO_MODE_SYSTEM_INLINE by default, instead of using thread-local
one in the unit tests and system errno for "public packaging" (i.e. prod
build). This way, we can ensure that we're testing the same
configuration as the one that will be used in production.
This is the second attempt to do that after f9146cc was reverted in
279e82f. Since then, many tests have been migrated to ErrnoCheckingTest
so the change should be safe even for those downstream customers that
clobber system errno value before unit tests are being called.
Commit: e6b4daf48c1a7e5c7578ee5de4a2f65de6f36967
https://github.com/llvm/llvm-project/commit/e6b4daf48c1a7e5c7578ee5de4a2f65de6f36967
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/opt-and-tbnz-tbz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-tbnz-from-cmp.mir
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/arm64-fmax.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
M llvm/test/CodeGen/AArch64/fast-isel-sdiv.ll
M llvm/test/CodeGen/AArch64/fcmp-fp128.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/fpclamptosat.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/min-max-combine.ll
M llvm/test/CodeGen/AArch64/pr72777.ll
M llvm/test/CodeGen/AArch64/sdivpow2.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/selectcc-to-shiftand.ll
M llvm/test/CodeGen/AArch64/signbit-shift.ll
M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
M llvm/test/CodeGen/AArch64/srem-pow2.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
Log Message:
-----------
[AArch64] Support MI and PL (#150314)
Now, why would we want to do this?
There are a small number of places where this works:
1. It helps peepholeopt when less flag checking.
2. It allows the folding of things such as x - 0x80000000 < 0 to be
folded to cmp x, register holding this value
3. We can refine the other passes over time for this.
Commit: 6ca6d45b29db45fef5cfe1b5e01b1180703b5dcc
https://github.com/llvm/llvm-project/commit/6ca6d45b29db45fef5cfe1b5e01b1180703b5dcc
Author: David Green <david.green at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Use hasOneUser in shuffle-to-identity fold (#152675)
We need to check that the node is part of the graph being converted, so
will not contain external uses when transformed.
Commit: e92b7e9641949f9d9c2ca8964c31a437272d15af
https://github.com/llvm/llvm-project/commit/e92b7e9641949f9d9c2ca8964c31a437272d15af
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/lib/CodeGen/CallingConvLower.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.h
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/ARM/ARMCallingConv.h
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCCallingConv.h
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/X86CallingConv.h
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[CodeGen] Provide original IR type to CC lowering (NFC) (#152709)
It is common to have ABI requirements for illegal types: For example,
two i64 argument parts that originally came from an fp128 argument may
have a different call ABI than ones that came from a i128 argument.
The current calling convention lowering does not provide access to this
information, so backends come up with various hacks to support it (like
additional pre-analysis cached in CCState, or bypassing the default
logic entirely).
This PR adds the original IR type to InputArg/OutputArg and passes it
down to CCAssignFn. It is not actually used anywhere yet, this just does
the mechanical changes to thread through the new argument.
Commit: e8918c318ee62973867e7ac3d3250a4478f2f04d
https://github.com/llvm/llvm-project/commit/e8918c318ee62973867e7ac3d3250a4478f2f04d
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Transforms/LoopIdiom/introduce-memset-in-outerloop.ll
Log Message:
-----------
[SCEV] Consider non-volatile memory intrinsics as not having side-effect for forward progress (#150916)
For the attached test:
Before the loop-idiom pass, we have a store into the inner loop which is
considered simple and one that does not have any side effects on the
loop. Post loop-idiom pass, we get a memset into the outer loop that is
considered to introduce side effects on the loop. This changes the
backedge taken count before and after the pass and hence, the crash with
verify-scev.
We try to consider non-volatile memory intrinsics as not having
side-effect for forward progress to fix the issue.
Fixes #149377
Commit: 35bad229c1bc1f27fe58f9d37f8592fc67a7112c
https://github.com/llvm/llvm-project/commit/35bad229c1bc1f27fe58f9d37f8592fc67a7112c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Transforms/FunctionSpecialization/ssa-copy.ll
M llvm/test/Transforms/SCCP/issue59661-missing-predicate-info-for-ssa-copy.ll
M llvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
M llvm/unittests/Transforms/IPO/FunctionSpecializationTest.cpp
Log Message:
-----------
[PredicateInfo] Use bitcast instead of ssa.copy (#151174)
PredicateInfo needs some no-op to which the predicate can be attached.
Currently this is an ssa.copy intrinsic. This PR replaces it with a
no-op bitcast.
Using a bitcast is more efficient because we don't have the overhead of
an overloaded intrinsic. It also makes things slightly simpler overall.
Commit: a750fcb52bbf0ec0dc2022f73b1d48a4d43d8a07
https://github.com/llvm/llvm-project/commit/a750fcb52bbf0ec0dc2022f73b1d48a4d43d8a07
Author: hanbeom <kese111 at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/test/Transforms/GVN/cond_br.ll
Log Message:
-----------
[GVN] Check IndirectBr in Predecessor Terminators (#151188)
Critical edges with an IndirectBr terminator cannot be split.
Add a check it to prevent assertion failures.
Fixes: #150229
Commit: 84b31581f8fe6a8736de7c1975e8539c7453b641
https://github.com/llvm/llvm-project/commit/84b31581f8fe6a8736de7c1975e8539c7453b641
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
Revert "[PatternMatch] Add `m_[Shift]OrSelf` matchers." (#152953)
Reverts llvm/llvm-project#152924
According to
https://github.com/dtcxzyw/llvm-opt-benchmark/commit/f67668b5867a2ed29981c645bc9ef4166416712c,
it is not an NFC change.
Commit: 818ee8f83d328e11c6890abdb279ad4335edb408
https://github.com/llvm/llvm-project/commit/818ee8f83d328e11c6890abdb279ad4335edb408
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libcxx/include/__tree
M libcxx/include/__type_traits/is_specialization.h
Log Message:
-----------
[libc++] Remove a bunch of forward declarations from __tree and simplify __is_tree_value_type (#152451)
Commit: 98ffdf3958ddff704a520b590c879c9289378e3b
https://github.com/llvm/llvm-project/commit/98ffdf3958ddff704a520b590c879c9289378e3b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/OpenMP/block_predetermined_privatization.f90
Log Message:
-----------
[flang][OpenMP] Don't privatize pre-determined symbols declare by nested `BLOCK`s (#152652)
Fixes a bug when a block variable is marked as pre-determined private.
In such case, we can simply ignore privatizing that symbol within the
context of the currrent OpenMP construct since the "private" allocation
for the symbol will be emitted within the nested block anyway.
Commit: 96775e922902a11e2f923523f1fd4328e53e01f8
https://github.com/llvm/llvm-project/commit/96775e922902a11e2f923523f1fd4328e53e01f8
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-reassociation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
Log Message:
-----------
[GISel] Handle Flags in G_PTR_ADD Combines (#152495)
So far, GlobalISel's G_PTR_ADD combines have ignored MIFlags like nuw, nusw,
and inbounds. That was in many cases unnecessarily conservative and in others
unsound, since reassociations re-used the existing G_PTR_ADD instructions
without invalidating their flags. This patch aims to improve that.
I've checked the transforms in this PR with Alive2 on corresponding middle-end
IR constructs.
A longer-term goal would be to encapsulate the logic that determines which
GEP/ISD::PTRADD/G_PTR_ADD flags can be preserved in which case, since this
occurs in similar forms in the middle end, the SelectionDAG combines, and the
GlobalISel combines here.
For SWDEV-516125.
Commit: 37fe7a99336d60c733c0c64ea4588d5f0eec1cd4
https://github.com/llvm/llvm-project/commit/37fe7a99336d60c733c0c64ea4588d5f0eec1cd4
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
Log Message:
-----------
[LV] Generate scalar xor for VPInstruction::Not if possible. (#152628)
`VPInstruction::Not` which will generate xor instruction is widely used
for the exit condition. This patch make `VPInstruction::Not` generate
scalar `xor` if possible.
This can help reducing the (splat true) in the `xor` and make `xor` be
scalar.
Commit: 6fa13d79cfe770c0e1c70c70565da161c76a48e4
https://github.com/llvm/llvm-project/commit/6fa13d79cfe770c0e1c70c70565da161c76a48e4
Author: Macsen Casaus <135416202+macsencasaus at users.noreply.github.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Support/KnownBits.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[InstCombine] Add additional known bits info for self multiply (#151202)
Closes #151043
https://alive2.llvm.org/ce/z/JyMSk8
Commit: 9181a7e294507515160cdd9ad3a814bb8e471bd7
https://github.com/llvm/llvm-project/commit/9181a7e294507515160cdd9ad3a814bb8e471bd7
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
Log Message:
-----------
[LV] Fix branch weights in epilogue min iteration check block (#152534)
I've changed how we construct the EpilogueVectorizerEpilogueLoop and
EpilogueVectorizerMainLoop classes so that we construct the parent class
with an additional boolean parameter indicating whether we're
vectorising the main or epilogue loop. The
InnerLoopAndEpilogueVectorizer class uses this new argument in
combination with the EpilogueLoopVectorizationInfo struct to set the
right UF and VF values. This then allows EpilogueVectorizerEpilogueLoop
to access the correct values of VF and UF for the main loop, which are
required when setting branch weights in the minimum iteration check
block.
Commit: aba0ce10c79c0ce868bbb00530fc1d7cfe7541b1
https://github.com/llvm/llvm-project/commit/aba0ce10c79c0ce868bbb00530fc1d7cfe7541b1
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Add new line to interleaving disabled message (#152722)
Commit: 767ab815f106d856c1cf8ad388a4b463224b5b4b
https://github.com/llvm/llvm-project/commit/767ab815f106d856c1cf8ad388a4b463224b5b4b
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[NFC] [Clang] [Sema] Implement CXXConstructExpr::getUnusedResultAttr (#152950)
This continues my patch series started as #142541 where multiple kinds
of Expr all use the same getUnusedResultAttrImpl.
The test suite indicates there is no change in behavior happening here.
Commit: 4443b3787703f848ee9943b7aa199f2658680eac
https://github.com/llvm/llvm-project/commit/4443b3787703f848ee9943b7aa199f2658680eac
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
Log Message:
-----------
[LAA] Pre-commit tests exercising different types (#151091)
Pre-commit tests exercising different types of source/sink in
depend_diff_types.ll, in preparation to weaken the HasSameSize check in
LoopAccessAnalysis.
Co-authored-by: Igor Kirillov <igor.kirillov at arm.com>
Commit: 2ad1d77b17c393fd9e7d7f1e62ed65dc22f17aab
https://github.com/llvm/llvm-project/commit/2ad1d77b17c393fd9e7d7f1e62ed65dc22f17aab
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
A llvm/test/CodeGen/AArch64/sme-tileslice-addrmodes.ll
Log Message:
-----------
[AArch64] Match constants in SelectSMETileSlice (#151494)
If the slice is a constant then it should try to use `WZR + <imm>`
addressing mode if the constant fits the range.
Commit: 5bd39a0060bed29e04db954eff77386473d38bb3
https://github.com/llvm/llvm-project/commit/5bd39a0060bed29e04db954eff77386473d38bb3
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
Log Message:
-----------
[AArch64][nfc] Remove duplicate [us]addl tests (#152664)
in the following list we keep the first test:
- extadd[us]_v8i8_i16, test_vaddl_[us]8, [us]addl8h
- extadd[us]_v4i16_i32, test_vaddl_[us]16, [us]addl4s
- extadd[us]_v2i32_i64, test_vaddl_[us]32, [us]addl2d
Commit: 005401d9e1c9098ace2df72ae1ec91d997d6e890
https://github.com/llvm/llvm-project/commit/005401d9e1c9098ace2df72ae1ec91d997d6e890
Author: b10902118 <b10902118 at ntu.edu.tw>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M lldb/source/Commands/Options.td
Log Message:
-----------
[lldb][NFC] Fix `help breakpoint set` typo. (#152981)
Commit: 95c525b1db7c763293bc7feb2b05bfb3b093aa02
https://github.com/llvm/llvm-project/commit/95c525b1db7c763293bc7feb2b05bfb3b093aa02
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/interleaved-accesses-gep-nowrap-flags.ll
Log Message:
-----------
[VPlan] Preserve nusw on VectorEndPointer (#151558)
In createInterleaveGroups, get the nusw in addition to inbounds from the
existing GEP, and set them on the VPVectorEndPointerRecipe.
Commit: d1e692311036d680628e0f0271589e675e042f1e
https://github.com/llvm/llvm-project/commit/d1e692311036d680628e0f0271589e675e042f1e
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M mlir/test/Dialect/EmitC/attrs.mlir
A mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/ops.mlir
R mlir/test/Dialect/EmitC/transforms.mlir
M mlir/test/Dialect/EmitC/types.mlir
A mlir/test/Dialect/EmitC/wrap-func-in-class.mlir
R mlir/test/Dialect/EmitC/wrap_emitc_func_in_class.mlir
R mlir/test/Dialect/EmitC/wrap_emitc_func_in_class_noAttr.mlir
A mlir/test/Target/Cpp/class.mlir
R mlir/test/mlir-translate/emitc_classops.mlir
Log Message:
-----------
[mlir][emitc] Clean up EmitC tests (#152327)
Changes:
- Unnecessary `-verify-diagnostics` flags were removed from tests.
- `mlir/test/mlir-translate/emitc_classops.mlir` was moved to
`mlir/test/Target/Cpp/class.mlir`.
- The `transfrom.mlir` test was renamed to `form-expressions.mlir` for
clarity.
- Test for `emitc.class`, `emitc.field` and `emitc.get_field` was added
to `mlir/test/Dialect/EmitC/ops.mlir`.
- `wrap_emitc_func_in_class.mlir` and
`wrap_emitc_func_in_class_noAttr.mlir` were combined into
`wrap-func-in-class.mlir`.
Commit: acb86fb9e05d4541e87bf2045827124c75e76413
https://github.com/llvm/llvm-project/commit/acb86fb9e05d4541e87bf2045827124c75e76413
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-11 (Mon, 11 Aug 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/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[TTI] Consistently pass the pointer type to getAddressComputationCost. NFCI (#152657)
In some places we were passing the type of value being accessed, in
other cases we were passing the type of the pointer for the access.
The most "involved" user is
LoopVectorizationCostModel::getMemInstScalarizationCost, which is the
only call site that passes in the SCEV, and it passes along the pointer
type.
This changes call sites to consistently pass the pointer type, and
renames the arguments to clarify this.
No target actually checks the contents of the type passed, only to see
if it's a vector or not, so this shouldn't have an effect.
Commit: 68c609b6c80561488dc7e820e5f826741639e3ca
https://github.com/llvm/llvm-project/commit/68c609b6c80561488dc7e820e5f826741639e3ca
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix libclc install on Windows when MSVC generator is used (#152703)
Fix a regression of df7473673214.
cmake MSVC generator is multiple configurations. Build type is not known
at configure time and CMAKE_CFG_INTDIR is evaluated to $(Configuration)
at configure time. libclc install fails since $(Configuration) in
bitcode file path is unresolved in libclc/cmake_install.cmake at install time.
We need a solution that resolves libclc bitcode file path at install
time. This PR fixes the issue using CMAKE_INSTALL_CONFIG_NAME which can
be evaluated at install time. This is the same solution as in
https://reviews.llvm.org/D76827
Commit: aea82a780a549c3c27143765b062981101c7aa66
https://github.com/llvm/llvm-project/commit/aea82a780a549c3c27143765b062981101c7aa66
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Remove some getCanonicalIV() uses. NFC (#152969)
A lot of time getCanonicalIV() is used to get the canonical IV type,
e.g. to instantiate a VPTypeAnalysis or to get the LLVMContext.
However VPTypeAnalysis has a constructor that takes the VPlan directly
and there's a method on VPlan to get the LLVMContext directly, so use
those instead where possible.
This lets us remove a constructor on VPTypeAnalysis.
Also remove an unused LLVMContext argument in UnrollState whilst we're
here.
Commit: 50bd897fdee98bef494641288c359fd3777dd88d
https://github.com/llvm/llvm-project/commit/50bd897fdee98bef494641288c359fd3777dd88d
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/smmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
Log Message:
-----------
[Headers][X86] Allow SSE41/AVX2/AVX512F/AVX512BW integer extension intrinsics to be used in constexpr (#152971)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/152315
Commit: d9345545a0f5e07469311ee10f571d57211d9e0d
https://github.com/llvm/llvm-project/commit/d9345545a0f5e07469311ee10f571d57211d9e0d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Log Message:
-----------
Reapply "[Dexter] Add DAP support for Dexter, including lldb-dap (#149394)"
This reverts commit e1e312e6af34803d1686d9ce5a441446811f425d.
The original patch had some python3.10 syntax, which was incompatible with
the python3.8 minimum version in LLVM currently; this reapply brings
everything down to 3.8 compatibility. Separately, some incorrect arguments
were passed in LLDBDAP._get_launch_params, which have been removed.
Commit: 330a5894508267b6482417ae7be64d3a7b8aed17
https://github.com/llvm/llvm-project/commit/330a5894508267b6482417ae7be64d3a7b8aed17
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Transforms/SCCP/assume.ll
M llvm/test/Transforms/SCCP/conditions-ranges.ll
Log Message:
-----------
[PredicateInfo] Handle trunc nuw i1 condition. (#152988)
proof: https://alive2.llvm.org/ce/z/mxtn4L
Commit: f23d2ee5d584960eb7b6f7a092fa863e8be06ee6
https://github.com/llvm/llvm-project/commit/f23d2ee5d584960eb7b6f7a092fa863e8be06ee6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
Log Message:
-----------
[lldb] Fix libstdc++ std::string formatter after #147835 (#152993)
https://github.com/llvm/llvm-project/pull/147835 made changes that
caused libstdc++ std::string tests to fail:
```
======================================================================
FAIL: test_unavailable_summary_libstdcxx_dwo (TestDataFormatterStdString.StdStringDataFormatterTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1805, in test_method
return attrvalue(self)
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py", line 223, in test_unavailable_summary_libstdcxx
self.do_test_summary_unavailable()
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py", line 213, in do_test_summary_unavailable
self.assertEqual(summary, "Summary Unavailable", "No summary for bad value")
AssertionError: '(null)' != 'Summary Unavailable'
- (null)
+ Summary Unavailable
: No summary for bad value
Config=aarch64-/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang
----------------------------------------------------------------------
```
This test constructs an invalid std::string by starting with a null
pointer.
Somehow this improvement in Clang uncovered a bug in the formatter.
Perhaps because we now know the type of the field we tried to access is
char *, so fall back to a C string formatter that produces `(null)`.
The formatter tries to access `_M_p` and checked whether the resulting
ValueObjectSP was null, but not that it did not contain an error value.
I think that error value can be there if you are able to access one part
of the path, `_M_dataplus`, but another part fails. Since the layout
looks like this:
```
struct _Alloc_hider :
{
pointer _M_p; // The actual data.
};
_Alloc_hider _M_dataplus;
void
_M_data(pointer __p)
{ _M_dataplus._M_p = __p; }
```
So I think we were able to read `_M_dataplus` just by offset, but then
failed because it contains, or points to something containing nulls or a
null pointer.
Or perhaps an error value means we know what the class member is, but
could not read from it.
I found this by comparing with the libcxx formatter, so I've copied the
same handling from there to fix the issue.
Commit: 13cd72585702e7288804c387d7d9ac45328d2974
https://github.com/llvm/llvm-project/commit/13cd72585702e7288804c387d7d9ac45328d2974
Author: Weibo He <NewSigma at 163.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
Log Message:
-----------
[CoroSplit] Remove lifetime marker checks for subranges of allocas (#152886)
#150248 starts to drop size argument of lifetime markers. Then lifetime
markers cannot refer to subrange of allocas and we can remove this
check.
Commit: 3b10b9a2b03a2954d9da54c0f1137daeb9e339c4
https://github.com/llvm/llvm-project/commit/3b10b9a2b03a2954d9da54c0f1137daeb9e339c4
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/include/flang/Lower/OpenMP.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare-target-deferred-marking.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
M flang/test/Lower/OpenMP/declare-target-unnamed-main.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] Add lowering support for AUTOMAP modifier (#151513)
Add Automap modifier to the MLIR op definition for the DeclareTarget
directive's Enter clause. Also add lowering support in Flang.
Automap Ref: OpenMP 6.0 section 7.9.7.
Commit: 880d15e28cba09ada17ff7bbf9db49e368abf894
https://github.com/llvm/llvm-project/commit/880d15e28cba09ada17ff7bbf9db49e368abf894
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
Log Message:
-----------
[X86] avx512fp16-builtins.c - add C/C++ and 32/64-bit test coverage (#152997)
Helps testing for #152910
Commit: a9f9c7db4fedd8cc8a18ec48a8a6ab664bff140b
https://github.com/llvm/llvm-project/commit/a9f9c7db4fedd8cc8a18ec48a8a6ab664bff140b
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
Log Message:
-----------
Fix build error from #151513.
Commit: 5a5e8ba0c388d57aecb359ed67919cda429fc7b1
https://github.com/llvm/llvm-project/commit/5a5e8ba0c388d57aecb359ed67919cda429fc7b1
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Support/OpenMP-utils.h
A flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Support/OpenMP-utils.cpp
A flang/test/Transforms/omp-automap-to-target-data.fir
A offload/test/offloading/fortran/declare-target-automap.f90
Log Message:
-----------
[MLIR][OpenMP] Add a new AutomapToTargetData conversion pass in FIR (#151989)
Add a new `AutomapToTargetData` pass. This gathers the declare target
enter variables which have the `AUTOMAP` modifier. And adds
`omp.declare_target_enter/exit` mapping directives for `fir.allocmem`
and `fir.freemem` oeprations on the `AUTOMAP` enabled variables.
Automap Ref: OpenMP 6.0 section 7.9.7.
Commit: 9da4d74a8865e32289273e7122d44863baf64ee8
https://github.com/llvm/llvm-project/commit/9da4d74a8865e32289273e7122d44863baf64ee8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
Log Message:
-----------
[Clang] Always pass detected CUDA path to 'clang-nvlink-wrapper' (#152789)
Summary:
We always want to use the detected path. The clang driver's detection is
far more sophisticated so we should use that whenever possible. Also
update the usage so we properly fall back to path instead of incorrectly
using the `/bin` if not provided.
Commit: f55281ac38c58d4aee2dcf0a31d8289f4d518cb4
https://github.com/llvm/llvm-project/commit/f55281ac38c58d4aee2dcf0a31d8289f4d518cb4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
Log Message:
-----------
[RISCV] Add a high half PACKW+PACK pattern for RV64. (#152760)
Similar to the PACKH+PACK pattern for RV32. We can end up with the
shift left by 32 neeed by our PACK pattern hidden behind an OR that
packs 2 half words.
Commit: 7ed412a9b80c57a4e4da57d2187c1acc33e42e04
https://github.com/llvm/llvm-project/commit/7ed412a9b80c57a4e4da57d2187c1acc33e42e04
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
Log Message:
-----------
[analyzer] Remove trivially true condition (#152850)
Addresses
https://github.com/llvm/llvm-project/pull/83027#discussion_r2264102109
We can only reach this part by a non-null `Ptr`, which also implies a
dereference of `PtrExpr`. Consequently, `PtrExpr` cannot be null here so
the check is pointless.
Commit: 957312413bfd1cde9351e1a6b0b7d3724dc8518c
https://github.com/llvm/llvm-project/commit/957312413bfd1cde9351e1a6b0b7d3724dc8518c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/test/Transforms/SCCP/pr27712.ll
Log Message:
-----------
[SCCP] Generate test checks (NFC)
Commit: e72335192dac55e7c377096a09e48731d2e0532c
https://github.com/llvm/llvm-project/commit/e72335192dac55e7c377096a09e48731d2e0532c
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[Arith][MemRef] add AtomicRMWKind::xori to enum (#151701)
Add missing xor AtomicRMWKind enum in arith. Also add support for xor to
memref.atomic_rmw so the change can be tested.
This does NOT add it for all users of the enum (e.g. Affine, Vector)
Commit: e20dd94bb39c8b0baf2f6024cb768cda09d24b06
https://github.com/llvm/llvm-project/commit/e20dd94bb39c8b0baf2f6024cb768cda09d24b06
Author: Jimmy Z <j5nx.zhao at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
A clang/bindings/python/tests/cindex/test_cursor_language.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Expose `clang_getCursorLanguage` via `Cursor.language` (#152897)
Commit: 0998da27e90f3d8c3c78429584ae15afebbe91f2
https://github.com/llvm/llvm-project/commit/0998da27e90f3d8c3c78429584ae15afebbe91f2
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Support/OpenMP-utils.h
R flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Support/OpenMP-utils.cpp
R flang/test/Transforms/omp-automap-to-target-data.fir
R offload/test/offloading/fortran/declare-target-automap.f90
Log Message:
-----------
Revert "[MLIR][OpenMP] Add a new AutomapToTargetData conversion pass in FIR (#151989)"
This reverts commit 5a5e8ba0c388d57aecb359ed67919cda429fc7b1.
Commit: 67af2f6c5cde00f69b76248380ac47c42df962a2
https://github.com/llvm/llvm-project/commit/67af2f6c5cde00f69b76248380ac47c42df962a2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP]Initial FMAD support (#149102)
Added initial check for potential fmad conversion in reductions and
operands vectorization.
Added the check for instruction to fix #152683
Skipped the code for reduction to avoid regressions.
Commit: ccd35e5b2f1438646d11c27eaa475f34681f9cbe
https://github.com/llvm/llvm-project/commit/ccd35e5b2f1438646d11c27eaa475f34681f9cbe
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/test/Transforms/SCCP/widening.ll
Log Message:
-----------
[SCCP] Add common prefix in test (NFC)
Commit: 2d7b55a028139dde58a994a65895841190dfde96
https://github.com/llvm/llvm-project/commit/2d7b55a028139dde58a994a65895841190dfde96
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP]Initial support for copyable elements
Adds initial support for copyable elements, both schedulable and
non-schedulable.
Adds support only for add for now, other opcodes will added in future.
Still some cases are not handled, e.g. stores do not include this,
because currently do not check for copyable elements.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/147366
Commit: 0adcbc02288a5ceb6270532d980ad7f2412c2bd8
https://github.com/llvm/llvm-project/commit/0adcbc02288a5ceb6270532d980ad7f2412c2bd8
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/src/time/timespec_get_test.cpp
Log Message:
-----------
[libc] Disable LlvmLibcTimespecGet.Monotonic for baremetal targets (#152290)
This test was caught by our hermetic testing downstream. The baremetal
implementation does not support monotonic, so we disable it.
Commit: d74ae41bc0bd654de89ca1e01ffea0fc01df17fd
https://github.com/llvm/llvm-project/commit/d74ae41bc0bd654de89ca1e01ffea0fc01df17fd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M compiler-rt/test/profile/Linux/coverage_short_circuit.cpp
Log Message:
-----------
[compiler-rt][test] Require lld for coverage_short_circuit.cpp
Commit: 5544492d6a365e3f41a5439987b6bb8d0d3edd02
https://github.com/llvm/llvm-project/commit/5544492d6a365e3f41a5439987b6bb8d0d3edd02
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPDirectives.cpp
M clang/test/Preprocessor/embed_parsing_errors.c
Log Message:
-----------
[Clang] Fixed a crash when parsing #embed parameters with unmatched closing brackets (#152877)
Fixes #152829
---
This patch addresses the issue where the preprocessor could crash when
parsing `#embed` parameters containing unmatched closing brackets
```cpp
#embed "file" prefix(])
#embed "file" prefix(})
```
Commit: 9a293530d989aa061c5ec304e0d660d020a19bc3
https://github.com/llvm/llvm-project/commit/9a293530d989aa061c5ec304e0d660d020a19bc3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
Log Message:
-----------
AMDGPU: Handle multiple AGPR MFMA rewrites (#147975)
I have this firing on one of the real examples, need to
produce the tests and check a few edge cases
Commit: 372d86dcf1adf90f994be60bb017d92455abb879
https://github.com/llvm/llvm-project/commit/372d86dcf1adf90f994be60bb017d92455abb879
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libc/startup/baremetal/arm/start.cpp
Log Message:
-----------
[libc] Cleanup startup/baremetal/arm/start.cpp (#151532)
Post-commit review changes as suggested by @petrhosek in #146863
Commit: 26a0962ce297da443ed556fdd547a11fc6a55f0a
https://github.com/llvm/llvm-project/commit/26a0962ce297da443ed556fdd547a11fc6a55f0a
Author: Bhasawut Singhaphan <bhasawut at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[Headers][X86] Allow AVX512 _mm512_set* intrinsics to be used in constexpr (#152910)
This PR adds constexpr support for the following AVX512F/BW/FP16 set
intrinsics:
- _mm512_set4_pd
- _mm512_set4_ps
- _mm512_set4_epi32
- _mm512_set4_epi64
- _mm512_set_pd
- _mm512_set_ps
- _mm512_set_epi8
- _mm512_set_epi16
- _mm512_set_epi32
- _mm512_set_epi64
- _mm512_setr_pd
- _mm512_setr_ps
- _mm512_setr_epi32
- _mm512_setr_epi64
- _mm512_set1_ph
- _mm512_set_ph
- _mm512_setr_ph
- _mm_setzero_ph
- _mm256_setzero_ph
- _mm512_setzero_ph
Closes https://github.com/llvm/llvm-project/issues/152288.
Part of https://github.com/llvm/llvm-project/issues/30794.
Commit: 9c8e71644227e2a30403dbfe075f96374ba9739c
https://github.com/llvm/llvm-project/commit/9c8e71644227e2a30403dbfe075f96374ba9739c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/StackID.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackID.cpp
Log Message:
-----------
[lldb] Make StackID call Fix{Code,Data} pointers (#152796)
In architectures where pointers may contain metadata, such as arm64e, it
is important to ignore those bits when comparing two different StackIDs,
as the metadata may not be the same even if the pointers are.
This patch is a step towards allowing consumers of pointers to decide
whether they want to keep or remove metadata, as opposed to discarding
metadata at the moment pointers are created. See
https://github.com/llvm/llvm-project/pull/150537.
This was tested running the LLDB test suite on arm64e.
Commit: 40a469f79a0807a04bb805c749ec2ee723dd833c
https://github.com/llvm/llvm-project/commit/40a469f79a0807a04bb805c749ec2ee723dd833c
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
A llvm/test/CodeGen/X86/large-displacements-fastisel.ll
A llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
Reapply "[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets" (#152239)
The first commit is identical to
69bec0afbb8f2aa0021d18ea38768360b16583a9.
The second commit fixes the instruction verification failures by
replacing the erroneous instruction with a trap after the error is
reported and adds `-verify-machineinstrs` to the tests added in the
original PR to catch the issue sooner.
After that change, all tests pass with both
`LLVM_ENABLE_EXPENSIVE_CHECKS={On,Off}`.
cc @RKSimon @e-kud @phoebewang @arsenm as reviewers on the original PR
Commit: 19ada02086c371dda75ec9704e50e1e28f1758bb
https://github.com/llvm/llvm-project/commit/19ada02086c371dda75ec9704e50e1e28f1758bb
Author: Stephen Long <63318318+steplong at users.noreply.github.com>
Date: 2025-08-12 (Tue, 12 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-log.ll
Log Message:
-----------
PreISelIntrinsicLowering: Lower llvm.log to a loop if scalable vec arg (#129744)
Similar to ab976a1, but for llvm.log.
Commit: 585f27ccbd1a0a72f9e2744f6b42c6f25399e25d
https://github.com/llvm/llvm-project/commit/585f27ccbd1a0a72f9e2744f6b42c6f25399e25d
Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain.c
Log Message:
-----------
Add necessary linker flags when -static-pie is enabled in BareMetal Toolchain (#147589)
Commit: a10a8bb6120bf383ed563fa6e3be29144c4a5a4d
https://github.com/llvm/llvm-project/commit/a10a8bb6120bf383ed563fa6e3be29144c4a5a4d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/mmx-builtins.c
Log Message:
-----------
[Headers][X86] Enable constexpr handling for MMX/SSE sitofp/uitofp helper cvt intrinsics (#153017)
Commit: 3d38a92c8a835f5f4296c6581f6c13f60d38ba3a
https://github.com/llvm/llvm-project/commit/3d38a92c8a835f5f4296c6581f6c13f60d38ba3a
Author: owenca <owenpiano at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/Format/CMakeLists.txt
A clang/lib/Format/NumericLiteralInfo.cpp
A clang/lib/Format/NumericLiteralInfo.h
M clang/unittests/Format/CMakeLists.txt
A clang/unittests/Format/NumericLiteralInfoTest.cpp
Log Message:
-----------
[clang-format] Add functionality of getting info about numeric literals (#152878)
Commit: 7b41c2f8241ad1c77a86bb77e4a5d29ababa4bde
https://github.com/llvm/llvm-project/commit/7b41c2f8241ad1c77a86bb77e4a5d29ababa4bde
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-08-12 (Tue, 12 Aug 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/acospi.f90
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
[flang] Optimize `acospi` precision (#152869)
This patch implements the solution for `acospi` proposed in #150452,
improving precision for r16 and removing a redundant cast for r4.
Commit: 81b576e66bf223f7afc8a86463226cbf1bd480fd
https://github.com/llvm/llvm-project/commit/81b576e66bf223f7afc8a86463226cbf1bd480fd
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-12 (Tue, 12 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
Log Message:
-----------
[RISCV] Cost casts with illegal types that can't be legalized (#153030)
If we have a floating point vector and no zve32f/zve64f/zve64d, we can
end up with an invalid type-legalization cost from
getTypeLegalizationCost.
Previously this triggered an assertion that the type must have been
legalized if the "legal" type is a vector, but in this case when it's
not possible to legalize the original type is spat back out.
This fixes it by just checking that the legalization cost is valid.
We don't have much testing for zve64x, so we may have other places in
the cost model with this issue.
Fixes #153008
Commit: 18ef8d7fae9573913cb299ce0c82afa2f5279846
https://github.com/llvm/llvm-project/commit/18ef8d7fae9573913cb299ce0c82afa2f5279846
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M lldb/source/Expression/IRMemoryMap.cpp
Log Message:
-----------
[lldb] Call FixUpPointer in WritePointerToMemory (#152798)
In architectures where pointers may contain metadata, such as arm64e,
the metadata may need to be cleaned prior to sending this pointer to be
used in expression evaluation generated code.
This patch is a step towards allowing consumers of pointers to decide
whether they want to keep or remove metadata, as opposed to discarding
metadata at the moment pointers are created. See
https://github.com/llvm/llvm-project/pull/150537.
This was tested running the LLDB test suite on arm64e.
Commit: d2b3e86321eaf954451e0a49534fa654dd67421e
https://github.com/llvm/llvm-project/commit/d2b3e86321eaf954451e0a49534fa654dd67421e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
Log Message:
-----------
[gn build] Port 3d38a92c8a83
Commit: ea14ee4464c9c5640c0f05839f2102370ed1d219
https://github.com/llvm/llvm-project/commit/ea14ee4464c9c5640c0f05839f2102370ed1d219
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M flang/lib/Semantics/check-omp-atomic.cpp
Log Message:
-----------
[flang][OpenMP] Refactor creating atomic analysis, NFC (#153036)
Turn it into a class that combines the information and generates the
analysis instead of having independent functions do it.
Commit: 7fb8a44ad58a399dfa66efe0ea3071448394457f
https://github.com/llvm/llvm-project/commit/7fb8a44ad58a399dfa66efe0ea3071448394457f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] expose isAttached (#153045)
Commit: f12e0380be3bd6084ae860090dc027e0281e388e
https://github.com/llvm/llvm-project/commit/f12e0380be3bd6084ae860090dc027e0281e388e
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] Guard SBFrame/SBThread methods against running processes (#152020)
Prior to this patch, SBFrame/SBThread methods exhibit racy behavior if
called while the process is running, because they do not lock the
`Process::RetRunLock` mutex. If they did, they would fail, correctly
identifying that the process is not running.
Some methods _attempt_ to protect against this with the pattern:
```
ExecutionContext exe_ctx(m_opaque_sp.get(), lock); // this is a different lock
Process *process = exe_ctx.GetProcessPtr();
if (process) {
Process::StopLocker stop_locker;
if (stop_locker.TryLock(&process->GetRunLock()))
.... do work ...
```
However, this is also racy: the constructor of `ExecutionContext` will
access the frame list, which is something that can only be done once the
process is stopped.
With this patch:
1. The constructor of `ExecutionContext` now expects a `ProcessRunLock`
as an argument. It attempts to lock the run lock, and only fills in
information about frames and threads if the lock can be acquired.
Callers of the constructor are expected to check the lock.
2. All uses of ExecutionContext are adjusted to conform to the above.
3. The SBThread.cpp-defined helper function ResumeNewPlan now expects a
locked ProcessRunLock as _proof_ that the execution is stopped. It will
unlock the mutex prior to resuming the process.
This commit exposes many opportunities for early-returns, but these
would increase the diff of this patch and distract from the important
changes, so we opt not to do it here.
Commit: 049953fe8d1c45041c8a46889a4418018d02ed04
https://github.com/llvm/llvm-project/commit/049953fe8d1c45041c8a46889a4418018d02ed04
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-147063.mlir
Log Message:
-----------
[OMPIRBuilder] Avoid invalid debug location. (#151306)
This fixes #147063.
I tried to fix this issue in more general way in
https://github.com/llvm/llvm-project/pull/147091 but the reviewer
suggested to fix the locations which are causing this issue. So this is
a more targeted approach.
The `restoreIP` is frequently used in the `OMPIRBuilder` to change the
insert position. This function eventually calls
`SetInsertPoint(BasicBlock *TheBB, BasicBlock::iterator IP)`. This
function updates the insert point and the debug location. But if the
`IP` is pointing to the end of the `TheBB`, then the debug location is
not updated and we could have a mismatch between insert point and the
debug location.
The problem can occur in 2 different code patterns.
This code below shows the first scenario.
```
1. auto curPos = builder.saveIP();
2. builder.restoreIP(/* some new pos */);
3. // generate some code
4. builder.restoreIP(curPos);
```
If `curPos` points to the end of basic block, we could have a problem.
But it is easy one to handle as we have the location before hand and can
save the correct debug location before 2 and then restore it after 3.
This can be done either manually or using the `llvm::InsertPointGuard`
as shown below.
```
// manual approach
auto curPos = builder.saveIP();
llvm::DebugLoc DbgLoc = builder.getCurrentDebugLocation();
builder.restoreIP(/* some new pos */);
// generate some code
builder.SetCurrentDebugLocation(DbgLoc);
builder.restoreIP(curPos);
{
// using InsertPointGuard
llvm::InsertPointGuard IPG(builder);
builder.restoreIP(/* some new pos */);
// generate some code
}
```
This PR fixes one problematic case using the manual approach.
For the 2nd scenario, look at the code below.
```
1. void fn(InsertPointTy allocIP, InsertPointTy codegenIP) {
2. builder.setInsertPoint(allocIP);
3. // generate some alloca
4. builder.setInsertPoint(codegenIP);
5. }
```
The `fn` can be called from anywhere and we can't assume the debug
location of the builder is valid at the start of the function. So if 4
does not update the debug location because the `codegenIP` points at the
end of the block, the rest of the code can end up using the debug
location of the `allocaIP`. Unlike the first case, we don't have a debug
location that we can save before hand and restore afterwards.
The solution here is to use the location of the last instruction in that
block. I have added a wrapper function over `restoreIP` that could be
called for such cases. This PR uses it to fix one problematic case.
Commit: fb1035cfb4f0ceda143e01cc50100ce5b0d4e2e2
https://github.com/llvm/llvm-project/commit/fb1035cfb4f0ceda143e01cc50100ce5b0d4e2e2
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/HLSLBinding.cpp
M llvm/lib/Target/DirectX/DXILPostOptimizationValidation.cpp
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/unittests/Frontend/HLSLBindingTest.cpp
Log Message:
-----------
[DirectX] Fix resource binding analysis incorrectly removing duplicates (#152253)
The resource binding analysis was incorrectly reducing the size of the
`Bindings` vector by one element after sorting and de-duplication. This
led to an inaccurate setting of the `HasOverlappingBinding` flag in the
`DXILResourceBindingInfo` analysis, as the truncated vector no longer
reflected the true binding state.
This update corrects the shrink logic and introduces an `assert` in the
`DXILPostOptimizationValidation` pass. The assertion will trigger if
`HasOverlappingBinding` is set but no corresponding error is detected,
helping catch future inconsistencies.
The bug surfaced when the `srv_metadata.hlsl` and `uav_metadata.hlsl`
tests were updated to include unbounded resource arrays as part of
https://github.com/llvm/llvm-project/issues/145422. These updated test
files are included in this PR, as they would cause the new assertion to
fire if the original issue remained unresolved.
Depends on #152250
Commit: 200a99073f1a5dec5d29ec67211608d0f4bcc971
https://github.com/llvm/llvm-project/commit/200a99073f1a5dec5d29ec67211608d0f4bcc971
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cosf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cosf.h
A libc/src/__support/math/range_reduction.h
A libc/src/__support/math/range_reduction_fma.h
A libc/src/__support/math/sincosf_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cospif.cpp
R libc/src/math/generic/range_reduction.h
R libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/sincosf.cpp
R libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanpif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor cosf implementation to header-only in src/__support/math folder. (#152069)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: dde474cfc41b480422a3c4e9607843660a88fc2a
https://github.com/llvm/llvm-project/commit/dde474cfc41b480422a3c4e9607843660a88fc2a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/TargetInfo.cpp
Log Message:
-----------
[CIR] Make ClangIR compatible with latest nested name specifier AST representation (#152846)
After AST representation, new modifications landed in
(https://github.com/llvm/llvm-project/pull/147835). ClangIR requires
some changes in how we use Clang AST to be compatible with the new
changes
Commit: 005895290d5925c5e7458418ed75d9c2dad3adf0
https://github.com/llvm/llvm-project/commit/005895290d5925c5e7458418ed75d9c2dad3adf0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Simplifiy slab waiting in GPU memory allocator (#152872)
Summary:
This moves the waiting to be done inside of the `try_lock` routine
instead. This makes the logic much simpler since it's just a single loop
on a load. We should have the same effect here, and since we don't care
about this being a generic interface it shouldn't matter that it waits
abit. Still wait free since it's guaranteed to make progress
*eventually*.
Commit: f5f582451e913581ef214b8b771a13d3912394d5
https://github.com/llvm/llvm-project/commit/f5f582451e913581ef214b8b771a13d3912394d5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M libcxx/include/__type_traits/invoke.h
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
Log Message:
-----------
[libc++] Fix std::variant evaluating template arguments too eagerly (#151028)
This has been reported in https://github.com/llvm/llvm-project/pull/116709#issuecomment-3105095648.
Fixes #151328
Commit: e0f5e2850fef4ee300c3475c1e6f8e9e41737d3d
https://github.com/llvm/llvm-project/commit/e0f5e2850fef4ee300c3475c1e6f8e9e41737d3d
Author: Augie Fackler <augie at google.com>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
Log Message:
-----------
[Xtensa] Fix function signature after e92b7e9641 (#153054)
Noticed this in the Rust/LLVM-HEAD CI, which for some obscure reason
bothers to build Xtensa.
Commit: a9227316bf4e7bf581db82818ca972591f5bfdc6
https://github.com/llvm/llvm-project/commit/a9227316bf4e7bf581db82818ca972591f5bfdc6
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
A llvm/test/MC/AArch64/patchinst.s
M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
Log Message:
-----------
MC: Introduce R_AARCH64_PATCHINST relocation type.
The R_AARCH64_PATCHINST relocation type is to support deactivation
symbols. For more information, see the RFC:
https://discourse.llvm.org/t/rfc-deactivation-symbols/85556
Part of the AArch64 psABI extension:
https://github.com/ARM-software/abi-aa/issues/340
Commit: 4e2946f8edd763457148b42f8f7f53fda9527ca8
https://github.com/llvm/llvm-project/commit/4e2946f8edd763457148b42f8f7f53fda9527ca8
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-11 (Mon, 11 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate_test_report_github.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/utils.sh
M .github/workflows/check-ci.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
A .github/workflows/mlir-spirv-tests.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/AArch64/unsupported-passes.test
M bolt/test/link_fdata.py
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Profile/CMakeLists.txt
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/AST.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeCompletionStrings.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/Hover.h
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
A clang-tools-extra/clangd/SymbolDocumentation.cpp
A clang-tools-extra/clangd/SymbolDocumentation.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
A clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/copy-constructor-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/std-allocator-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
M clang/bindings/python/clang/cindex.py
A clang/bindings/python/tests/cindex/test_cursor_language.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ClangRepl.rst
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThinLTO.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/docs/index.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/QualTypeNames.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
A clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/Tooling/Refactoring/Lookup.h
M clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTImporterLookupTable.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/InheritViz.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.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/CIRGenExprComplex.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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Compilation.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
A clang/lib/Format/NumericLiteralInfo.cpp
A clang/lib/Format/NumericLiteralInfo.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTConsumers.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/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/fma4intrin.h
M clang/lib/Headers/fmaintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaBPF.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaFunctionEffects.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/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.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/SemaTypeTraits.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Sema/UsedDeclVisitor.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Refactoring/Lookup.cpp
M clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/lib/Tooling/Transformer/RangeSelector.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/nullable.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
A clang/test/AST/HLSL/vk_binding_attr.hlsl
M clang/test/AST/arm-mfp8.cpp
M clang/test/AST/ast-dump-color.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
M clang/test/AST/ast-dump-record-definition-data-json.cpp
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.m
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-template-name.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-dump-using-template.cpp
M clang/test/AST/ast-dump-using.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/cxx2c-variadic-friends.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/float16.cpp
M clang/test/AST/sourceranges.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/Analysis/builtin_assume.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
A clang/test/Analysis/element-region-address-space.c
A clang/test/Analysis/engine/gh151711.cpp
A clang/test/Analysis/malloc-checker-arg-uaf.c
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
M clang/test/Analysis/undef-call.c
M clang/test/C/C11/n1285_1.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/complex-arithmetic.cpp
A clang/test/CIR/CodeGen/complex-compound-assignment.cpp
A clang/test/CIR/CodeGen/module-asm.c
A clang/test/CIR/CodeGen/variable-template-specialization.cpp
A clang/test/CIR/CodeGen/virtual-function-calls.cpp
A clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/vtable-addrpt.cir
A clang/test/CIR/Lowering/module-asm.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.mptr/p2.cpp
M clang/test/CXX/dcl/dcl.fct/p17.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.decl/func-template-decl.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/CXX/temp/temp.param/p15-cxx0x.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
M clang/test/CodeGen/2007-06-18-SextAttrAggregate.c
M clang/test/CodeGen/AArch64/ABI-align-packed.c
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
R clang/test/CodeGen/PowerPC/check-zero-vector.c
M clang/test/CodeGen/RISCV/riscv-v-lifetime.cpp
A clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtin-bpf-btf-type-id.c
M clang/test/CodeGen/builtins-bpf-preserve-field-info-3.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/cfi-icall-generalize.c
M clang/test/CodeGen/cleanup-destslot-simple.c
A clang/test/CodeGen/dbg-info-all-calls-described.c
M clang/test/CodeGen/debug-info-version.c
M clang/test/CodeGen/dominating-store-to-return.c
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGen/lifetime.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pr45476.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/temporary-lifetime-exceptions.cpp
M clang/test/CodeGen/temporary-lifetime.cpp
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCXX/amdgcn_declspec_get.cpp
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/destructors.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/CodeGenCXX/stack-reuse-exceptions.cpp
M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/CodeGenObjC/arc-precise-lifetime.m
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenObjCXX/arc-move.mm
M clang/test/CodeGenObjCXX/arc-references.mm
M clang/test/CodeGenObjCXX/arc.mm
M clang/test/CodeGenObjCXX/literals.mm
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CoverageMapping/logical.cpp
R clang/test/DebugInfo/KeyInstructions/lit.local.cfg
M clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect-path.cu
M clang/test/Driver/cuda-options.cu
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/ld-path.c
M clang/test/Driver/mingw-sysroot.cpp
A clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/program-path-priority.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/spirv-toolchain.cl
A clang/test/FixIt/fixit-c++17.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/__cpuidex_conflict.c
M clang/test/Index/Core/index-instantiated-source.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Index/copy-assignment-operator.cpp
M clang/test/Index/index-refs.cpp
M clang/test/Index/keep-going.cpp
M clang/test/Index/move-assignment-operator.cpp
M clang/test/Index/opencl-types.cl
M clang/test/Index/paren-type.c
M clang/test/Index/print-type-size.cpp
M clang/test/Index/print-type.c
M clang/test/Index/print-type.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Index/redeclarations.cpp
M clang/test/Index/skip-parsed-bodies/compile_commands.json
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/test/Interpreter/simple-exception.cpp
M clang/test/Lexer/cross-windows-on-linux.cpp
A clang/test/Lexer/has_feature_cfi.c
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Modules/ExtDebugInfo.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Modules/modules-merge-enum.m
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/pr151277.cpp
M clang/test/Modules/pr97313.cppm
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
M clang/test/OpenMP/allocate_modifiers_messages.cpp
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/bug56913.c
M clang/test/OpenMP/bug57757.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
M clang/test/PCH/cxx-explicit-specifier.cpp
M clang/test/Parser/MicrosoftExtensions.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
M clang/test/Preprocessor/embed_parsing_errors.c
M clang/test/Preprocessor/file_test.c
M clang/test/Preprocessor/lang-std.cpp
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_compact.cpp
A clang/test/Sema/amdgcn-va-list-type.c
M clang/test/Sema/builtins-wasm.c
M clang/test/Sema/for.c
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/class-base-member-init.cpp
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constant-expression.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/coroutine-allocs.cpp
M clang/test/SemaCXX/coroutine-traits-undefined-template.cpp
M clang/test/SemaCXX/coroutines.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/test/SemaCXX/cxx2c-variadic-friends.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/elaborated-type-specifier.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/gh102293.cpp
M clang/test/SemaCXX/incomplete-call.cpp
M clang/test/SemaCXX/matrix-casts.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/return.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/sugared-auto.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
A clang/test/SemaHIP/amdgcnspirv-implicit-alloc-function-calling-conv.hip
M clang/test/SemaObjCXX/Inputs/nullability-pragmas-1.h
M clang/test/SemaObjCXX/arc-bridged-cast.mm
M clang/test/SemaObjCXX/objc-boxed-expressions-nsvalue.mm
M clang/test/SemaObjCXX/objcbridge-attribute-arc.mm
M clang/test/SemaObjCXX/objcbridge-attribute.mm
M clang/test/SemaObjCXX/objcbridge-related-attribute.mm
M clang/test/SemaObjCXX/objcbridge-static-cast.mm
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenACC/sub-array.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
A clang/test/SemaOpenCLCXX/amdgpu-nullptr.clcpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/current-instantiation.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/nested-name-spec-template.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/overload-candidates.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/CursorVisitor.h
M clang/tools/libclang/Indexing.cpp
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/AST/ASTExprTest.cpp
M clang/unittests/AST/ASTImporterFixtures.h
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/AST/ProfilingTest.cpp
M clang/unittests/AST/RandstructTest.cpp
M clang/unittests/AST/RecursiveASTVisitorTest.cpp
M clang/unittests/AST/SizelessTypesTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/AST/TemplateNameTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/CodeGen/CodeGenExternalTest.cpp
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/FormatTest.cpp
A clang/unittests/Format/NumericLiteralInfoTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Index/IndexTests.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterTest.cpp
A clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
M clang/unittests/Tooling/LookupTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/RangeSelectorTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M cmake/Modules/FindLibcCommonUtils.cmake
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
M compiler-rt/lib/hwasan/hwasan_setjmp_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/lib/xray/xray_fdr_logging.cpp
M compiler-rt/test/builtins/Unit/muldc3_test.c
A compiler-rt/test/profile/Linux/coverage_short_circuit.cpp
M compiler-rt/test/sanitizer_common/CMakeLists.txt
A compiler-rt/test/ubsan_minimal/TestCases/misalignment.cpp
A compiler-rt/test/ubsan_minimal/TestCases/null.cpp
M cross-project-tests/CMakeLists.txt
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Config/config.h.cmake
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/Bridge.h
A flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/ConvertVariable.h
R flang/include/flang/Lower/Cuda.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/extensions.h
A flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
R flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Support/Fortran.cpp
M flang/module/cudadevice.f90
A flang/test/Driver/atomic-control-options.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
M flang/test/Lower/Intrinsics/acospi.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
A flang/test/Lower/OpenMP/block_predetermined_privatization.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/declare-target-data.f90
M flang/test/Lower/OpenMP/declare-target-deferred-marking.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
M flang/test/Lower/OpenMP/declare-target-unnamed-main.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/omp-declare-target-program-var.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/derived-type-private.f90
M flang/test/Lower/do_loop_unstructured.f90
A flang/test/Lower/parametrized-derived-types.f90
A flang/test/Lower/undef-func-result.f90
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/block-construct.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
M flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/map-modifiers-v60.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/scope.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/task.f90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/critical-global-conflict.f90
M flang/test/Semantics/OpenMP/critical_within_default.f90
A flang/test/Semantics/OpenMP/if-clause-45.f90
A flang/test/Semantics/OpenMP/if-clause-50.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
R flang/test/Semantics/cuf17.cuf
M flang/test/Transforms/stack-arrays-lifetime.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/README.md
M libc/config/windows/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sched_param.h
M libc/include/dlfcn.yaml
A libc/include/llvm-libc-types/Dl_info.h
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/atan2f.h
A libc/shared/math/atan2f128.h
A libc/shared/math/atanhf.h
A libc/shared/math/atanhf16.h
A libc/shared/math/cbrt.h
A libc/shared/math/cbrtf.h
A libc/shared/math/cos.h
A libc/shared/math/cosf.h
M libc/shared/rpc.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/fixedstack.h
M libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f.h
A libc/src/__support/math/atan2f128.h
A libc/src/__support/math/atan2f_float.h
A libc/src/__support/math/atanhf.h
A libc/src/__support/math/atanhf16.h
A libc/src/__support/math/cbrt.h
A libc/src/__support/math/cbrtf.h
A libc/src/__support/math/cos.h
A libc/src/__support/math/cosf.h
A libc/src/__support/math/range_reduction.h
A libc/src/__support/math/range_reduction_double_common.h
A libc/src/__support/math/range_reduction_double_fma.h
A libc/src/__support/math/range_reduction_double_nofma.h
A libc/src/__support/math/range_reduction_fma.h
A libc/src/__support/math/sincos_eval.h
A libc/src/__support/math/sincosf_utils.h
M libc/src/__support/threads/mutex.h
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbrtowc.cpp
M libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/__support/wchar/string_converter.h
M libc/src/__support/wchar/wcsnrtombs.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/math/CMakeLists.txt
A libc/src/math/bf16add.h
A libc/src/math/bf16addf.h
A libc/src/math/bf16addf128.h
A libc/src/math/bf16addl.h
A libc/src/math/bf16mul.h
A libc/src/math/bf16mulf.h
A libc/src/math/bf16mulf128.h
A libc/src/math/bf16mull.h
A libc/src/math/bf16sub.h
A libc/src/math/bf16subf.h
A libc/src/math/bf16subf128.h
A libc/src/math/bf16subl.h
A libc/src/math/ceilbf16.h
A libc/src/math/floorbf16.h
A libc/src/math/fmaxbf16.h
A libc/src/math/fminbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan2f_float.h
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/atanhf16.cpp
A libc/src/math/generic/bf16add.cpp
A libc/src/math/generic/bf16addf.cpp
A libc/src/math/generic/bf16addf128.cpp
A libc/src/math/generic/bf16addl.cpp
A libc/src/math/generic/bf16mul.cpp
A libc/src/math/generic/bf16mulf.cpp
A libc/src/math/generic/bf16mulf128.cpp
A libc/src/math/generic/bf16mull.cpp
A libc/src/math/generic/bf16sub.cpp
A libc/src/math/generic/bf16subf.cpp
A libc/src/math/generic/bf16subf128.cpp
A libc/src/math/generic/bf16subl.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
A libc/src/math/generic/ceilbf16.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/floorbf16.cpp
A libc/src/math/generic/fmaxbf16.cpp
A libc/src/math/generic/fminbf16.cpp
R libc/src/math/generic/range_reduction.h
R libc/src/math/generic/range_reduction_double_common.h
R libc/src/math/generic/range_reduction_double_fma.h
R libc/src/math/generic/range_reduction_double_nofma.h
R libc/src/math/generic/range_reduction_fma.h
A libc/src/math/generic/roundbf16.cpp
A libc/src/math/generic/roundevenbf16.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
R libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
R libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanpif.cpp
A libc/src/math/generic/truncbf16.cpp
A libc/src/math/roundbf16.h
A libc/src/math/roundevenbf16.h
A libc/src/math/truncbf16.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/wchar/wcstok.cpp
M libc/src/wctype/iswalpha.cpp
M libc/src/wctype/iswalpha.h
M libc/startup/baremetal/arm/start.cpp
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/fixedstack_test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/OSUtil/linux/vdso_test.cpp
M libc/test/src/__support/wchar/string_converter_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/bf16add_test.cpp
A libc/test/src/math/bf16addf128_test.cpp
A libc/test/src/math/bf16addf_test.cpp
A libc/test/src/math/bf16addl_test.cpp
A libc/test/src/math/bf16mul_test.cpp
A libc/test/src/math/bf16mulf128_test.cpp
A libc/test/src/math/bf16mulf_test.cpp
A libc/test/src/math/bf16mull_test.cpp
A libc/test/src/math/bf16sub_test.cpp
A libc/test/src/math/bf16subf128_test.cpp
A libc/test/src/math/bf16subf_test.cpp
A libc/test/src/math/bf16subl_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/bfloat16_add_test.cpp
A libc/test/src/math/exhaustive/bfloat16_div_test.cpp
A libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
A libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/bf16add_test.cpp
A libc/test/src/math/smoke/bf16addf128_test.cpp
A libc/test/src/math/smoke/bf16addf_test.cpp
A libc/test/src/math/smoke/bf16addl_test.cpp
A libc/test/src/math/smoke/bf16mul_test.cpp
A libc/test/src/math/smoke/bf16mulf128_test.cpp
A libc/test/src/math/smoke/bf16mulf_test.cpp
A libc/test/src/math/smoke/bf16mull_test.cpp
A libc/test/src/math/smoke/bf16sub_test.cpp
A libc/test/src/math/smoke/bf16subf128_test.cpp
A libc/test/src/math/smoke/bf16subf_test.cpp
A libc/test/src/math/smoke/bf16subl_test.cpp
A libc/test/src/math/smoke/bfloat16_add_test.cpp
A libc/test/src/math/smoke/bfloat16_div_test.cpp
A libc/test/src/math/smoke/bfloat16_mul_test.cpp
A libc/test/src/math/smoke/bfloat16_sub_test.cpp
A libc/test/src/math/smoke/ceilbf16_test.cpp
A libc/test/src/math/smoke/floorbf16_test.cpp
A libc/test/src/math/smoke/fmaxbf16_test.cpp
A libc/test/src/math/smoke/fminbf16_test.cpp
A libc/test/src/math/smoke/roundbf16_test.cpp
A libc/test/src/math/smoke/roundevenbf16_test.cpp
A libc/test/src/math/smoke/truncbf16_test.cpp
M libc/test/src/sched/CMakeLists.txt
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/stdfix/BitsFxTest.h
M libc/test/src/time/timespec_get_test.cpp
M libc/test/src/wchar/wcstok_test.cpp
M libc/test/src/wctype/iswalpha_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/hdrgen/hdrgen/header.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
R libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/math/clc_log.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_rsqrt.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_sinpi.cl
A libclc/clc/lib/ptx-nvidiacl/math/clc_sqrt.cl
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/relational/clc_isinf.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
M libcxx/docs/Contributing.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__exception/exception.h
M libcxx/include/__expected/expected.h
R libcxx/include/__fwd/map.h
R libcxx/include/__fwd/set.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__math/traits.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_specialization.h
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/tuple
M libcxx/include/version
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.verify.cpp
M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/params.verify.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.verify.cpp
M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.u.pass.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/support/is_transparent.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/test/COFF/import_weak_alias.test
M lld/test/ELF/bp-section-orderer.s
A lld/test/ELF/dtlto/archive-thin.test
A lld/test/ELF/loongarch-pc-hi20-lo12-got.s
M lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
M lld/test/ELF/riscv-relax-align.s
M lld/test/ELF/riscv-relax-emit-relocs.s
A lld/test/ELF/riscv-relocatable-align.s
M lld/test/MachO/stabs.s
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/lldbdap.md
M lldb/docs/use/formatting.rst
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/API/SBThread.h
M lldb/include/lldb/Breakpoint/BreakpointResolver.h
M lldb/include/lldb/Breakpoint/BreakpointResolverName.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/Opcode.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/ProcessRunLock.h
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Protocol.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Server.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/StackID.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Commands/Options.td
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/Value.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/Expression.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/IRMemoryMap.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Protocol.cpp
A lldb/source/Protocol/MCP/Server.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/StackID.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/functionalities/memory/cache/main.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
A lldb/test/API/lang/cpp/expr-definition-in-dylib/Makefile
A lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
A lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
M lldb/test/API/tools/lldb-dap/breakpoint-assembly/TestDAP_breakpointAssembly.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
M lldb/test/Shell/SymbolFile/PDB/vbases.test
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/test/Shell/lit.cfg.py
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
A lldb/tools/lldb-dap/Protocol/DAPTypes.cpp
A lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
M lldb/tools/lldb-rpc-gen/lldb-rpc-gen.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
A lldb/unittests/Expression/ExpressionTest.cpp
M lldb/unittests/Host/MainLoopTest.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
M lldb/unittests/Platform/PlatformTest.cpp
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/.gitattributes
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CMake.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/CommandGuide/llvm-bcanalyzer.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-ifs.rst
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/docs/CommandGuide/llvm-locstats.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CommandGuide/llvm-symbolizer.rst
M llvm/docs/CommandGuide/opt.rst
M llvm/docs/Coroutines.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/FuzzingLLVM.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/Pipeline.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/Lexicon.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/MergeFunctions.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/PDB/CodeViewTypes.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/ADT/Bitset.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/GenericFloatingPointPredicateUtils.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/Instruction.def
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/include/llvm/Support/Atomic.h
M llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Support/GraphWriter.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/Host.h
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StackLifetime.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/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CallingConvLower.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
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/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/Frontend/HLSL/HLSLBinding.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SymbolicFile.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/SmallPtrSet.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/regcomp.c
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.h
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMCallingConv.h
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.h
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.h
A llvm/lib/Target/AVR/AVRTargetTransformInfo.cpp
A llvm/lib/Target/AVR/AVRTargetTransformInfo.h
M llvm/lib/Target/AVR/CMakeLists.txt
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPostOptimizationValidation.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCCCState.h
M llvm/lib/Target/PowerPC/PPCCallingConv.h
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86CallingConv.h
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TextAPI/Architecture.cpp
M llvm/lib/TextAPI/TextStubCommon.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/BasicAA/modref.ll
M llvm/test/Analysis/BasicAA/phi-values-usage.ll
M llvm/test/Analysis/CallGraph/ignore-assumelike-calls.ll
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/extract_float.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
A llvm/test/Analysis/CostModel/AArch64/histograms.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/DDG/basic-loopnest.ll
A llvm/test/Analysis/Delinearization/fixed_size_array.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
M llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
M llvm/test/Analysis/KernelInfo/openmp/nvptx.ll
M llvm/test/Analysis/LazyValueAnalysis/invalidation.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
M llvm/test/Analysis/MemorySSA/lifetime-simple.ll
M llvm/test/Analysis/MemorySSA/phi-translation.ll
M llvm/test/Analysis/MemorySSA/pr43044.ll
M llvm/test/Analysis/MemorySSA/pr49859.ll
M llvm/test/Analysis/MemorySSA/renamephis.ll
M llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
M llvm/test/Analysis/ScalarEvolution/sdiv.ll
M llvm/test/Analysis/ScalarEvolution/srem.ll
M llvm/test/Analysis/ScopedNoAliasAA/alias-scope-merging.ll
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/Analysis/ValueTracking/pr152700.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll
A llvm/test/Assembler/ptrtoaddr-invalid-constexpr.ll
A llvm/test/Assembler/ptrtoaddr-invalid.ll
A llvm/test/Assembler/ptrtoaddr.ll
A llvm/test/Bitcode/ptrtoaddr.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-reassociation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/opt-and-tbnz-tbz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-tbnz-from-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
A llvm/test/CodeGen/AArch64/aarch64-histcnt-dag-combine-hang.ll
R llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
A llvm/test/CodeGen/AArch64/aarch64-split-logic-bitmask-immediate.ll
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-fmax.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
M llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
A llvm/test/CodeGen/AArch64/csel-subs-dag-combine.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
M llvm/test/CodeGen/AArch64/fast-isel-sdiv.ll
M llvm/test/CodeGen/AArch64/fcmp-fp128.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/fpclamptosat.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/midpoint-int.ll
M llvm/test/CodeGen/AArch64/min-max-combine.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/pr72777.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/AArch64/sdivpow2.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/selectcc-to-shiftand.ll
M llvm/test/CodeGen/AArch64/signbit-shift.ll
A llvm/test/CodeGen/AArch64/sme-tileslice-addrmodes.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/srem-pow2.ll
M llvm/test/CodeGen/AArch64/sshl_sat.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
M llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve-vscale-combine.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.ll
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
A llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
A llvm/test/CodeGen/AMDGPU/empty-text.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
A llvm/test/CodeGen/AMDGPU/inline-asm-out-of-bounds-register.ll
A llvm/test/CodeGen/AMDGPU/integer-canonicalizing-src-modifiers.ll
A llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/min.ll
A llvm/test/CodeGen/AMDGPU/no-folding-imm-to-inst-with-fi.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
A llvm/test/CodeGen/AMDGPU/postra-sched-attribute.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
A llvm/test/CodeGen/AMDGPU/sgpr-count-graphics.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
R llvm/test/CodeGen/AMDGPU/test_isel_single_lane.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/ARM/bad-constraint.ll
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
M llvm/test/CodeGen/ARM/div.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
M llvm/test/CodeGen/ARM/scmp.ll
M llvm/test/CodeGen/ARM/ucmp.ll
M llvm/test/CodeGen/AVR/bug-143247.ll
M llvm/test/CodeGen/AVR/cmp.ll
A llvm/test/CodeGen/AVR/half.ll
A llvm/test/CodeGen/AVR/issue-151080.ll
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/CodeGen/AVR/load.ll
M llvm/test/CodeGen/AVR/shift.ll
M llvm/test/CodeGen/AVR/store.ll
M llvm/test/CodeGen/BPF/loop-exit-cond.ll
M llvm/test/CodeGen/BPF/vla.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-7.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/lifetimes-noint64op.ll
M llvm/test/CodeGen/DirectX/imad.ll
A llvm/test/CodeGen/DirectX/issue-140819_allow_forward_handle_on_alloca.ll
M llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.5.ll
M llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
M llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/umad.ll
M llvm/test/CodeGen/Generic/allow-check.ll
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
A llvm/test/CodeGen/Generic/half.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
A llvm/test/CodeGen/NVPTX/byval-arg-vectorize.ll
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/frameindex-lifetime.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
A llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
M llvm/test/CodeGen/PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
M llvm/test/CodeGen/PowerPC/aix-nest-param.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/memintr32.ll
M llvm/test/CodeGen/PowerPC/memintr64.ll
M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
M llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
M llvm/test/CodeGen/PowerPC/no-ctr-loop-if-exit-in-nested-loop.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/abds.ll
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/macro-fusions.mir
M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
M llvm/test/CodeGen/RISCV/misched-mem-clustering.mir
A llvm/test/CodeGen/RISCV/misched-store-clustering.ll
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-store.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
A llvm/test/CodeGen/RISCV/rvv/vploadff.ll
M llvm/test/CodeGen/RISCV/rvv/vsha2cl.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
A llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
A llvm/test/CodeGen/SPIRV/GlobalVarAddrspace.ll
A llvm/test/CodeGen/SPIRV/SamplerArgNonKernel.ll
A llvm/test/CodeGen/SPIRV/SpecConstants/spec-constant-length-array.ll
A llvm/test/CodeGen/SPIRV/align-duplicate.ll
A llvm/test/CodeGen/SPIRV/array_type.ll
A llvm/test/CodeGen/SPIRV/duplicate-types.ll
A llvm/test/CodeGen/SPIRV/entry-point-interfaces.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative1.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative2.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only_no_extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions_no_extension.ll
A llvm/test/CodeGen/SPIRV/get_global_size.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/ImplicitBinding.ll
A llvm/test/CodeGen/SPIRV/layout.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
M llvm/test/CodeGen/SPIRV/memory_model_md.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-1.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-2.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-private.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
R llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i32.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/nan.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/shuffle.ll
A llvm/test/CodeGen/SPIRV/transcoding/printf.ll
A llvm/test/CodeGen/SPIRV/zero-length-array.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.f16.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.ll
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
M llvm/test/CodeGen/Thumb/scmp.ll
M llvm/test/CodeGen/Thumb/ucmp.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/WebAssembly/expand-variadic-call.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
M llvm/test/CodeGen/WebAssembly/returned.ll
A llvm/test/CodeGen/X86/GlobalISel/ptrtoaddr.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/cmp.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
M llvm/test/CodeGen/X86/combine-sdiv.ll
A llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10l-libcall-names.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/huge-stack.ll
M llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
A llvm/test/CodeGen/X86/large-displacements-fastisel.ll
A llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/pmulh.ll
M llvm/test/CodeGen/X86/pr140491-sincos-lifetimes.ll
A llvm/test/CodeGen/X86/pr152630.ll
M llvm/test/CodeGen/X86/pr30284.ll
M llvm/test/CodeGen/X86/pr38539.ll
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/0a100d13d451...4e2946f8edd7
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