LLVM/project f089890clang-tools-extra/docs ReleaseNotes.rst, clang-tools-extra/test/clang-tidy/checkers/misc const-correctness-pointer-as-values.cpp const-correctness-parameters.cpp

[clang-tidy] Fixes false positive with a non-const method on a pointer (#188844)

Fixes

#56777
#58098
#64955

Non-const member functions don't mutate the pointer but the pointee.
Pointee mutations follow different path within the analyzer, so should
not be effected.

Edit to old tests were needed. Adds a dedicated tests besides those.
DeltaFile
+16-0clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
+11-0clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
+5-2clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
+6-1clang/lib/Analysis/ExprMutationAnalyzer.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+42-35 files

LLVM/project 4df7470flang/lib/Optimizer/Builder CUDAIntrinsicCall.cpp, flang/test/Lower/CUDA cuda-device-proc.cuf

[MLIR][NVVM] Split nvvm.barrier into nvvm.barrier and nvvm.barrier.reduction (#199404)
DeltaFile
+51-26mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+24-42mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+20-2mlir/test/Dialect/LLVMIR/nvvm.mlir
+13-6mlir/test/Target/LLVMIR/nvvm/barrier.mlir
+9-9flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
+9-9flang/test/Lower/CUDA/cuda-device-proc.cuf
+126-943 files not shown
+131-1079 files

LLVM/project 060ef6allvm/utils/lit/lit LitConfig.py, llvm/utils/lit/tests lit-config-readonly.py

[lit] Enforce read-only behavior on lit_config.maxIndividualTestTime (#198193)

Enforce read-only behavior on lit_config.maxIndividualTestTime after
initialization to prevent test suites from modifying it globally, and
add a core lit test to verify this behavior.

PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* https://github.com/llvm/llvm-project/pull/199996
* ➤ https://github.com/llvm/llvm-project/pull/198193

Assisted-by: Gemini
DeltaFile
+11-0llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
+5-0llvm/utils/lit/lit/LitConfig.py
+4-0llvm/utils/lit/tests/lit-config-readonly.py
+20-03 files

LLVM/project 985b242clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+2-2clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+3-32 files

LLVM/project c285c5bclang/docs LanguageExtensions.rst, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.rst
+56-193 files not shown
+60-199 files

LLVM/project 862deb2clang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncodingConfig.cpp
+4-0clang/test/CodeGen/systemz-charset.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+22-25 files

LLVM/project 6204c6bclang/include/clang/Lex TextEncodingConfig.h, clang/lib/Lex TextEncodingConfig.cpp

fix CI
DeltaFile
+2-2clang/lib/Lex/TextEncodingConfig.cpp
+1-0clang/include/clang/Lex/TextEncodingConfig.h
+3-22 files

LLVM/project 70439f1clang/lib/AST PrintfFormatString.cpp FormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+58-31clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+33-21clang/lib/Sema/SemaChecking.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+15-8clang/lib/AST/ScanfFormatString.cpp
+19-0llvm/lib/Support/TextEncoding.cpp
+196-1117 files not shown
+232-11913 files

LLVM/project 0b8a987clang/lib/AST ASTContext.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+9-91 files

LLVM/project 36b170dclang/lib/Sema SemaChecking.cpp

do not convert character by character
DeltaFile
+6-4clang/lib/Sema/SemaChecking.cpp
+6-41 files

LLVM/project 447a251clang/test/CodeGen systemz-charset.c

fix CI
DeltaFile
+2-0clang/test/CodeGen/systemz-charset.c
+2-01 files

LLVM/project 721c874clang/include/clang/Sema Sema.h

Fix build failure
DeltaFile
+1-0clang/include/clang/Sema/Sema.h
+1-01 files

LLVM/project 72dadd9clang/include/clang/AST Expr.h, clang/lib/AST Expr.cpp

fix CI
DeltaFile
+14-0clang/lib/AST/Expr.cpp
+6-0clang/include/clang/AST/Expr.h
+3-2clang/lib/Sema/SemaExpr.cpp
+0-1clang/lib/Parse/ParseDecl.cpp
+23-34 files

LLVM/project 202e047clang/include/clang/Sema Sema.h

Remove old include
DeltaFile
+0-1clang/include/clang/Sema/Sema.h
+0-11 files

LLVM/project cfacbd0clang/lib/Parse ParseDecl.cpp ParseExpr.cpp, clang/lib/Sema SemaExpr.cpp

add ParserConversionAction, do not translate unevaluated strings
DeltaFile
+15-0clang/test/CodeGen/systemz-charset.c
+6-5clang/lib/Sema/SemaExpr.cpp
+10-0clang/lib/Parse/ParseDecl.cpp
+8-0clang/test/CodeGen/systemz-charset-diag.cpp
+3-3clang/lib/Parse/ParseExpr.cpp
+4-0clang/lib/Parse/Parser.cpp
+46-83 files not shown
+52-99 files

LLVM/project 9838854llvm/lib/Target/DirectX DXILPrettyPrinter.cpp

Make sort comparator accept const values
DeltaFile
+5-4llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+5-41 files

LLVM/project 0344746clang/test/CodeGen systemz-charset-diag.cpp

Add test coverage for conversion errors in string literals
DeltaFile
+3-0clang/test/CodeGen/systemz-charset-diag.cpp
+3-01 files

LLVM/project 9190250llvm/lib/Target/DirectX DXILPrettyPrinter.cpp, llvm/test/CodeGen/DirectX debug-info.ll

Update after #197478
DeltaFile
+9-0llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
+6-3llvm/test/CodeGen/DirectX/debug-info.ll
+15-32 files

LLVM/project ac574a1llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Merge branch 'users/hvdijk/aaw-emitmdnodeannot' into users/hvdijk/dxilprettyprinter-ir-printing
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0923,557 files not shown
+159,617-85,7893,563 files

LLVM/project 048902dllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Merge branch 'main' into users/hvdijk/aaw-emitmdnodeannot
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0923,557 files not shown
+159,617-85,7893,563 files

LLVM/project 4add259llvm/test/CodeGen/AMDGPU/GlobalISel legalize-merge-values-build-vector-s16.mir select-merge-values-build-vector-s16.mir

Update MIR tests
DeltaFile
+78-4llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values-build-vector-s16.mir
+70-4llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
+148-82 files

LLVM/project 27d70f8llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel fshl.ll fshr.ll

Reuse shareable code from G_BUILD_VECTOR, get vgprs working, refactor rules
DeltaFile
+110-107llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+67-80llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+66-79llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+6-14llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
+6-14llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
+2-4llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+257-2981 files not shown
+259-2987 files

LLVM/project d69c732.github/workflows hlsl-test-all.yaml

CI: ignore errors on HLSL Publish step (#200240)

This step seems to fail consistently on the remote endpoint for large
PRs.

Example:
https://github.com/llvm/llvm-project/actions/runs/26589632748/job/78344693871?pr=199528
DeltaFile
+1-0.github/workflows/hlsl-test-all.yaml
+1-01 files

LLVM/project 5f49cffllvm/test/CodeGen/AArch64 and_xor_shift.ll

[AArch64] Add tests for and+xor+shift. NFC (#200250)

This adds test coverage for #199813. Hopefully this will prevent gisel
from
getting worse.
DeltaFile
+59-0llvm/test/CodeGen/AArch64/and_xor_shift.ll
+59-01 files

LLVM/project 184a8f9libcxx/include/__iterator wrap_iter.h static_bounded_iter.h, libcxx/test/libcxx/containers/sequences/array nodiscard.iterator.verify.cpp

[libc++] Applied `[[nodiscard]]` to `array::iterator` (#198492)

Towards #172124
DeltaFile
+39-0libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp
+12-7libcxx/include/__iterator/wrap_iter.h
+7-6libcxx/include/__iterator/static_bounded_iter.h
+58-133 files

LLVM/project 09ad100lldb/source/Plugins/SymbolFile/NativePDB PdbAstBuilderClang.cpp PdbUtil.cpp, lldb/test/Shell/SymbolFile/NativePDB ast-lambdas.cpp ast-lambdas-msvc.cpp

[lldb][NativePDB] Use decl context from a method's class (#199221)

When we look up the parent decl context for a method, we used to look
for that by name. For "regular" types that works well.
Say, we have a `struct ns::Foo` and `ns::Foo::bar`. We'd search for
`ns::Foo` and use its context.

For special types - mainly lambdas - this doesn't work. They can't be
found by looking for the name we get from the function symbol. That name
won't be in the TPI hash table we use.

I'm not fully sure under which name they're in that table. For example,
if we get the name `Foo::fun::<lambda_1>::operator()` from the function
symbol, we'd look for `Foo::fun::<lambda_1>`. This fails. A class with
this name is actually present, but it has a different unique name. Its
unique name demangles to `` `public: void __cdecl
Foo::fun(void)'::`1'::<lambda_1> `` which doesn't match what we searched
for. That might be the issue.


    [6 lines not shown]
DeltaFile
+77-4lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
+45-0lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp
+44-0lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas-msvc.cpp
+26-0lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
+4-0lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
+2-0lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
+198-46 files

LLVM/project 9c64050llvm/test/Analysis/CostModel/AArch64 arith-bf16.ll, llvm/test/CodeGen/AArch64 sve2p1-intrinsics-bfclamp.ll fixed-length-bf16-arith.ll

[AArch64] Fixup f16->bf16 in intrinsic defs. NFC (#200244)
DeltaFile
+20-20llvm/test/Analysis/CostModel/AArch64/arith-bf16.ll
+4-4llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
+1-1llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
+1-1llvm/test/CodeGen/AArch64/fabs.ll
+26-264 files

LLVM/project f00328allvm/lib/Transforms/IPO InstrumentorStubPrinter.cpp Instrumentor.cpp, llvm/test/Instrumentation/Instrumentor default_rt.h rt_config.json

[Instrumentor] Improve stub printer (for C/C++ and value packs)

The stub printer now emits a helper header to deal with value packs (in
C and C++). We also make the files C/C++ compatible and use the proper
format strings for int32_t and int64_t.
DeltaFile
+410-5llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
+264-0llvm/test/Instrumentation/Instrumentor/default_rt.h
+190-2llvm/test/Instrumentation/Instrumentor/rt_config.json
+124-0llvm/test/Instrumentation/Instrumentor/default_rt.c
+0-37llvm/test/Instrumentation/Instrumentor/default_rt
+7-6llvm/lib/Transforms/IPO/Instrumentor.cpp
+995-504 files not shown
+1,004-5110 files

LLVM/project a0ac752compiler-rt/lib/scudo/standalone combined.h primary64.h, compiler-rt/lib/scudo/standalone/tests error_info_test.cpp primary_test.cpp

[scudo] Create a non-static getErrorInfo function. (#199770)

Create a getErrorInfo function that operates on the Allocator and
doesn't require passing in all of the extra information.

Add interface function __scudo_get_fault_error_info that calls this new
function.

Add all needed functions to support the new getErrorInfo.

This is being added to replace the static version from Android that
required linking in a copy of libscudo to use. This new version will be
used directly from libc.
DeltaFile
+180-0compiler-rt/lib/scudo/standalone/combined.h
+160-0compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
+53-0compiler-rt/lib/scudo/standalone/primary64.h
+31-0compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
+11-0compiler-rt/lib/scudo/standalone/wrappers_c.cpp
+10-0compiler-rt/lib/scudo/standalone/memtag.h
+445-03 files not shown
+452-09 files

LLVM/project 742b750lldb/source/Plugins/Platform/MacOSX PlatformRemoteDarwinDevice.cpp

[lldb][Darwin] Save "most recent SDK root" in local var (#200095)

In PlatformRemoteDarwinDevice::GetSharedModule we have an array of "sdk
root" directories (aka DeviceSupport directories) for a remote device,
which contain all of the system shared libraries on the local mac. We
may have 6 SDK Root directories for different OS builds. We try to
identify the correct one for the target based on version number, but
when we find a file with a matching UUID in one directory we set that as
the "most recently successful" directory, and start our searches with
that one. Then we fall back to searching all the other directories.

Since adding parallel module loading, because this method doesn't lock
access to the "most recently successful directory"
(m_last_module_sdk_idx), we could check the m_last_module_sdk_idx
directory, and then if that was unsuccessful, check all other entries !=
m_last_module_sdk_idx. But m_last_module_sdk_idx could mutate via
another thread, and we skip one of our SDK Root directories. Resulting
in reading a binary out of memory, when we had a local copy of it.


    [9 lines not shown]
DeltaFile
+7-6lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
+7-61 files