[all-commits] [llvm/llvm-project] 9a727a: [bazel] Port c22d82a1d43465912edeb0f67929245f40a8a...
Erick Velez via All-commits
all-commits at lists.llvm.org
Fri Dec 12 11:08:06 PST 2025
Branch: refs/heads/users/evelez7/clang-doc-class-templates-html
Home: https://github.com/llvm/llvm-project
Commit: 9a727af1c80c44262fe1694a9791dfae0f3bf242
https://github.com/llvm/llvm-project/commit/9a727af1c80c44262fe1694a9791dfae0f3bf242
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port c22d82a1d43465912edeb0f67929245f40a8a822 (#171885)
Commit: 854ef8df06b9a4b4b473d9b00a5f6f1fa73df210
https://github.com/llvm/llvm-project/commit/854ef8df06b9a4b4b473d9b00a5f6f1fa73df210
Author: vangthao95 <vang.thao at amd.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsub.mir
M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize support for G_FSUB (#171244)
Commit: 2f9b8b74280343fb1bc1918059c808811b4f1e90
https://github.com/llvm/llvm-project/commit/2f9b8b74280343fb1bc1918059c808811b4f1e90
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Continue lowering make_tdm_descriptor. (#171498)
* changes workgroup mask's type from i16 to vector<16xi1>
* changes pad_amount and pad_interval from Index to I32
* adds lit tests for padEnable, iteration and dynamic cases
* adds TODO for a future instrumentation pass to validate inputs
* adds descriptor groups 2 and 3
Commit: 757c5b3bc70c6f0b55afa310f3fab07a4985e8b8
https://github.com/llvm/llvm-project/commit/757c5b3bc70c6f0b55afa310f3fab07a4985e8b8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
Revert "InstCombine: Fold ldexp with constant exponent to fmul" (#171895)
Reverts llvm/llvm-project#171731
Fails on a libc test
Commit: 71ee84acc4f7c93b9292af90ef5d79dd05687410
https://github.com/llvm/llvm-project/commit/71ee84acc4f7c93b9292af90ef5d79dd05687410
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[MLIR][Vector] Add unroll pattern for vector.constant_mask (#171518)
This PR adds unrolling for vector.constant_mask op based on the
targetShape. Each unrolled vector computes its local mask size in each
dimension (d) as:
min(max(originalMaskSize[d] - offset[d], 0), unrolledMaskSize[d]).
Commit: 98a8072a6599028aa9619e2a94ca7af5bd388c08
https://github.com/llvm/llvm-project/commit/98a8072a6599028aa9619e2a94ca7af5bd388c08
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[FunctionLoweringInfo] Remove unnecesary check for isVectorTy when isIntegerTy is true. NFC (#171880)
isIntegerTy is only true for scalars.
Commit: 3e414b940a70167af570567ddd3ecb1f2f240593
https://github.com/llvm/llvm-project/commit/3e414b940a70167af570567ddd3ecb1f2f240593
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[FunctionLoweringInfo] Use KnownBits::intersectWith. NFC (#171893)
Commit: dd6c14742b67d4fd0436fd3bfa24634fbc798741
https://github.com/llvm/llvm-project/commit/dd6c14742b67d4fd0436fd3bfa24634fbc798741
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M libc/hdr/stdio_overlay.h
Log Message:
-----------
[libc][darwin] avoid importing macros conflicting with function names in overlay mode (#171691)
MacOS SDK defines certain functions as macros in its stdio header. This
leads to problems in overlay mode.
This patch add undefs to macros that may conflict with function names in
overlay header. We don't expect to import them via overlay macro headers
anyway.
```bash
FAILED: [code=1] libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o
sccache /usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_22_0_0_git -D_DEBUG -I/Users/runner/work/llvm-project/llvm-project/libc -isystem /Users/runner/work/llvm-project/llvm-project/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -std=gnu++17 -arch arm64 -I /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk/usr/include -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=element -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=element -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o -MF libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o.d -o libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o -c /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected member name or ';' after declaration specifiers
260 | void clearerr_unlocked() { err = false; }
| ~~~~ ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:26: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected ')'
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:26: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: note: to match this '('
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:25: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: unknown type name '_flags'
260 | void clearerr_unlocked() { err = false; }
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:37: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: a type specifier is required for all declarations
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:34: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected ')'
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:44: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: note: to match this '('
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
495 | #define clearerr_unlocked(p) __sclearerr(p)
| ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:31: note: expanded from macro '__sclearerr'
383 | #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
| ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:426:23: error: out-of-line definition of 'mode_flags' does not match any declaration in '__llvm_libc_22_0_0_git::File'
426 | File::ModeFlags File::mode_flags(const char *mode) {
| ^~~~~~~~~~
6 errors generated.
```
Commit: 4e05d702f02aea708e8431061ad886c5cc9f4f40
https://github.com/llvm/llvm-project/commit/4e05d702f02aea708e8431061ad886c5cc9f4f40
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
Log Message:
-----------
[LV] Always include middle block cost in isOutsideLoopWorkProfitable. (#171102)
Always include the cost of the middle block in
isOutsideLoopWorkProfitable. This addresses the TODO from
https://github.com/llvm/llvm-project/pull/168949 and removes the
temporary restriction.
isOutsideLoopWorkProfitable already scales the cost outside loops
according the expected trip counts.
In practice this increases the minimum iteration threshold in a few
cases. On a large IR corpus based on C/C++ workloads, ~50 out of 179450
vector loops have their thresholds increased slightly.
PR: https://github.com/llvm/llvm-project/pull/171102
Commit: 65deac0872c2a180023c98894e1d5274a2e0c756
https://github.com/llvm/llvm-project/commit/65deac0872c2a180023c98894e1d5274a2e0c756
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Remove vector type checking in inferScalartType (NFC).
inferScalarTypeForRecipe always infers a scalar type, so BaseTy must be
a scalar type. Remove unneeded cast.
Commit: a50a7ea2e2909cf02fa6b855c3049b4a93b50d2e
https://github.com/llvm/llvm-project/commit/a50a7ea2e2909cf02fa6b855c3049b4a93b50d2e
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getpagesize.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getpagesize.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getpagesize_test.cpp
M libc/utils/docgen/unistd.yaml
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
Log Message:
-----------
[libc] Add support for getpagesize. (#171713)
As in the description.
Commit: 6344e3aa8106dfdfb30cac36c8ca02bc4c52ce24
https://github.com/llvm/llvm-project/commit/6344e3aa8106dfdfb30cac36c8ca02bc4c52ce24
Author: jimingham <jingham at apple.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Expression/ExpressionVariable.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
M lldb/source/Target/ABI.cpp
A lldb/test/API/functionalities/expr-result-var/Makefile
A lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
A lldb/test/API/functionalities/expr-result-var/two-bases.cpp
Log Message:
-----------
Make result variables obey their dynamic values in subsequent expressions (#168611)
When you run an expression and the result has a dynamic type that is
different from the expression's static result type, we print the result
variable using the dynamic type, but at present when you use the result
variable in an expression later on, we only give you access to the
static type. For instance:
```
(lldb) expr MakeADerivedReportABase()
(Derived *) $0 = 0x00000001007e93e0
(lldb) expr $0->method_from_derived()
^
error: no member named 'method_from_derived' in 'Base'
(lldb)
```
The static return type of that function is `Base *`, but we printed that
the result was a `Derived *` and then only used the `Base *` part of it
in subsequent expressions. That's not very helpful, and forces you to
guess and then cast the result types to their dynamic type in order to
be able to access the full type you were returned, which is
inconvenient.
This patch makes lldb retain the dynamic type of the result variable
(and ditto for persistent result variables).
It also adds more testing of expression result variables with various
types of dynamic values, to ensure we can access both the ivars and
methods of the type we print the result as.
Commit: bb12c435735ea0879cc68ae3031676a711d1de30
https://github.com/llvm/llvm-project/commit/bb12c435735ea0879cc68ae3031676a711d1de30
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
Log Message:
-----------
[Hexagon] Add HVX patterns for vector arithmetic (#170704)
This patch Introduces instruction selection patterns to generate the
vsub, vadd, vmpy, vmin, and vmax HVX vector instructions. These patterns
match on standard IR-level vector operations and lower them to the
corresponding Hexagon HVX intrinsics.
Patch By: Fateme Hosseini
Co-authored-by: Jyotsna Verma <jverma at qti.qualcomm.com>
Commit: 02ab4bdecaad9772bd0280b54dbef160aa467773
https://github.com/llvm/llvm-project/commit/02ab4bdecaad9772bd0280b54dbef160aa467773
Author: Daniel Thornburgh <mysterymath at gmail.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.td
M llvm/test/CodeGen/M68k/Control/non-cmov-switch.ll
Log Message:
-----------
[M68k] Emit MOV16ds for moves from CCR on 68000 (#171703)
This also marks CCR as a subregister of SR, which allows the value of SR
to be tracked with respect to CCR. Finally, removes the 68010
requirement from moves from SR; this is a user mode instruction on
68000.
Fixes #85686
Commit: 429dbce8d750981186e6b0494c47d9e0991d117f
https://github.com/llvm/llvm-project/commit/429dbce8d750981186e6b0494c47d9e0991d117f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/epilogue-determination.s
Log Message:
-----------
[BOLT][AArch64] Tweak heuristics for epilogue recognition (#169584)
If a basic block contains a load into LR from stack and has no
instruction saving LR onto stack, we just assume the basic block
is an epilogue.
This is not meant to accurately recognize epilogue in all possible
cases, but to have BOLT be conservative on treating basic block as
epilogue and then turning indirect branch with unknown control flow
to tail call.
Commit: 20cc9fe95d53747f96bc8d56b8a5ca611fd7f157
https://github.com/llvm/llvm-project/commit/20cc9fe95d53747f96bc8d56b8a5ca611fd7f157
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Remove now unused ixlenimm Operand. NFC (#171896)
Going forward I think we should add Operands with specific OperandType
so we no longer need a generic immediate Operand.
Commit: 43bfec29cbecc1ff2e5aa6f8908c4d63e9c896c5
https://github.com/llvm/llvm-project/commit/43bfec29cbecc1ff2e5aa6f8908c4d63e9c896c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix condition in barrier_try_wait lowering (#171916)
The condition should have been while 0 then try to wait and not the
opposite.
Commit: 2f14fb3ddea94f1dd55ccc393fca644bcd6bc331
https://github.com/llvm/llvm-project/commit/2f14fb3ddea94f1dd55ccc393fca644bcd6bc331
Author: jimingham <jingham at apple.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
Log Message:
-----------
The C++ dynamic typing tests are failing on Windows, skip for now. (#171922)
This is a follow-on to:
https://github.com/llvm/llvm-project/pull/168611
which added a bunch of tests for detecting dynamic types of C++ result
variables. I don't actually know how well dynamic type detection works
on Windows if at all. It would require Windows support, since the
Linux/Darwin version is specific to the Itanium ABI.
Commit: c1b60b96ec85f8d11e84da2c52f0aed35703ed43
https://github.com/llvm/llvm-project/commit/c1b60b96ec85f8d11e84da2c52f0aed35703ed43
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Upload a separate attestation for each artifact (#171525)
This will simplify the process of verifying the assets, because the
attestation file for $file will be $file.jsonl. Otherwise, it's not
clear which attestation file goes with which asset.
Commit: efd472c88d7bed50615eab6db844a766d8f1964f
https://github.com/llvm/llvm-project/commit/efd472c88d7bed50615eab6db844a766d8f1964f
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/trusty.cpp
Log Message:
-----------
[scudo] Show the resident pages from the secondary cache. (#170568)
Move the test utility to get the resident pages into linux.cpp.
Add some specific tests for this function.
Add displaying of resident pages from in the secondary cache when
calling getStats.
Commit: 5e63167965224e523ed69770754330c8cb22e90f
https://github.com/llvm/llvm-project/commit/5e63167965224e523ed69770754330c8cb22e90f
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M libc/src/__support/RPC/rpc_server.h
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/time/strftime.cpp
M libc/src/time/strftime_l.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/printf_core/writer_test.cpp
Log Message:
-----------
[libc] Refactor static polymorphism in WriteBuffer (NFC). (#169089)
There are three flavors of WriteBuffer currently, all of which could be
passed into `printf_core::Writer` class. It's a tricky class, since it
chooses a flavor-specific logic either based on runtime dispatch (to
save code size and prevent generating three versions of the entirety of
printf_core), or based on template arguments (to avoid dealing with
function pointers in codegen for `FILL_BUFF_AND_DROP_OVERFLOW` path).
Refactor this somewhat convoluted logic to have three concrete
subclasses inheriting from the templated base class, and use static
polymorphism with `reinterpret_cast` to implement dispatching above. Now
we can actually have flavor-specific fields, constructors, and methods
(e.g. `flush_to_stream` is now a method of `FlushingBuffer`), and the
code on the user side is cleaner: the complexity of enabling/disabling
runtime-dispatch and using proper template arguments is now localized in
`writer.h`.
This code will need to be further templatized to support buffers of type
`wchar_t` to implement `swprintf()` and friends. This change would make
it (ever so slightly) easier.
Commit: f36792b2a391a1f8c5c83ad0770304ed25e249ce
https://github.com/llvm/llvm-project/commit/f36792b2a391a1f8c5c83ad0770304ed25e249ce
Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/tests/checksum_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
M compiler-rt/lib/scudo/standalone/trusty.h
Log Message:
-----------
[scudo] Fix typo in multiple files (#171925)
Commit: 8e999e3d7857ce131d03bab4fd5c42b0e8edd980
https://github.com/llvm/llvm-project/commit/8e999e3d7857ce131d03bab4fd5c42b0e8edd980
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M clang/lib/Basic/FileManager.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M llvm/CMakeLists.txt
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/Support/IOSandbox.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Signals.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/Windows/Signals.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
Log Message:
-----------
[llvm][clang] Sandbox filesystem reads (#165350)
This PR introduces a new mechanism for enforcing a sandbox around
filesystem reads coming from the compiler. A fatal error is raised
whenever the `llvm::sys::fs`, `llvm::MemoryBuffer::getFile*()` APIs get
used directly instead of going through the "blessed" virtual interface
of `llvm::vfs::FileSystem`.
Commit: 86cc934b4a897bdda17faf3707168b5f5727f6fa
https://github.com/llvm/llvm-project/commit/86cc934b4a897bdda17faf3707168b5f5727f6fa
Author: Hongzheng Chen <hc676 at cornell.edu>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/python/ir/operation.py
Log Message:
-----------
[python] Expose replaceUsesOfWith C API (#171892)
This PR exposes the `replaceUsesOfWith` C API to Python
Commit: ee22217d1f37edfb4ef8a922345382926adf4096
https://github.com/llvm/llvm-project/commit/ee22217d1f37edfb4ef8a922345382926adf4096
Author: Florian Mayer <fmayer at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
Log Message:
-----------
[Sanitizer] show configure.log for libz build (#171932)
This is for debugging the failures on the aarch64 buildbot
Commit: e2818009243cda860bd538622621dd729536793b
https://github.com/llvm/llvm-project/commit/e2818009243cda860bd538622621dd729536793b
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/builtins/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
Revert: check-builtins target for LLVM_ENABLE_RUNTIMES (#171940)
Revert #171741 and #166837.
@petrhosek reported issues with some builders using this feature
Commit: d8d87b594eb67c1f96cf59d645b660f8fd831bee
https://github.com/llvm/llvm-project/commit/d8d87b594eb67c1f96cf59d645b660f8fd831bee
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
Log Message:
-----------
[CIR] Add support for global member pointer values (#171888)
This adds the handling necessary to support global variables that are
data member pointers in CIR.
Commit: b2f36149d820ab8d2c74de328ced4821408eca7f
https://github.com/llvm/llvm-project/commit/b2f36149d820ab8d2c74de328ced4821408eca7f
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/IR/func.cir
M clang/test/CIR/Lowering/eh-inflight.cir
Log Message:
-----------
[CIR] Implement function personality attribute and its lowering (#171001)
Commit: e760d0619fe573113fe5a08cc101aafe9ed3a56e
https://github.com/llvm/llvm-project/commit/e760d0619fe573113fe5a08cc101aafe9ed3a56e
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll
Log Message:
-----------
AMDGPU/PromoteAlloca: Refactor into analysis / commit phases (#170512)
This change is motivated by the overall goal of finding alternative ways
to promote allocas to VGPRs. The current solution is effectively limited
to allocas whose size matches a register class, and we can't keep adding
more register classes. We have some downstream work in this direction,
and I'm currently looking at cleaning that up to bring it upstream.
This refactor paves the way to adding a third way of promoting allocas,
on top of the existing alloca-to-vector and alloca-to-LDS. Much of the
analysis can be shared between the different promotion techniques.
Additionally, the idea behind splitting the pass into an analysis
phase and a commit phase is that it ought to allow us to more easily
make
better "big picture" decision about which allocas to promote how in the
future.
Commit: a1b35864925cde4db0d6393640abaa0f89a65309
https://github.com/llvm/llvm-project/commit/a1b35864925cde4db0d6393640abaa0f89a65309
Author: Aashcharya Gorakh <162886620+Aashcharya1 at users.noreply.github.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M flang/docs/OptionComparison.md
Log Message:
-----------
[flang][docs] Remove stale inline links to Intel and IBM compiler option
Remove all inline links to Intel and IBM compiler options from the
comparison tables, as these links have become stale (Intel links
redirect to generic pages, IBM links redirect to PDF-only pages).
Option names are preserved for readability. The Data sources section
still contains links to the main documentation pages.
Details:
- Removed 43 Intel compiler option links
- Removed 35 IBM compiler option links
- Removed 2 stale links in notes section
- Updated documentation text accordingly
Fixes #171464
---------
Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
Commit: e13998f1162f399df30e6c54cefd63e24be704a3
https://github.com/llvm/llvm-project/commit/e13998f1162f399df30e6c54cefd63e24be704a3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] Port 8e999e3d7857ce131d03bab4fd5c42b0e8edd980 (#171946)
Added a new preprocessor macro to llvm-config.h which needs to be
reflected on the bazel side.
Commit: 2b1fa68ad0f7ec270f1c876402eeb822e7e44cc7
https://github.com/llvm/llvm-project/commit/2b1fa68ad0f7ec270f1c876402eeb822e7e44cc7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/Driver/hlsl_matrix_pack_order.hlsl
Log Message:
-----------
[HLSL] Add the DXC matrix orientation flags (#171550)
fixes #58676
- Make /Zpr and /Zpc turn on the -fmatrix-memory-layout= row-major and
column-major flags
- Add the new DXC driver flags to Options.td
- Error in the HLSL toolchain when both flags are specified
- Add the new error diagnostic to DiagnosticDriverKinds.td
- propogate the flag via the Clang toolchain
Commit: b0d340557841e0c3f72d19be89aebef2a8ce02e5
https://github.com/llvm/llvm-project/commit/b0d340557841e0c3f72d19be89aebef2a8ce02e5
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/protected-field-pointer.ll
Log Message:
-----------
SROA: Recognize llvm.protected.field.ptr intrinsics.
When an alloc slice's users include llvm.protected.field.ptr intrinsics
and their discriminators are consistent, drop the intrinsics in order
to avoid unnecessary pointer sign and auth operations.
Reviewers: nikic
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/151650
Commit: 96b6594c901d0d92eec12c9e06388d7011049f69
https://github.com/llvm/llvm-project/commit/96b6594c901d0d92eec12c9e06388d7011049f69
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaObjCXX/arc-0x.mm
Log Message:
-----------
[Clang] Remove the early-check for anonymous struct in ShouldDeleteSpecialMember (#171799)
That check doesn't seem very useful. For non-dependent context records,
ShouldDeleteSpecialMember is called when checking implicitly defined
member functions, before the anonymous flag which the check relies on is
set. (One could notice that in ParseCXXClassMemberDeclaration,
ParseDeclarationSpecifiers ends up calling
ShouldDeleteSpecialMember, while the flag is only set later in
ParsedFreeStandingDeclSpec.)
For dependent contexts, this check actually breaks correctness: since we
don't create those special members until the template is instantiated,
their deletion checks are skipped because of the anonymity.
There's only one regression in ObjC test about notes; we are more
explanative now.
Fixes https://github.com/llvm/llvm-project/issues/167217
Commit: 8378ec44ff96a46edb752d47ebe72813ab15acc5
https://github.com/llvm/llvm-project/commit/8378ec44ff96a46edb752d47ebe72813ab15acc5
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/set
M libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
Log Message:
-----------
[libc++][set] Applied `[[nodiscard]]` (#169982)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/set
Commit: 9d5403c8924b6b58c1f25bbb3830f64aecb152ec
https://github.com/llvm/llvm-project/commit/9d5403c8924b6b58c1f25bbb3830f64aecb152ec
Author: Jim Lin <jim at andestech.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
[RISCV] Fix incorrect chapter number in comments in RISCVSchedSpacemitX60.td. (#171765)
Commit: 8deb4221e2bbb2f22df01e6bd16a28d2da7b4860
https://github.com/llvm/llvm-project/commit/8deb4221e2bbb2f22df01e6bd16a28d2da7b4860
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Use VMV0 instead of VMaskOp in masked vector pseudoinstructions. NFC (#171924)
VMaskOp primarily exists for parsing/printing in the MC layer where the
mask is optional. The vector pseudos are split into mask and unmasked
versions. The mask is always rquired for the mask version.
Commit: cea98135650a4a41a23b46868e54067271103116
https://github.com/llvm/llvm-project/commit/cea98135650a4a41a23b46868e54067271103116
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Add an OperandType to VMaskOp. NFC (#171926)
Use that instead of register class to detect the mask operand in
lowerRISCVVMachineInstrToMCInst.
There are other instructions like vmerge and vadc that have a VMV0
operand that isn't optional and do not reach this code. Having a
dedicated marker for the optional mask is more precise.
Commit: ecaf673850beb241957352bd61e95ed34256635f
https://github.com/llvm/llvm-project/commit/ecaf673850beb241957352bd61e95ed34256635f
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_parse_context.h
M libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
Log Message:
-----------
[libc++][format] Applied `[[nodiscard]]` to more classes (#170808)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
Some classes in `<format>` were already annotated. This patch completes
the remaining.
Commit: 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571
https://github.com/llvm/llvm-project/commit/1335a05ab8bc8339ce24be3a9da89d8c3f4e0571
Author: Hongzheng Chen <hc676 at cornell.edu>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M mlir/python/mlir/dialects/affine.py
M mlir/test/python/dialects/affine.py
Log Message:
-----------
[MLIR][Python] Fix AffineIfOp insertion point (#171957)
This bug was introduced by #108323, where the loc and ip were not
properly set. It may lead to errors when the operations are not linearly
asserted to the IR.
Commit: c7ca7047a75892f89cb98516ebd274752f73f593
https://github.com/llvm/llvm-project/commit/c7ca7047a75892f89cb98516ebd274752f73f593
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/docs/index.md
Log Message:
-----------
[flang][docs] Reorganize the table of contents (#171240)
This patch creates a section for user guidance.
Commit: cdfdb06c9155080ec97d6e4f4dd90b6e7cefb0ca
https://github.com/llvm/llvm-project/commit/cdfdb06c9155080ec97d6e4f4dd90b6e7cefb0ca
Author: Michael Pratt <michael at prattmic.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M compiler-rt/lib/tsan/go/test.c
M compiler-rt/lib/tsan/rtl/tsan_trace.h
Log Message:
-----------
[TSan] Zero-initialize Trace.local_head
Trace.local_head is currently uninitialized when Trace is created. It is
first initialized when the first event is added to the trace, via the
first call to TraceSwitchPartImpl.
However, ThreadContext::OnFinished uses local_head, assuming that it is
initialized. If it has not been initialized, we have undefined behavior,
likely crashing if the contents are garbage. The allocator (Alloc)
reuses previously allocations, so the contents of the uninitialized
memory are arbitrary.
In a C/C++ TSAN binary it is likely very difficult for a thread to start
and exit without a single event inbetween. For Go programs, code running
in the Go runtime itself is not TSan-instrumented, so goroutines that
exclusively run runtime code (such as GC workers) can quite reasonably
have no TSan events.
The addition of such a goroutine to the Go test.c is sufficient to
trigger this case, though for reliable failure (segfault) I've found it
necessary to poison the ThreadContext allocation like so:
```
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp index feee566f44..352db9aa7c 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
@@ -392,7 +392,9 @@
report_mtx(MutexTypeReport),
nreported(),
thread_registry([](Tid tid) -> ThreadContextBase* {
- return new (Alloc(sizeof(ThreadContext))) ThreadContext(tid);
+ void* ptr = Alloc(sizeof(ThreadContext));
+ internal_memset(ptr, 0xde, sizeof(ThreadContext));
+ return new (ptr) ThreadContext(tid);
}),
racy_mtx(MutexTypeRacy),
racy_stacks(),
```
The fix is trivial: local_head should be zero-initialized.
Commit: c3e7a1ab8f60c797e320687a92a7a59af62dc242
https://github.com/llvm/llvm-project/commit/c3e7a1ab8f60c797e320687a92a7a59af62dc242
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll
Log Message:
-----------
[NFC][PowerPC] Optimize vector compares for not equal to non zero vectors (#171635)
Lockdown instructions for vector compares `not equal to non-zero (Ex:
vec[i]!=7)`. Current implementation can be made better by removing the
negation and using the identity ``` 0XFFFF + 1 = 0 and 0 + 1 = 0 ```
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 63ea393f969b9fe8be3f80b38eb2b47063aa6d40
https://github.com/llvm/llvm-project/commit/63ea393f969b9fe8be3f80b38eb2b47063aa6d40
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/optional
A libcxx/test/libcxx/utilities/optional/nodiscard.verify.cpp
M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp
Log Message:
-----------
[libc++][optional] Applied `[[nodiscard]]` (#170045)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/optional
---------
Co-authored-by: William Tran-Viet <wtranviet at proton.me>
Commit: 618b874d8495ca92be1e3e38175fc1f9bd4c47b2
https://github.com/llvm/llvm-project/commit/618b874d8495ca92be1e3e38175fc1f9bd4c47b2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Add OperandType to tsimm5 used by Xsfvcp. (#171964)
Commit: f0bec9ec468fbfd6cb39f63df9b9496450ba1cbf
https://github.com/llvm/llvm-project/commit/f0bec9ec468fbfd6cb39f63df9b9496450ba1cbf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Use OPERAND_MEMORY as the OperandType for CVrr. NFC (#171967)
Commit: 727581773944e58739e1796169dfc5ecf8f7e640
https://github.com/llvm/llvm-project/commit/727581773944e58739e1796169dfc5ecf8f7e640
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-12-11 (Thu, 11 Dec 2025)
Changed paths:
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Improve generated comments for RegClassByHwMode tables
Adding a comment for which RegClassByHwMode the entry refers to is
helpful when staring at this generated table.
Pull Request: https://github.com/llvm/llvm-project/pull/171716
Commit: c05a3ac915ae3225c805c110531a85dfe86b4bee
https://github.com/llvm/llvm-project/commit/c05a3ac915ae3225c805c110531a85dfe86b4bee
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
Log Message:
-----------
[libc++][filesystem] Applied `[[nodiscard]]` (#171085)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
Commit: 3383004a958d51890443ec48e87f0f8e5a76d139
https://github.com/llvm/llvm-project/commit/3383004a958d51890443ec48e87f0f8e5a76d139
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Log Message:
-----------
[clang-tidy] Support comments in WarningsAsErrors (#171816)
Closes #171792
---------
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Commit: 43a4442fac490db452abb9a6ad0ede3c447bd385
https://github.com/llvm/llvm-project/commit/43a4442fac490db452abb9a6ad0ede3c447bd385
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandFp.cpp
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
Log Message:
-----------
[ExpandFp] Fix incorrect ConstantInt construction (#171861)
Explicitly cast the value to (int) before negating, so it gets properly
sign extended. Otherwise we end up with a large unsigned value instead
of a negative value for large bit widths.
This was found while working on
https://github.com/llvm/llvm-project/pull/171456.
Commit: 294fb60e5b25cf73aea677e2a360188337be26a6
https://github.com/llvm/llvm-project/commit/294fb60e5b25cf73aea677e2a360188337be26a6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Fix ConstantInt::get() for vector types (#171852)
As the comment on the method indicates, this method is supposed to
produce a splat for vector types. However, currently it has a
ConstantInt return type that is incompatible with that. There is a
separate overload on IntegerType -- only that one should return
ConstantInt.
This also requires adjusting Type::getIntNTy() to return IntegerType
(matching the normal Type API), so it uses the right overload.
Commit: d0d8359c014070becbcfe0c19426f6cbc65e94a0
https://github.com/llvm/llvm-project/commit/d0d8359c014070becbcfe0c19426f6cbc65e94a0
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Remove redundant icmp+ptrtoint fold (#171807)
There is a generic fold for recursively calling simplifyICmpInst with
the ptrtoint cast stripped:
https://github.com/llvm/llvm-project/blob/9b6b52b534ba592d7d6b5863e3d9a240119a74d9/llvm/lib/Analysis/InstructionSimplify.cpp#L3850-L3867
As such, we shouldn't have to explicitly do this for the
computePointerICmp() fold.
This is not strictly NFC because the recursion limit applies to the
generic fold, though I wouldn't expect this to matter in practice.
Commit: 4fc5b6d8c4d8a27e8b6c32a112d865de4935d401
https://github.com/llvm/llvm-project/commit/4fc5b6d8c4d8a27e8b6c32a112d865de4935d401
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/specialized_algorithms.h
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/set
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass copy.cpp
Log Message:
-----------
[libc++] Optimize {std,ranges}::for_each for iterating over __trees (#164405)
This patch optimizes how `for_each` iterates over trees by using
recursion and storing pointers to the next nodes on the stack. This
avoids pointer chasing through the `__parent_` pointer, reducing cache
misses. It also makes use of the compiler being able tail-call optimize
the recursive function, removing back-tracking the iterators have to do.
```
Benchmark old new Difference % Difference
-------------------------------------------------- -------------- -------------- ------------ --------------
rng::for_each(map<int>)/32 35.19 26.67 -8.52 -24.21%
rng::for_each(map<int>)/50 64.13 40.68 -23.45 -36.57%
rng::for_each(map<int>)/8 5.06 6.49 1.43 28.21%
rng::for_each(map<int>)/8192 22893.89 9266.68 -13627.21 -59.52%
rng::for_each(map<int>::iterator)/32 35.51 26.88 -8.63 -24.31%
rng::for_each(map<int>::iterator)/50 64.39 41.24 -23.15 -35.95%
rng::for_each(map<int>::iterator)/8 5.12 5.93 0.81 15.80%
rng::for_each(map<int>::iterator)/8192 21283.14 9736.83 -11546.31 -54.25%
rng::for_each(multimap<int>)/32 35.22 26.61 -8.61 -24.45%
rng::for_each(multimap<int>)/50 64.10 40.07 -24.03 -37.49%
rng::for_each(multimap<int>)/8 5.08 6.69 1.61 31.70%
rng::for_each(multimap<int>)/8192 23130.44 9026.16 -14104.28 -60.98%
rng::for_each(multimap<int>::iterator)/32 35.40 25.08 -10.32 -29.15%
rng::for_each(multimap<int>::iterator)/50 64.19 38.15 -26.04 -40.56%
rng::for_each(multimap<int>::iterator)/8 5.04 5.25 0.22 4.31%
rng::for_each(multimap<int>::iterator)/8192 22875.97 9392.08 -13483.89 -58.94%
rng::for_each(multiset<int>)/32 35.82 27.11 -8.72 -24.33%
rng::for_each(multiset<int>)/50 62.92 41.59 -21.32 -33.89%
rng::for_each(multiset<int>)/8 4.79 6.79 2.00 41.70%
rng::for_each(multiset<int>)/8192 22642.68 9280.95 -13361.73 -59.01%
rng::for_each(multiset<int>::iterator)/32 35.76 26.71 -9.04 -25.28%
rng::for_each(multiset<int>::iterator)/50 63.44 39.00 -24.44 -38.53%
rng::for_each(multiset<int>::iterator)/8 4.90 5.21 0.30 6.18%
rng::for_each(multiset<int>::iterator)/8192 19930.45 9867.60 -10062.85 -50.49%
rng::for_each(set<int>)/32 35.90 27.30 -8.60 -23.96%
rng::for_each(set<int>)/50 63.15 40.75 -22.40 -35.47%
rng::for_each(set<int>)/8 4.77 6.83 2.06 43.23%
rng::for_each(set<int>)/8192 20262.77 9381.57 -10881.20 -53.70%
rng::for_each(set<int>::iterator)/32 36.02 26.42 -9.60 -26.64%
rng::for_each(set<int>::iterator)/50 63.29 37.97 -25.32 -40.01%
rng::for_each(set<int>::iterator)/8 4.72 5.22 0.50 10.50%
rng::for_each(set<int>::iterator)/8192 20041.91 9831.91 -10210.00 -50.94%
```
Commit: a34a92d9e253473733b955620e80704f0be26f86
https://github.com/llvm/llvm-project/commit/a34a92d9e253473733b955620e80704f0be26f86
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__cxx03/bitset
M libcxx/include/bitset
A libcxx/test/libcxx/utilities/template.bitset/index_const.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
Log Message:
-----------
[libc++] Always return bool from bitset::operator[](size_t) const (#169894)
This takes an ABI break unconditionally, since it's small enough that
nobody should be affected. This both simplifies `bitset` a bit and makes
us more conforming.
Commit: 64dfc26237d9acd4ab4a01daa85f613f61c67498
https://github.com/llvm/llvm-project/commit/64dfc26237d9acd4ab4a01daa85f613f61c67498
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/test/CodeGen/Mips/named-register-n32.ll
M llvm/test/CodeGen/Mips/named-register-n64.ll
M llvm/test/CodeGen/Mips/named-register-o32.ll
Log Message:
-----------
[Mips] Support "$sp" named register (#171793)
Because previous pr:
https://github.com/llvm/llvm-project/pull/136821 has test failures on
builder llvm-clang-x86_64-expensive-checks-ubuntu when enable
`-verify-machineinstrs`. So revert that pr.
This new pr change:
1. add `-verify-machineinstrs` in RUN command.
2. wirte register before reading to avoid error `Bad machine code: Using
an undefined physical register`.
Fix #47656.
Commit: 5bc7b9d462f0bb0e731f55eaae24d382bd812a15
https://github.com/llvm/llvm-project/commit/5bc7b9d462f0bb0e731f55eaae24d382bd812a15
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
M llvm/test/DebugInfo/Generic/namespace.ll
M llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
M llvm/test/DebugInfo/X86/dimodule-external-fortran.ll
M llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
M llvm/test/tools/dsymutil/X86/modules-empty.m
A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_import.yaml
Log Message:
-----------
[llvm][dwarfdump] Print the name (if available) of entities referenced by DW_AT_import (#171859)
Instead of this:
```
0x00018cff: DW_TAG_imported_declaration
DW_AT_decl_line (12)
DW_AT_import (0x0000000000018cfb)
```
print:
```
0x00018cff: DW_TAG_imported_declaration
DW_AT_decl_line (12)
DW_AT_import (0x0000000000018cfb "platform")
```
Where `0x0000000000018cfb` in this example could be a `DW_TAG_module`
with `DW_AT_name ("platform")`
Commit: 3e2a8e2effd19cc6271dd64578868696625bbe79
https://github.com/llvm/llvm-project/commit/3e2a8e2effd19cc6271dd64578868696625bbe79
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/set
A libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp
Log Message:
-----------
[libc++][multiset] Applied `[[nodiscard]]` (#171654)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/multiset
Commit: b492b3523c4c695d33876ff4a12aff5084c3f4bd
https://github.com/llvm/llvm-project/commit/b492b3523c4c695d33876ff4a12aff5084c3f4bd
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/large-nested-4d.ll
A llvm/test/Transforms/LoopInterchange/large-nested-6d.ll
Log Message:
-----------
[LoopInterchange] Motivating example for interchange. NFC. (#171631)
This is precommitting a full reproducer of one of our motivating
examples. Looking at a full reproducer is helpful for further discussion
on DependenceAnalysis and Delinearization issues and the runtime
predicates discussion. I appreciate that this is a larger than usual
test case, but that is by design, because I think it is useful to look
at the whole thing with all of its complexities.
I have given useful names to all the relevant loop variables, and the
relevant blocks in these loops and their functions, but have
intentionally not done that for others as there are quite a few more.
Commit: 025d0c0d1daa2e0335e5d31016eb04e68c3ac961
https://github.com/llvm/llvm-project/commit/025d0c0d1daa2e0335e5d31016eb04e68c3ac961
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
Log Message:
-----------
(reland) [AMDGPU][SIInsertWaitCnts] Use RegUnits-based tracking (#162077) (#171779)
Fixed a crash in Blender due to some weird control flow.
The issue was with the "merge" function which was only looking at the
keys of the "Other" VMem/SGPR maps. It needs to look at the keys of both
maps and merge them.
Original commit message below
----
The pass was already "reinventing" the concept just to deal with 16 bit
registers. Clean up the entire tracking logic to only use register
units.
There are no test changes because functionality didn't change, except:
- We can now track more LDS DMA IDs if we need it (up to `1 << 16`)
- The debug prints also changed a bit because we now talk in terms of
register units.
This also changes the tracking to use a DenseMap instead of a massive
fixed size table. This trades a bit of access speed for a smaller memory
footprint. Allocating and memsetting a huge table to zero caused a
non-negligible performance impact (I've observed up to 50% of the time
in the pass spent in the `memcpy` built-in on a big test file).
I also think we don't access these often enough to really justify using
a vector. We do a few accesses per instruction, but not much more. In a
huge 120MB LL file, I can barely see the trace of the DenseMap accesses.
Commit: fbde1dcfb3bcb9d0c7beb98aee274b3c1ba1383a
https://github.com/llvm/llvm-project/commit/fbde1dcfb3bcb9d0c7beb98aee274b3c1ba1383a
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
Log Message:
-----------
[flang][OpenACC] do not load pointer and allocatables component in data clauses (#171445)
`gatherDataOperandAddrAndBounds` did not handle pointers and allocatable
pointer components (`obj%p`) in the same way as pointer and allocatable
whole objects (`p`).
The difference is that whole object are kept as a descriptor address
(`fir.ref<fir.box>`) in the acc data operation while components were
dereferenced (`fir.box<>`).
I do not think this was intentional, and is mainly a side effect of the
`genExprAddr` for components that generate a dereference for
pointer/allocatables.
In the work that I am doing on remapping components, this is an issue
because the data operation must return a fir.ref<fir.box> so that I can
remap any appearance to the component to it (which could be in a pointer
association statement for instance, requiring access to a descriptor
address as opposed to a value).
Commit: 19e1011df51e3f88a02f5522073aa788e479a68b
https://github.com/llvm/llvm-project/commit/19e1011df51e3f88a02f5522073aa788e479a68b
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/alias_mask_nosve.ll
M llvm/test/CodeGen/AArch64/alias_mask_scalable.ll
M llvm/test/CodeGen/AArch64/alias_mask_scalable_nosve2.ll
R llvm/test/CodeGen/AArch64/loop-dependence-mask-ccmp.ll
Log Message:
-----------
[SelectionDAG] Fix unsafe cases for loop.dependence.{war/raw}.mask (#168565)
Both `LOOP_DEPENDENCE_WAR_MASK` and `LOOP_DEPENDENCE_RAW_MASK` are
currently hard to split correctly, and there are a number of incorrect
cases.
The difficulty comes from how the intrinsics are defined. For example,
take `LOOP_DEPENDENCE_WAR_MASK`.
It is defined as the OR of:
* `(ptrB - ptrA) <= 0`
* `elementSize * lane < (ptrB - ptrA)`
Now, if we want to split a loop dependence mask for the high half of the
mask we want to compute:
* `(ptrB - ptrA) <= 0`
* `elementSize * (lane + LoVT.getElementCount()) < (ptrB - ptrA)`
However, with the current opcode definitions, we can only modify ptrA or
ptrB, which may change the result of the first case, which should be
invariant to the lane.
This patch resolves these cases by adding a "lane offset" to the ISD
opcodes. The lane offset is always a constant. For scalable masks, it is
implicitly multiplied by vscale.
This makes splitting trivial as we increment the lane offset by
`LoVT.getElementCount()` now.
Note: In the AArch64 backend, we only support zero lane offsets (as
other cases are tricky to lower to whilewr/rw).
---------
Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
Commit: a318c501107102b0dc737b574478bb8b7c9bfd50
https://github.com/llvm/llvm-project/commit/a318c501107102b0dc737b574478bb8b7c9bfd50
Author: ShivaChen <32083954+ShivaChen at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][tosa] Remove NegateOp to SubOp and 48-bit promotion in TosaToLinalg (#170622)
The patch motivated by Tosa Conformance test negate_32x45x49_i16_full failure.
TosaToLinalg pass has an optimization to transfer Tosa Negate to Sub if the zero points are zeros. However, when the input value is minimum negative number, the transformation will cause the underflow. By removing the transformation, if zp = 0 it would do the promotion to avoid the underflow.
Promotion types could be from int32 to int48. TOSA negate specification does not mention support for int48. Should we consider removing the promotion to int48 to stay aligned with the TOSA spec?
Commit: d714a6c21062c6b85beeed1ce09c8761c4f58b71
https://github.com/llvm/llvm-project/commit/d714a6c21062c6b85beeed1ce09c8761c4f58b71
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
M clang/test/DebugInfo/CXX/windows-dtor.cpp
A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/module.modulemap
A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/msvc-vector-deleting-dtors.h
A clang/test/Modules/msvc-vector-deleting-destructors.cpp
M clang/test/Modules/vtable-windows.cppm
A clang/test/PCH/Inputs/msvc-vector-deleting-dtors.h
A clang/test/PCH/msvc-vector-deleting-destructors.cpp
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
A clang/test/SemaCXX/gh134265.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
Reland [MS][clang] Add support for vector deleting destructors (#170337)
This reverts commit
https://github.com/llvm/llvm-project/commit/54a4da9df6906b63878ad6d0ea6da3ed7d2d8432.
MSVC supports an extension allowing to delete an array of objects via
pointer whose static type doesn't match its dynamic type. This is done
via generation of special destructors - vector deleting destructors.
MSVC's virtual tables always contain a pointer to the vector deleting
destructor for classes with virtual destructors, so not having this
extension implemented causes clang to generate code that is not
compatible with the code generated by MSVC, because clang always puts a
pointer to a scalar deleting destructor to the vtable. As a bonus the
deletion of an array of polymorphic object will work just like it does
with MSVC - no memory leaks and correct destructors are called.
This patch will cause clang to emit code that is compatible with code
produced by MSVC but not compatible with code produced with clang of
older versions, so the new behavior can be disabled via passing
-fclang-abi-compat=21 (or lower).
Fixes https://github.com/llvm/llvm-project/issues/19772
Commit: 51bd0edb566e3b8efa99c39745b4e512bba010a7
https://github.com/llvm/llvm-project/commit/51bd0edb566e3b8efa99c39745b4e512bba010a7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/include/valarray
A libcxx/test/libcxx/numerics/numarray/nodiscard.verify.cpp
Log Message:
-----------
[libc++][valarray] Applied `[[nodiscard]]` (#170996)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
Commit: 71c3acb18b9e9d11badd5a11945cb1afc2fb540f
https://github.com/llvm/llvm-project/commit/71c3acb18b9e9d11badd5a11945cb1afc2fb540f
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
Log Message:
-----------
[Analysis][AArch64] Add cost model for loop.dependence.{war/raw}.mask (#167551)
This PR adds the cost model for the loop dependence mask intrinsics,
both for cases where they must be expanded and when they can be lowered
for AArch64.
---------
Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
Commit: f0d7d833f53b5b22ada5ba8db325f6c0f7bd7b87
https://github.com/llvm/llvm-project/commit/f0d7d833f53b5b22ada5ba8db325f6c0f7bd7b87
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
Log Message:
-----------
[lldb-dap] Allow empty memory reference in disassemble arguments (#162517)
This patch implements a workaround for a VSCode bug that causes it to
send disassemble requests with empty memory reference. You can find more
detailed description
[here](https://github.com/microsoft/vscode/pull/270361). I propose to
allow empty memory reference and return invalid instructions when this
occurs.
Error log example:
```
1759923554.517830610 (stdio) --> {"command":"disassemble","arguments":{"memoryReference":"","offset":0,"instructionOffset":-50,"instructionCount":50,"resolveSymbols":true},"type":"request","seq":3}
1759923554.518007517 (stdio) queued (command=disassemble seq=3)
1759923554.518254757 (stdio) <-- {"body":{"error":{"format":"invalid arguments for request 'disassemble': malformed memory reference at arguments.memoryReference\n{\n \"instructionCount\": 50,\n \"instructionOffset\": -50,\n \"memoryReference\": /* error: malformed memory reference */ \"\",\n \"offset\": 0,\n \"resolveSymbols\": true\n}","id":3,"showUser":true}},"command":"disassemble","request_seq":3,"seq":0,"success":false,"type":"response"}
```
I am not sure that we should add workaround here when bug on VSCode
side, but I think this bug affects our users. WDYT?
Commit: 2aa345054fa2975bd9d2e1ca03195e40c95058d7
https://github.com/llvm/llvm-project/commit/2aa345054fa2975bd9d2e1ca03195e40c95058d7
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Lower/SymbolMap.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Lower/SymbolMap.cpp
M flang/test/Lower/OpenACC/acc-host-data.f90
A flang/test/Lower/OpenACC/acc-use-device-remapping.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Transforms/OpenACC/acc-implicit-data-derived-type-member.F90
Log Message:
-----------
[flang][OpenACC] remap component references in structured constructs (#171501)
OpenACC data clauses of structured constructs may contain component
references (`obj%comp`, or `obj%array(i:j:k)`, ...).
This changes allows using the ACC dialect data operation result for such
clauses every time the component is referred to inside the scope of the
construct.
The bulk of the change is to add the ability to map
`evaluate::Component` to mlir values in the symbol map used in lowering.
This is done by adding the `ComponentMap` helper class to the lowering
symbol map, and using it to override `evaluate::Component` reference
lowering in expression lowering (ConvertExprToHLFIR.cpp).
Some changes are made in Lower/Support/Utils.h in order to set-up/expose
the hashing/equality helpers needed to use `evaluate::Component` in
llvm::DenseMap.
In OpenACC.cpp, `genPrivatizationRecipes` and `genDataOperandOperations`
are merged to unify the processing of Designator in data clauses.
New code is added to unwrap the rightmost `evaluate::Component`, if any,
and remap it.
Note that when the right most part is an array reference on a component
(`obj%array(i:j:k)`), the whole component `obj%array(` is remapped, and
the array reference is dealt with a bound operand like for whole object
array.
After this patch, all designators in data clauses on structured
constructs will be remapped, except for array reference in private/first
private/reduction (the result type of the related operation needs to be
changed and the recipe adapted to "offset back"), component reference in
reduction (this patch is adding a TODO for it), and device_ptr
(previously bypassed remapping because of issues with descriptors,
should be OK to lift it in a further patch).
Note that this patch assumes that it is illegal to have code with
intermediate variable indexing in the component reference (e.g.
`array(i)%comp`) where the value of the index would be changed inside
the region (e.g., `i` is assigned a new value), or where the component
would be used with different indices meant to have the same value as the
one used in the clause (e.g. `array(i)%comp` where `j` is meant to be
the same as `i`). I will try to add a warning in semantics for such
questionable/risky usages.
Commit: 917e458b964418b17d969e3fa914846df4578004
https://github.com/llvm/llvm-project/commit/917e458b964418b17d969e3fa914846df4578004
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
Log Message:
-----------
[mlir] Cleanup the addLegalOp of convert-linalg-to-std pass (NFC) (#171979)
Commit: 1d7bfb752f7f35180c8a84d067b1715610bf0c39
https://github.com/llvm/llvm-project/commit/1d7bfb752f7f35180c8a84d067b1715610bf0c39
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
Log Message:
-----------
[SafeStack] Use getSigned() for negative value
Commit: 89c37fee25b033c89458088978d6298983a87683
https://github.com/llvm/llvm-project/commit/89c37fee25b033c89458088978d6298983a87683
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[WPD] Use getSigned() for offset
This offset is a signed int64_t which can take negative values.
Commit: 123d4d9b85e090a7e75e256a80a146ffcc8ac5c3
https://github.com/llvm/llvm-project/commit/123d4d9b85e090a7e75e256a80a146ffcc8ac5c3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
[AMGGPUInstCombine] Use getSigned() for frexp exponent
It may be negative.
Commit: 04ce013d7c87c361b14878b0038d41d37290151f
https://github.com/llvm/llvm-project/commit/04ce013d7c87c361b14878b0038d41d37290151f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestTimes.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/filter-failed/fail.txt
A llvm/utils/lit/tests/Inputs/filter-failed/lit.cfg
A llvm/utils/lit/tests/Inputs/filter-failed/pass.txt
A llvm/utils/lit/tests/Inputs/filter-failed/unresolved.txt
A llvm/utils/lit/tests/Inputs/filter-failed/xfail.txt
A llvm/utils/lit/tests/Inputs/filter-failed/xpass.txt
A llvm/utils/lit/tests/filter-failed-delete.py
A llvm/utils/lit/tests/filter-failed-rerun.py
A llvm/utils/lit/tests/filter-failed.py
Log Message:
-----------
Reapply "[llvm][lit] Add option to run only the failed tests" (#171588)
This reverts commit 3847648e84d2ff5194f605a8a9a5c0a5e5174939.
Relands https://github.com/llvm/llvm-project/pull/158043 which got
auto-merged on a revision which wasn't approved.
The only addition to the approved version was that we adjust how we set
the time for failed tests. We used to just assign it the negative value
of the elapsed time. But if the test failed with `0` seconds (which some
of the new tests do), we would mark it `-0`. But the check for whether
something failed checks for `time < 0`. That messed with the new
`--filter-failed` option of this PR. This was only an issue on Windows
CI, but presumably can happen on any platform. Happy to do this in a
separate PR.
---- Original PR
This patch adds a new --filter-failed option to llvm-lit, which when
set, will only run the tests that have previously failed.
Commit: 9c5744cbc8fb971778c5595bef45d3eb911863c9
https://github.com/llvm/llvm-project/commit/9c5744cbc8fb971778c5595bef45d3eb911863c9
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
Log Message:
-----------
[flang] add missing headers in ConvertVariable.h after #171501 (#171983)
Missing headers were caught by windows build bots:
-
https://lab.llvm.org/buildbot/#/builders/222/builds/817/steps/6/logs/stdio
-
https://lab.llvm.org/buildbot/#/builders/207/builds/10970/steps/5/logs/stdio
In #171501, I removed IterationSpace.h include from Utils.h, and
IterationSpace.h was itself including SymbolMap.h and FIRBuilder.h that
are required here.
Commit: b123b7059f5a392441e47b4cfe51293e47718d50
https://github.com/llvm/llvm-project/commit/b123b7059f5a392441e47b4cfe51293e47718d50
Author: Wenju He <wenju.he at intel.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/Headers/opencl-c.h
Log Message:
-----------
[NFC] Fix build error: multi-line comment in opencl-c.h (#171953)
Fix build error after enabling cl_ext_float_atomics in downstream target:
opencl-c.h:13798:80: error: multi-line // comment [-Werror,-Wcomment]
13798 | #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max) && \
Patch By: Jinsong Ji <jinsong.ji at intel.com>
Commit: 0deee8ca98ac5f789008ad054f63a578c6de05bb
https://github.com/llvm/llvm-project/commit/0deee8ca98ac5f789008ad054f63a578c6de05bb
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/docs/Modules.rst
Log Message:
-----------
Fix a typo in the Modules.rst doc.
Commit: e4733424bc9f8dd6df2f2f3e35e6c4477b8755d7
https://github.com/llvm/llvm-project/commit/e4733424bc9f8dd6df2f2f3e35e6c4477b8755d7
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Improve vector.transferx store-to-load-forwarding (#171840)
This patch changes the transfer_write -> transfer_read load store
forwarding canonicalization pattern to work based on permutation maps
and less on adhoc logic. The old logic couldn't canonicalize a simple
unit dim broadcast through transfer_write/transfer_read which is added
as a test in this patch.
This patch also details what would be needed to support cases which are
not yet implemented better.
Commit: c18d9eabd4d558601dba8cc4e3b89e8d32259fcf
https://github.com/llvm/llvm-project/commit/c18d9eabd4d558601dba8cc4e3b89e8d32259fcf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
Log Message:
-----------
[AArch64] Generalize bfdotq_lane patterns to work for f32/i32 duplanes (#171146)
This also removes an overly specific pattern that is redundant with this
change.
Fixes #170883
Commit: 80ec43d455a5e47ba005112cd2b2c447bb40c42c
https://github.com/llvm/llvm-project/commit/80ec43d455a5e47ba005112cd2b2c447bb40c42c
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
A clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
Log Message:
-----------
[CIR] Implement builtin reduce fadd/fmul/fmax/fmin (#171633)
New files are created to match the structure over at OGs
Commit: ad62c049b6796d555737512f255214fe99e51abc
https://github.com/llvm/llvm-project/commit/ad62c049b6796d555737512f255214fe99e51abc
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
Log Message:
-----------
[flang] add includes to AbstractConverter.h after #171501 (#171987)
Utils.h included StatementContext.h and FIRBuilder.h indirectly in AbstractConverter.h.
Makes these includes direct.
Commit: 54744bc0a608729cd09ca9c2d03474aa2be727b8
https://github.com/llvm/llvm-project/commit/54744bc0a608729cd09ca9c2d03474aa2be727b8
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA320.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
Log Message:
-----------
[LLVM][AArch64] Add "u" variants of sve.[s,u]hsub intrinsics (#170894)
Commit: f9a3076180bfa1ebffd518971eefd30939a5ced6
https://github.com/llvm/llvm-project/commit/f9a3076180bfa1ebffd518971eefd30939a5ced6
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
Log Message:
-----------
[clang-tidy] Fix some false negatives in `readability-redundant-typename` (#171947)
#169166 reported some false positives in this check. They stemmed from
the fact that it assumed `TypedefTypeLoc`s and `TagTypeLoc`s couldn't be
dependent. Turns out, this incorrect assumption leads to some false
*negatives* as well: https://godbolt.org/z/K6EvfrE6a. This PR fixes
those.
Commit: 975bda005ea42a0aa9920169d2709ae50b0fd527
https://github.com/llvm/llvm-project/commit/975bda005ea42a0aa9920169d2709ae50b0fd527
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
InstCombine: Add more ldexp by constant tests (#171976)
Commit: 6e47d4ef45f13d323687535da3411b642a5d4ab1
https://github.com/llvm/llvm-project/commit/6e47d4ef45f13d323687535da3411b642a5d4ab1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
Reapply "InstCombine: Fold ldexp with constant exponent to fmul" (#171895) (#171977)
Commit: 81a75b1af98ce3fc73907951d6a24e69626ddd10
https://github.com/llvm/llvm-project/commit/81a75b1af98ce3fc73907951d6a24e69626ddd10
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/test/CodeGen/X86/amx_tf32.c
M clang/test/CodeGen/X86/amx_tf32_api.c
M clang/test/CodeGen/X86/amx_tf32_errors.c
M clang/test/CodeGen/X86/amx_tf32_inline_asm.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Remove rest of AMX-TRANSPOSE (#171906)
This is a followup to https://github.com/llvm/llvm-project/pull/165556
I've missed some parts of amx-transpose during initial removal
Commit: 04b197599e73f55624d3514480a7f829343e5b61
https://github.com/llvm/llvm-project/commit/04b197599e73f55624d3514480a7f829343e5b61
Author: Ryutaro Okada <140468571+sakupan102 at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR] [Vector] Fix canonicalization for vector.scatter with tensor output (#168824)
Commit
https://github.com/llvm/llvm-project/commit/7e7ea9c5357efcdf9ba6bd7ea3669e607a9af400
added tensor support for scatter, but running the existing
canonicalization on tensors causes bugs, so we fix the canonicalization
with tensor output.
Closes https://github.com/llvm/llvm-project/issues/168695
---------
Signed-off-by: Ryutaro Okada <1015ryu88 at gmail.com>
Commit: df7b90b9dbf01e652e931f43f3717e567306c749
https://github.com/llvm/llvm-project/commit/df7b90b9dbf01e652e931f43f3717e567306c749
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Refactor `bugprone-branch-clone` (#171849)
Commit: 07eb9fa43f4f4503aac0d8ac79dadc3cae563230
https://github.com/llvm/llvm-project/commit/07eb9fa43f4f4503aac0d8ac79dadc3cae563230
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Dialect/LLVMIR/nvvm-mma-blockscale.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sparse-blockscale.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-tensor.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-tensor.mlir
Log Message:
-----------
[MLIR][NVVM] Support for dense and sparse MMA with block scaling (#170566)
This change adds dense and sparse MMA with block scaling intrinsics to
MLIR -> NVVM IR -> NVPTX flow. NVVM and NVPTX implementation is based on
PTX ISA 9.0.
Commit: 87b3bf5b6615e36722e480e9d29ed926d90de4ed
https://github.com/llvm/llvm-project/commit/87b3bf5b6615e36722e480e9d29ed926d90de4ed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll
Log Message:
-----------
ValueTracking: Add baseline test for fpclass handling of amdgcn.rsq (#171836)
Commit: e151434b0f059f844a4e4e73812083f5a34e6524
https://github.com/llvm/llvm-project/commit/e151434b0f059f844a4e4e73812083f5a34e6524
Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][InsertWaitCnts][NFC] Merge VMEM_ACCESS and VMEM_READ_ACCESS into a single event type (#171973)
Commit: 7d151cf170849d4f2481e1b09a4ec0a621303453
https://github.com/llvm/llvm-project/commit/7d151cf170849d4f2481e1b09a4ec0a621303453
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/source/API/SBFrame.cpp
Log Message:
-----------
[LLDB][NFC] Remove redundant target/process checks in SBFrame (#153258)
This is a follow up to https://github.com/llvm/llvm-project/pull/152020,
continuing the removal of now-redundant `if(process && target)` checks.
Since this causes a diff in every line of the affected functions, this
commit also uses the opportunity to create some helper functions and
reduce nesting of the affected methods by rewriting all pre-condition
checks as early returns, while remaining strictly NFC.
This has exposed some odd behaviors:
1. `SBFrame::GetVariables` has a variable `num_produced` which is
clearly meant to be incremented on every iteration of the loop but it is
only incremented once, after the loop. So its value is always 0 or
1. The variable now lives in `FetchVariablesUnlessInterrupted`.
2. `SBFrame::GetVariables` has an interruption mechanism for local
variables, but not for "recognized arguments". It's unclear if this is
by design or not, but it is now evident that there is a discrepancy
there.
3. In `SBFrame::EvaluateExpression` we only log some error paths, but
not all of them.
To stick to the strictly NFC nature of this patch, it does not address
any of these issues.
Commit: 66601d87345eeb26c50b3f8203acafee9a9cf7cd
https://github.com/llvm/llvm-project/commit/66601d87345eeb26c50b3f8203acafee9a9cf7cd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
A llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
Log Message:
-----------
[gn] port 4c6aa8fd8abe7e4f0 (clang/Analysis/Scalable)
Commit: 234c41413fba1655bb441dfe11a0c9d2414466de
https://github.com/llvm/llvm-project/commit/234c41413fba1655bb441dfe11a0c9d2414466de
Author: Nico Weber <thakis at chromium.org>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn] "port" 8e999e3d7857 (LLVM_ENABLE_IO_SANDBOX)
Commit: eb98089a26b8265be2cc3f78b488b98bc9e19db9
https://github.com/llvm/llvm-project/commit/eb98089a26b8265be2cc3f78b488b98bc9e19db9
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/ObjCopy/ConfigManager.cpp
A llvm/test/tools/llvm-objcopy/COFF/strip-preserve-mtime.test
Log Message:
-----------
[llvm-objcopy] Allow -p on COFF targets (#171237)
Binutils allows `-p`, which prevents it from modifying the timestamp.
`llvm-objcopy` already preserves the timestamp in the COFF header, so
the only missing piece is allowing the option in the config manager.
Commit: 1dbff713127ad97c118a9ce64b12d014d3252b01
https://github.com/llvm/llvm-project/commit/1dbff713127ad97c118a9ce64b12d014d3252b01
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/test/CIR/CodeGenOpenACC/routine-bind.c
M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
Log Message:
-----------
[OpenACC][CIR] 'bind' lowering with identifier (#171749)
The bind clause specifies the name of the function to call on the
device, and takes either a string or identifier(per the standard):
"If the name is specified as an identifier, it is callled as if the name
were specified in the language being compiled. If the name is specified
as a string, the string is used for the procedure name unmodified".
The latter (as a string) is already implemented, this patch implements
the former. Unfortunately, no existing implementation of this in C++
seems to exist. Other languages, the 'name' of a function is sufficient
to identify it (in this case 'bind' can refer to undeclared functions),
so it is possible to figure out what the name should be. In C++ with
overloading (without a discriminator, ala-fortran), a name only names an
infinite overload set.
SO, in order to implement this, I've decided that the 'called as'
(bound) function must have the same signature as the one marked by the
'routine'. This is trivially sensible in non-member functions, however
requires a bit more thought for member(and thus lambda-call-operators)
functions. In this case, we 'promote' the type of the function to a
'free' function by turning the implicit 'this' to an explicit 'this'.
I believe this is the most sensible and reasonable way to implement
this, and really the only way to make something usable.
Commit: ffac200e715cad2901b69b8aa5490bbf40d7edf9
https://github.com/llvm/llvm-project/commit/ffac200e715cad2901b69b8aa5490bbf40d7edf9
Author: Nico Weber <thakis at chromium.org>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
Log Message:
-----------
[gn] port 4e9e7c5816bc1
Commit: 099985fded94ce7d0413ed03da21cd827084f5e5
https://github.com/llvm/llvm-project/commit/099985fded94ce7d0413ed03da21cd827084f5e5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
Log Message:
-----------
[gn] port 3d1f04425a8fe
Commit: 1451f3d9b008c76d66c215e5fb4ec3dde0f0d6ca
https://github.com/llvm/llvm-project/commit/1451f3d9b008c76d66c215e5fb4ec3dde0f0d6ca
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/openmp-utils.cpp
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Use StylizedInstance in converted clauses (#171907)
Invent `StylizedInstance` class to store special variables together with
the instantiated expression in omp::clause::Initializer. This will
eliminate the need for visiting the original AST nodes in lowering to
MLIR.
Commit: 5ebb9285321157fe89496746d59b46fbc2480232
https://github.com/llvm/llvm-project/commit/5ebb9285321157fe89496746d59b46fbc2480232
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[mlir][amdgpu] Adds make_dma_gather_base (#171857)
* Adds `tdm_gather_base` type.
* Adds `make_dma_gather_base` op.
* Adds `make_dma_gather_base` lowering to ROCDL.
Commit: 42defcd39c4819c896ca09988fbdd6d4996ff46a
https://github.com/llvm/llvm-project/commit/42defcd39c4819c896ca09988fbdd6d4996ff46a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 48d942c7158a
Commit: 6f44be6f3e9fb6d373125b17b65bd6e09144b382
https://github.com/llvm/llvm-project/commit/6f44be6f3e9fb6d373125b17b65bd6e09144b382
Author: nerix <nerixdev at outlook.de>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/test/Shell/SymbolFile/NativePDB/Inputs/ast-types.lldbinit
M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp
Log Message:
-----------
[LLDB][NativePDB] Use original struct name when searching for constants (#166845)
We used to search for constants using the name we parsed. For C++, this
would mean using the demangled struct name (from the unique name). This
name is not always equal to the one used for the struct's name by the
compiler. For example:
```
0x105E | LF_STRUCTURE [size = 120, hash = 0xF38F] ``anonymous namespace'::Anonymous<A::B::C<void> >::D`
unique name: `.?AUD@?$Anonymous at U?$C at X@B at A@@@?A0x8C295248@@`
```
We would use the unique name and get to `(anonymous
namespace)::Anonymous<struct A::B::C<void>>::D`. Then, when finding the
constant in the field list, we'd search for `(anonymous
namespace)::Anonymous<struct A::B::C<void>>::D::StaticMember`. This
wouldn't yield any results, because the constant will use the demangled
name as given by the compiler.
With this PR, we use the struct's name as given in the PDB and append
the member name.
Commit: 7d21334127fc5200effa77370e9e20f941418378
https://github.com/llvm/llvm-project/commit/7d21334127fc5200effa77370e9e20f941418378
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/test/Semantics/modfile73.f90
M flang/test/Semantics/num_images02.f90
M flang/test/Semantics/resolve102.f90
M flang/test/Semantics/resolve104.f90
M flang/test/Semantics/resolve33.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve70.f90
M flang/test/Semantics/resolve71.f90
M flang/test/Semantics/resolve72.f90
M flang/test/Semantics/resolve74.f90
M flang/test/Semantics/resolve75.f90
M flang/test/Semantics/resolve78.f90
M flang/test/Semantics/resolve79.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve83.f90
M flang/test/Semantics/resolve84.f90
M flang/test/Semantics/resolve86.f90
M flang/test/Semantics/resolve87.f90
M flang/test/Semantics/resolve88.f90
M flang/test/Semantics/resolve89.f90
M flang/test/Semantics/resolve90.f90
M flang/test/Semantics/resolve94.f90
M flang/test/Semantics/separate-mp01.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/this_image02.f90
Log Message:
-----------
[flang][NFC] Strip trailing whitespace from tests (12 of 14)
Only some fortran sourcefiles in flang/test/Semantics have been
modified. The remaining files will be cleaned up in subsequent commits.
Commit: 3a04e01f347e24a9d4bda2163c33a356e697ee37
https://github.com/llvm/llvm-project/commit/3a04e01f347e24a9d4bda2163c33a356e697ee37
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
A libc/src/__support/wctype/lower_to_upper.inc
A libc/src/__support/wctype/upper_to_lower.inc
A libc/utils/wctype_utils/README.rst
A libc/utils/wctype_utils/conversion/__init__.py
A libc/utils/wctype_utils/conversion/gen_conversion_data.py
A libc/utils/wctype_utils/conversion/hex_writer.py
A libc/utils/wctype_utils/gen.py
Log Message:
-----------
[libc][wctype][codegen] Add generation script for conversion data (#170868)
Closes #170871
Commit: 568ce76c6e8134ab9b631e357c134091d2fd4aa8
https://github.com/llvm/llvm-project/commit/568ce76c6e8134ab9b631e357c134091d2fd4aa8
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
A mlir/include/mlir/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.h
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.cpp
A mlir/test/Dialect/LLVMIR/use-default-visibility.mlir
Log Message:
-----------
[MLIR][LLVM] Add pass to update ops with default visibility (#171727)
To support the `-fvisibility=...` option in Flang, we need a pass to
rewrite all the global definitions in the LLVM dialect that have the
default visibility to have the specified visibility. This change adds
such a pass.
Note that I did not add an option for `visiblity=default`; I believe
this makes sense for compiler drivers since users may want to tack an
option on at the end of a compile line to override earlier options, but
I don't think it makes sense for this pass to accept
`visibility=default`--it would just be an early exit IIUC.
Commit: 95e6d23f24ecec1a0d63dab5bb497e368ec4257b
https://github.com/llvm/llvm-project/commit/95e6d23f24ecec1a0d63dab5bb497e368ec4257b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] combineHorizOpWithShuffle - ensure we handle undef elements from widened shuffle (#172014)
Since #170838 we no longer canonicalise away whole-lane shuffles of
horizontal ops, so we need to better handle cases where widened shuffle
masks might still contain undefs.
Fixes #172010
Commit: 7345233fb60198ec170791f418d5f1d5fc1a0e53
https://github.com/llvm/llvm-project/commit/7345233fb60198ec170791f418d5f1d5fc1a0e53
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/include/lldb/Host/Terminal.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/source/Host/common/DiagnosticsRendering.cpp
M lldb/source/Host/common/Terminal.cpp
M lldb/test/Shell/Commands/command-dwim-print.test
M lldb/test/Shell/Commands/command-expr-diagnostics.test
M lldb/test/Shell/Commands/command-options.test
M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp
Log Message:
-----------
[lldb] improve the heuristics for checking if a terminal supports Unicode (#171832)
This patch improves the way lldb checks if the terminal it's opened in
(if any) supports Unicode or not.
On POSIX systems, we check if `LANG` contains `UTF-8`.
On Windows, we always return `true` since we use the `WriteToConsoleW`
api.
This is a relanding of https://github.com/llvm/llvm-project/pull/168603.
The tests failed because the bots support Unicode but the tests expect
ASCII. To avoid different outputs depending on the environment the tests
are running in, this patch always force ASCII in the tests.
Commit: 7a43921af824ff39a4b9114dc9624f4ff008376d
https://github.com/llvm/llvm-project/commit/7a43921af824ff39a4b9114dc9624f4ff008376d
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-fixed-length-fptrunc.ll
Log Message:
-----------
[AArch64][SVE] Fix -msve-vector-bits=256 fixed width vector crash (#171776)
This adds tests for and fixes an issue where v8bf16 ISD::FP_ROUND v8f32
cannot be lowered when -msve-vector-bits=256.
Commit: 3ae5f2782e3cea9f0b19b86cf0b928e6e0adedf0
https://github.com/llvm/llvm-project/commit/3ae5f2782e3cea9f0b19b86cf0b928e6e0adedf0
Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 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:
-----------
[ROCDL] Added LDS barrier ops to ROCDL (gfx1250) (#171810)
Added `ds.atomic.barrier.arrive.rtn.b64` and
`ds.atomic.async.barrier.arrive.b64` to ROCDL. These are parts of the
LDS memory barrier concept in GFX1250. Also added alias analysis to
`global/flat` data prefetch ops. Extended rocdl tests.
Commit: ec1bf9c56250803b434220d24d5035c121de72fa
https://github.com/llvm/llvm-project/commit/ec1bf9c56250803b434220d24d5035c121de72fa
Author: David Stone <davidfromonline at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/include/clang/AST/VTableBuilder.h
M clang/lib/AST/VTableBuilder.cpp
Log Message:
-----------
Use `llvm::SmallVector` instead of `OwningArrayRef` in `VTableLayout`. (#168768)
This simplifies the code by removing the manual optimization for size ==
1, and also gives us an optimization for other small sizes.
Accept a `llvm::SmallVector` by value for the constructor and move it
into the destination, rather than accepting `ArrayRef` that we copy
from. This also lets us not have to construct a reference to the
elements of a `std::initializer_list`, which requires reading the
implementation of the constructor to know whether it's safe.
Also explicitly document that the constructor requires the input indexes
to have a size of at least 1.
Commit: 55c0e2e20f5b0d736bdd508d0a4c705c1bf3e796
https://github.com/llvm/llvm-project/commit/55c0e2e20f5b0d736bdd508d0a4c705c1bf3e796
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir
Log Message:
-----------
[AMDGPU] Add missing cases for V_INDIRECT_REG_{READ/WRITE}_GPR_IDX and V/S_INDIRECT_REG_WRITE_MOVREL (#171835)
A buildbot failure in https://github.com/llvm/llvm-project/pull/170323
when expensive checks were used highlighted that some of these patterns
were missing.
This patch adds `V_INDIRECT_REG_{READ/WRITE}_GPR_IDX` and
`V/S_INDIRECT_REG_WRITE_MOVREL` for `V6` and `V7` vector sizes.
Commit: 44c0469e5f5e7ff214690140a1142d4f05d782ce
https://github.com/llvm/llvm-project/commit/44c0469e5f5e7ff214690140a1142d4f05d782ce
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll
Log Message:
-----------
ValueTracking: Handle amdgcn.rsq intrinsic in computeKnownFPClass (#171837)
We have other target intrinsics already in ValueTracking functions,
and no access to TTI.
Commit: 66f2b6625e14c2b424304d2d4f0867eccb3f352b
https://github.com/llvm/llvm-project/commit/66f2b6625e14c2b424304d2d4f0867eccb3f352b
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
Log Message:
-----------
[lldb][nfc] Change ProcessGDBRemote::ParseMultiMemReadPacket signature (#172020)
Instead of returning an `Expected<vector<...>>` it now returns an Error,
and receives a vector argument to fill in. This will be useful to
support a change were ParseMultiMemReadPacket will be called multiple
times in a loop with the same vector; without this change, we would have
to concatenate vectors and copy memory around.
Commit: d7cbc7f9e465344dd326eaf6e5a6cfa90285ce8e
https://github.com/llvm/llvm-project/commit/d7cbc7f9e465344dd326eaf6e5a6cfa90285ce8e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
Log Message:
-----------
[lldb][InstrumentationRuntime] Run sanitizer utility expressions as C (#172019)
The utility expressions in the `InstrumentationRuntime` plugins are just
plain C code, but we run them as `ObjC++`. That meant we were doing
redundant work (like looking up decls in the Objective-C runtime). The
sanitizer tests sporadically time out while looking up function symbols
in the Objective-C runtime. This patch switches the expression language
to `C`.
Didn't find a great way of testing this other than looking at the
expression log.
rdar://165656320
Commit: 0570cab7c13f43145353b65f752a7df178a77f57
https://github.com/llvm/llvm-project/commit/0570cab7c13f43145353b65f752a7df178a77f57
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in IndexingUtils.cpp (NFC)
Commit: ff3dcd06a94ad1412d7e89b5c254adc2f1e8c3e4
https://github.com/llvm/llvm-project/commit/ff3dcd06a94ad1412d7e89b5c254adc2f1e8c3e4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/GlobalOpt/disable-globals-aa.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[GlobalOpt][profcheck] Mark as `unknown` the branch weights of global shrunk to boolean (#171530)
Commit: 4dbd16bb62ca18b0c588e2f387ac5cc94a782efb
https://github.com/llvm/llvm-project/commit/4dbd16bb62ca18b0c588e2f387ac5cc94a782efb
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add register bank legalization for buffer_load byte and short (#167798)
This patch adds register bank legalization support for buffer load byte
and short operations in the AMDGPU GlobalISel pipeline.
Commit: dbd0122cf5669e6affa9c7bca1a06b47210e2c38
https://github.com/llvm/llvm-project/commit/dbd0122cf5669e6affa9c7bca1a06b47210e2c38
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/choose-expr.cpp
Log Message:
-----------
[CIR] Add support the ChooseExpr for scalar (#171882)
Add support the ChooseExpr for scalar expr
Commit: b880428bf0fca4eef7460c440df19412863001c2
https://github.com/llvm/llvm-project/commit/b880428bf0fca4eef7460c440df19412863001c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] Cleanup check prefixes for any/zero_extend_vector_inreg_of_broadcast_from_memory.ll tests (#172043)
Remove all unused prefixes plus update_llc_test_checks.py will warn about prefix clashes, so we don't need fallback prefixes any more
Commit: 4ffd373e3853ebc00fb339611e215deab682a54c
https://github.com/llvm/llvm-project/commit/4ffd373e3853ebc00fb339611e215deab682a54c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M libcxx/src/CMakeLists.txt
M libcxx/test/CMakeLists.txt
M libcxxabi/test/CMakeLists.txt
M libunwind/test/CMakeLists.txt
Log Message:
-----------
[runtimes] Remove dependencies on cxx_experimental for test-suite installs (#171678)
This patch removes explicit dependencies on cxx_experimental for
installations that are local to the test suite. Such dependencies
are not required anymore from the test-suite installation targets
since the proper dependency is now encoded between cxx and
cxx_experimental.
Commit: 2af693bbec82860215284c70d290f89dcc7cafb6
https://github.com/llvm/llvm-project/commit/2af693bbec82860215284c70d290f89dcc7cafb6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
AMDGPU: Fix selection failure on bf16 inverse sqrt (#172044)
On !hasBF16TransInsts targets, an illegal rsq would form
and fail to select.
Commit: 9dc6f18a3e4f25d769ae17d875e25e3e5f2c70ec
https://github.com/llvm/llvm-project/commit/9dc6f18a3e4f25d769ae17d875e25e3e5f2c70ec
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvm/mbar_arrive.mlir
Log Message:
-----------
[MLIR][NVVM] Fix results-check for mbarrier Op (#171657)
This patch fixes the lowering of the newly
added mbarrier.arrive Op w.r.t return value.
(Follow-up of PR #170545)
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 44aec0e768d986aa026e352188baccb0cd529a50
https://github.com/llvm/llvm-project/commit/44aec0e768d986aa026e352188baccb0cd529a50
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/cxx-traits.cpp
Log Message:
-----------
[CIR] Add support for TypeTraitExpr with bool result (#171687)
Add support for the TypeTraitExpr with a boolean result
Commit: 1760effa337471d9944e26694bdcb7a60139a124
https://github.com/llvm/llvm-project/commit/1760effa337471d9944e26694bdcb7a60139a124
Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/AST/Decl.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/CodeGen/gcc_struct-msvc-todo-1.c
A clang/test/CodeGen/gcc_struct-msvc-todo-2.c
A clang/test/CodeGen/gcc_struct.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/mms-bitfields.c
M clang/test/Driver/ms-bitfields.c
M clang/test/Layout/itanium-union-bitfield.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/gcc_ms_struct.c
M clang/test/Sema/mms-bitfields.c
M clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang] Implement gcc_struct attribute on Itanium targets (#71148)
This commit implements gcc_struct attribute with the behavior similar to
one in GCC. Current behavior is as follows:
When ItaniumRecordLayoutBuilder is used, [[gcc_struct]] will locally
cancel the effect of -mms-bitfields on a record. If -mms-bitfields is
not supplied and is not a default behavior on a target, [[gcc_struct]]
will be a no-op. This should provide enough compatibility with GCC.
If C++ ABI is "Microsoft", [[gcc_struct]] will currently always produce
a diagnostic, since support for it is not yet implemented in
MicrosoftRecordLayoutBuilder. Note, however, that all the infrastructure
is ready for the future implementation.
In particular, check for default value of -mms-bitfields is moved from a
driver to ASTContext, since it now non-trivially depends on other
supplied flags. This also, unfortunately, makes it impossible to use
usual argument parsing for `-m{no-,}ms-bitfields`.
The patch doesn't introduce any backwards-incompatible changes, except
for situations when cc1 is called directly with `-mms-bitfields` option.
Work towards #24757
---------
Co-authored-by: Martin Storsjö <martin at martin.st>
Commit: c14c2561704c0c40983cda25ed952584c802d4bb
https://github.com/llvm/llvm-project/commit/c14c2561704c0c40983cda25ed952584c802d4bb
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-target-inlined-results.fir
Log Message:
-----------
[flang][TBAA] fix unsafe optional deref after #170908 (#172033)
PR #170908 introduced an unconditional dereference of the local target
variable name, but in rare cases (I am not sure this can be reproduced
without `-mllvm -inline-all` currently), such variable may not have a
uniq name on the alloca. For instance, this can happen after a call to a
function with TARGET character result is inlined. The alloca is a temp
on the caller side, that gets the TARGET attribute in the inlined scope
via the result name.
Commit: 8515ddaa2bf62b30b5b952265b3708ea4987c505
https://github.com/llvm/llvm-project/commit/8515ddaa2bf62b30b5b952265b3708ea4987c505
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/test/Shell/Commands/command-expr-diagnostics.test
Log Message:
-----------
[lldb] fix failing diagnostics test when Unicode is supported (#172038)
This patch fixes a test failure introduced by
https://github.com/llvm/llvm-project/pull/171832 due to a check which
was not properly updated.
Commit: 4ca2caeab6b69db284dc845f3cfded8e6c2c7a1c
https://github.com/llvm/llvm-project/commit/4ca2caeab6b69db284dc845f3cfded8e6c2c7a1c
Author: Alexander Johnston <14348472+Alexander-Johnston at users.noreply.github.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
A clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
A clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/DirectX/ddx_fine-errors.ll
A llvm/test/CodeGen/DirectX/ddx_fine.ll
A llvm/test/CodeGen/DirectX/ddy_fine-errors.ll
A llvm/test/CodeGen/DirectX/ddy_fine.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx_fine.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy_fine.ll
A llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
A llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
Log Message:
-----------
[HLSL] Implement ddx/ddy_fine intrinsics (#168874)
Implements the HLSL ddx_fine and ddy_fine intrinsics.
For the SPIRV backend the intrinsics are ensured to be unavailable in
opencl (as they require fragment execution stage).
Closes https://github.com/llvm/llvm-project/issues/99098
Closes https://github.com/llvm/llvm-project/issues/99101
Commit: b8816a4e833ede66dc365a55a4913406ce4f2ce4
https://github.com/llvm/llvm-project/commit/b8816a4e833ede66dc365a55a4913406ce4f2ce4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
R llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll
Log Message:
-----------
Revert "[AMDGPU][GlobalISel] Add register bank legalization for buffer_load byte and short (#167798)"
This reverts commit 4dbd16bb62ca18b0c588e2f387ac5cc94a782efb.
This was causing buildbot failures, including on premerge when running
check-llvm.
https://lab.llvm.org/buildbot/#/builders/185/builds/30323
Commit: 26ff16663777fc995e8c6b46fa2433610dab4f64
https://github.com/llvm/llvm-project/commit/26ff16663777fc995e8c6b46fa2433610dab4f64
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
A lldb/test/Shell/Expr/TestExprLanguageNote_NoDebug.cpp
Log Message:
-----------
[lldb][ClangExpressionParser] Emit more accurate language note for Objective-C++ fallback (#172047)
We fall back to `Objective-C++` when running C++ expressions in frames
that don't have debug-info. But we were missing a fallback note for this
situation. We would now print following note on expression error:
```
note: Possibly stopped inside system library, so speculatively enabled Objective-C. Ran expression as 'Objective C++'.
```
Commit: 366f3ac144a3d6c8d53ddf79f1391870f9a3663c
https://github.com/llvm/llvm-project/commit/366f3ac144a3d6c8d53ddf79f1391870f9a3663c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/concept-specialization.cpp
Log Message:
-----------
[CIR] Add support for the ConceptSpecializationExpr (#171824)
Add support for the ConceptSpecializationExpr
Commit: 5cdb757cc380f9cb655eca992a70234257ccd98d
https://github.com/llvm/llvm-project/commit/5cdb757cc380f9cb655eca992a70234257ccd98d
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[Delinearization] Remove `isKnownNonNegative` (#171817)
Delinearization has its own `isKnownNonNegative` function, which wraps
`ScalarEvolution::isKnownNonNegative` and adds additional logic. The
additional logic is that, for a pointer addrec `{a,+,b}`, if the pointer
has `inbounds` and both `a` and `b` are known to be non-negative, then
the addrec is also known non-negative (i.e., it doesn't wrap). This
reasoning is incorrect. If the GEP and/or load/store using the pointer
are not unconditionally executed in the loop, then the addrec can still
wrap. Even though no actual example has been found where this causes a
miscompilation (probably because the subsequent checks fail so the
validation also fails), simply replacing it with
`ScalarEvolution::isKnownNonNegative` is safer, especially it doesn't
cause any regressions in the existing tests.
Resolve #169811
Commit: ef21740781f8ddda04c51f93e8c9d4b31c797b97
https://github.com/llvm/llvm-project/commit/ef21740781f8ddda04c51f93e8c9d4b31c797b97
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll
Log Message:
-----------
[LoopPeel] Check for onlyAccessesInaccessibleMemory instead of llvm.assume in peelToTurnInvariantLoadsDereferenceable. (#171910)
onlyAccessesInaccessibleMemory can't alias with a load. This allows us
to ignore more intrinsics than llvm.assume.
Follow up from #171547
Commit: 858fa0e1edd8c6f512717de66bd20d647c68b9c8
https://github.com/llvm/llvm-project/commit/858fa0e1edd8c6f512717de66bd20d647c68b9c8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang/test/CIR/CodeGen/mms-bitfields.c
Log Message:
-----------
[CIR][NFC] Fix the mms-bitfields test file (#172060)
Fix the args in the mms-bitfields test file to be aligned with the same
test in classical codegen (clang/test/CodeGen/mms-bitfields.c). After
#71148 is merged
Commit: a0e7476be565a58b3dc698c5cd4d6aed82f3eb49
https://github.com/llvm/llvm-project/commit/a0e7476be565a58b3dc698c5cd4d6aed82f3eb49
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 568ce76c6e8134ab9b631e357c134091d2fd4aa8 (#172059)
Commit: 68535970ab9f328625162e2340e6589e9b2820d2
https://github.com/llvm/llvm-project/commit/68535970ab9f328625162e2340e6589e9b2820d2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[Delinearization] Fix unused variable from 5cdb757
Was only unused in an expression enabled at debug time.
Commit: 112a6126ef1ca616c953bf0d53ae5ce99da79ce6
https://github.com/llvm/llvm-project/commit/112a6126ef1ca616c953bf0d53ae5ce99da79ce6
Author: Seraphimt <svet58585 at mail.ru>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
Fixes non-functional changes found static analyzer (#171197)
As per @arsenm 's instructions, I've separated the non-functional
changes from https://github.com/llvm/llvm-project/pull/169958.
Afterwards I'll tackle the functional ones one by one. I hope I did
everything right this time.
Full descriptions in the article:
https://pvs-studio.com/en/blog/posts/cpp/1318/
3. Array overrun is possible.
The PVS-Studio warning: V557 Array overrun is possible. The value of
'regIdx' index could reach 31. VEAsmParser.cpp 696
10. Excessive check.
The PVS-Studio warning: V547 Expression 'IsLeaf' is always false.
PPCInstrInfo.cpp 419
11. Doubling the same check.
The PVS-Studio warning: V581 The conditional expressions of the 'if'
statements situated alongside each other are identical. Check lines:
5820, 5823. PPCInstrInfo.cpp 5823
15. Excessive check.
The PVS-Studio warning: V547 Expression 'i != e' is always true.
MachineFunction.cpp 1444
17. Excessive assignment.
The PVS-Studio warning: V1048 The 'FirstOp' variable was assigned the
same value. MachineInstr.cpp 1995
18. Excessive check.
The PVS-Studio warning: V547 Expression 'AllSame' is always true.
SimplifyCFG.cpp 1914
19. Excessive check.
The PVS-Studio warning: V547 Expression 'AbbrevDecl' is always true.
LVDWARFReader.cpp 398
Commit: ed42c81bd69c9fa1a389d1fb619f47871c548162
https://github.com/llvm/llvm-project/commit/ed42c81bd69c9fa1a389d1fb619f47871c548162
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Add JSON output to existing template tests (#171936)
clang-doc has some useful, preexisting tests for templates, so we'll
reuse them to cover more cases.
Commit: 53972216d1087552945e9a44f11b6a2a9d38a59c
https://github.com/llvm/llvm-project/commit/53972216d1087552945e9a44f11b6a2a9d38a59c
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M lldb/examples/python/templates/scripted_process.py
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
Log Message:
-----------
[lldb] Add arm32/thumb register layout to Scripted{Frame,Thread} (#172005)
Commit: fc60835a7c6c08dbf2e2cfd7c57312e853f11538
https://github.com/llvm/llvm-project/commit/fc60835a7c6c08dbf2e2cfd7c57312e853f11538
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-12-12 (Fri, 12 Dec 2025)
Changed paths:
M .github/workflows/upload-release-artifact/action.yml
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/epilogue-determination.s
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang/docs/Modules.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
A clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
A clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
A clang/test/CIR/CodeGen/choose-expr.cpp
A clang/test/CIR/CodeGen/concept-specialization.cpp
M clang/test/CIR/CodeGen/cxx-traits.cpp
M clang/test/CIR/CodeGen/mms-bitfields.c
M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
M clang/test/CIR/CodeGenOpenACC/routine-bind.c
M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
M clang/test/CIR/IR/func.cir
M clang/test/CIR/Lowering/eh-inflight.cir
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/X86/amx_tf32.c
M clang/test/CodeGen/X86/amx_tf32_api.c
M clang/test/CodeGen/X86/amx_tf32_errors.c
M clang/test/CodeGen/X86/amx_tf32_inline_asm.c
A clang/test/CodeGen/gcc_struct-msvc-todo-1.c
A clang/test/CodeGen/gcc_struct-msvc-todo-2.c
A clang/test/CodeGen/gcc_struct.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/mms-bitfields.c
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
A clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
A clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
M clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
M clang/test/DebugInfo/CXX/windows-dtor.cpp
A clang/test/Driver/hlsl_matrix_pack_order.hlsl
M clang/test/Driver/ms-bitfields.c
M clang/test/Layout/itanium-union-bitfield.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/module.modulemap
A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/msvc-vector-deleting-dtors.h
A clang/test/Modules/msvc-vector-deleting-destructors.cpp
M clang/test/Modules/vtable-windows.cppm
A clang/test/PCH/Inputs/msvc-vector-deleting-dtors.h
A clang/test/PCH/msvc-vector-deleting-destructors.cpp
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
A clang/test/Sema/gcc_ms_struct.c
M clang/test/Sema/mms-bitfields.c
M clang/test/SemaCXX/anonymous-struct.cpp
A clang/test/SemaCXX/gh134265.cpp
M clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
A clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
M clang/test/SemaObjCXX/arc-0x.mm
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/linux.cpp
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/checksum_test.cpp
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
M compiler-rt/lib/scudo/standalone/trusty.cpp
M compiler-rt/lib/scudo/standalone/trusty.h
M compiler-rt/lib/tsan/go/test.c
M compiler-rt/lib/tsan/rtl/tsan_trace.h
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/builtins/CMakeLists.txt
M flang/docs/OptionComparison.md
M flang/docs/index.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Lower/SymbolMap.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Lower/SymbolMap.cpp
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
A flang/test/Lower/OpenACC/acc-use-device-remapping.f90
M flang/test/Lower/OpenACC/acc-use-device.f90
M flang/test/Semantics/modfile73.f90
M flang/test/Semantics/num_images02.f90
M flang/test/Semantics/resolve102.f90
M flang/test/Semantics/resolve104.f90
M flang/test/Semantics/resolve33.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve70.f90
M flang/test/Semantics/resolve71.f90
M flang/test/Semantics/resolve72.f90
M flang/test/Semantics/resolve74.f90
M flang/test/Semantics/resolve75.f90
M flang/test/Semantics/resolve78.f90
M flang/test/Semantics/resolve79.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve83.f90
M flang/test/Semantics/resolve84.f90
M flang/test/Semantics/resolve86.f90
M flang/test/Semantics/resolve87.f90
M flang/test/Semantics/resolve88.f90
M flang/test/Semantics/resolve89.f90
M flang/test/Semantics/resolve90.f90
M flang/test/Semantics/resolve94.f90
M flang/test/Semantics/separate-mp01.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/this_image02.f90
M flang/test/Transforms/OpenACC/acc-implicit-data-derived-type-member.F90
A flang/test/Transforms/tbaa-target-inlined-results.fir
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/stdio_overlay.h
M libc/include/unistd.yaml
M libc/src/__support/RPC/rpc_server.h
A libc/src/__support/wctype/lower_to_upper.inc
A libc/src/__support/wctype/upper_to_lower.inc
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/writer.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/time/strftime.cpp
M libc/src/time/strftime_l.cpp
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getpagesize.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getpagesize.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/printf_core/writer_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getpagesize_test.cpp
M libc/utils/docgen/unistd.yaml
A libc/utils/wctype_utils/README.rst
A libc/utils/wctype_utils/conversion/__init__.py
A libc/utils/wctype_utils/conversion/gen_conversion_data.py
A libc/utils/wctype_utils/conversion/hex_writer.py
A libc/utils/wctype_utils/gen.py
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/specialized_algorithms.h
M libcxx/include/__cxx03/bitset
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__tree
M libcxx/include/bitset
M libcxx/include/map
M libcxx/include/optional
M libcxx/include/set
M libcxx/include/valarray
M libcxx/src/CMakeLists.txt
M libcxx/test/CMakeLists.txt
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
A libcxx/test/libcxx/numerics/numarray/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/optional/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/template.bitset/index_const.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass copy.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
M libcxxabi/test/CMakeLists.txt
M libunwind/test/CMakeLists.txt
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Host/Terminal.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBFrame.cpp
M lldb/source/Expression/ExpressionVariable.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Host/common/DiagnosticsRendering.cpp
M lldb/source/Host/common/Terminal.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/source/Target/ABI.cpp
A lldb/test/API/functionalities/expr-result-var/Makefile
A lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
A lldb/test/API/functionalities/expr-result-var/two-bases.cpp
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/Shell/Commands/command-dwim-print.test
M lldb/test/Shell/Commands/command-expr-diagnostics.test
M lldb/test/Shell/Commands/command-options.test
A lldb/test/Shell/Expr/TestExprLanguageNote_NoDebug.cpp
M lldb/test/Shell/SymbolFile/NativePDB/Inputs/ast-types.lldbinit
M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp
M llvm/CMakeLists.txt
M llvm/docs/CommandGuide/lit.rst
M llvm/include/llvm/Analysis/Delinearization.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Type.h
A llvm/include/llvm/Support/IOSandbox.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/ExpandFp.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Signals.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/Windows/Signals.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedA320.td
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/alias_mask_nosve.ll
M llvm/test/CodeGen/AArch64/alias_mask_scalable.ll
M llvm/test/CodeGen/AArch64/alias_mask_scalable_nosve2.ll
R llvm/test/CodeGen/AArch64/loop-dependence-mask-ccmp.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-fptrunc.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsub.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
A llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll
A llvm/test/CodeGen/DirectX/ddx_fine-errors.ll
A llvm/test/CodeGen/DirectX/ddx_fine.ll
A llvm/test/CodeGen/DirectX/ddy_fine-errors.ll
A llvm/test/CodeGen/DirectX/ddy_fine.ll
M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
M llvm/test/CodeGen/M68k/Control/non-cmov-switch.ll
M llvm/test/CodeGen/Mips/named-register-n32.ll
M llvm/test/CodeGen/Mips/named-register-n64.ll
M llvm/test/CodeGen/Mips/named-register-o32.ll
A llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx_fine.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy_fine.ll
A llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
A llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
M llvm/test/DebugInfo/Generic/namespace.ll
M llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
M llvm/test/DebugInfo/X86/dimodule-external-fortran.ll
M llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
M llvm/test/TableGen/RegClassByHwMode.td
A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/GlobalOpt/disable-globals-aa.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
A llvm/test/Transforms/LoopInterchange/large-nested-4d.ll
A llvm/test/Transforms/LoopInterchange/large-nested-6d.ll
M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
A llvm/test/Transforms/SROA/protected-field-pointer.ll
M llvm/test/tools/dsymutil/X86/modules-empty.m
A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_import.yaml
A llvm/test/tools/llvm-objcopy/COFF/strip-preserve-mtime.test
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
A llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/lit/lit/TestTimes.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/filter-failed/fail.txt
A llvm/utils/lit/tests/Inputs/filter-failed/lit.cfg
A llvm/utils/lit/tests/Inputs/filter-failed/pass.txt
A llvm/utils/lit/tests/Inputs/filter-failed/unresolved.txt
A llvm/utils/lit/tests/Inputs/filter-failed/xfail.txt
A llvm/utils/lit/tests/Inputs/filter-failed/xpass.txt
A llvm/utils/lit/tests/filter-failed-delete.py
A llvm/utils/lit/tests/filter-failed-rerun.py
A llvm/utils/lit/tests/filter-failed.py
M llvm/utils/profcheck-xfail.txt
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
A mlir/include/mlir/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/python/mlir/dialects/affine.py
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-blockscale.mlir
A mlir/test/Dialect/LLVMIR/nvvm-mma-sparse-blockscale.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
A mlir/test/Dialect/LLVMIR/use-default-visibility.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/Target/LLVMIR/nvvm/mbar_arrive.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-tensor.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-invalid.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-shared.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-tensor.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/python/dialects/affine.py
M mlir/test/python/ir/operation.py
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Merge branch 'main' into users/evelez7/clang-doc-class-templates-html
Compare: https://github.com/llvm/llvm-project/compare/58a5f5b96cb2...fc60835a7c6c
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