LLVM/project 7e7cba2clang/lib/AST/ByteCode Context.h

[clang][bytecode][NFC] Don't check enum completeness in canClassify() (#217647)

This is not important here, only later in classify().
DeltaFile
+2-2clang/lib/AST/ByteCode/Context.h
+2-21 files

LLVM/project de20436lldb/source/Core DynamicLoader.cpp

[lldb] Consume the located result by rvalue reference (NFC) (#217667)

FinishSearch consumes the Expected it is handed, either taking the error
out of it or moving what the search found into the binary spec, and its
caller already hands over ownership with an explicit move. Taking it by
value move constructs 1.5 kB for nothing, where the signature can say
the same thing and copy nothing.

Reported by Coverity (CID 1685297).

Assisted-by: Claude
DeltaFile
+1-1lldb/source/Core/DynamicLoader.cpp
+1-11 files

LLVM/project 20da733clang/lib/Driver/ToolChains HIPUtility.cpp, clang/test/Driver hip-toolchain-no-rdc.hip hip-target-id.hip

clang: Emit legacy amdgcn triple in HIP fatbin bundle entries (#217640)

Unfortunate the HIP runtime is hardcoding the amdgcn-amd-amdhsa-- 
prefix in the bundle ID checks, so force these to the legacy name
regardless of the active triple. Hopefully clr will stop hardcoding these so 
we  can drop this at some point.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+8-6clang/lib/Driver/ToolChains/HIPUtility.cpp
+12-0clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+3-3clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
+3-3clang/test/Driver/hip-toolchain-no-rdc.hip
+3-3clang/test/Driver/hip-target-id.hip
+2-2clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
+31-176 files not shown
+37-2312 files

LLVM/project 674c6f4libc/src/__support/FPUtil/generic add_sub.h

[libc] Fix add_sub for Emulated Types (#217344)

Co-authored-by: OverMighty <its.overmighty at gmail.com>
DeltaFile
+4-1libc/src/__support/FPUtil/generic/add_sub.h
+4-11 files

LLVM/project 51e138fclang-tools-extra/docs/clang-tidy/checks/altera single-work-item-barrier.md struct-pack-align.md, clang-tools-extra/docs/clang-tidy/checks/boost use-ranges.md

[clang-tidy][docs] Rewrite check docs in six modules to Markdown
DeltaFile
+187-188clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.md
+154-155clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.md
+71-73clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.md
+38-39clang-tools-extra/docs/clang-tidy/checks/altera/struct-pack-align.md
+34-36clang-tools-extra/docs/clang-tidy/checks/altera/single-work-item-barrier.md
+31-33clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.md
+515-5244 files not shown
+620-63310 files

LLVM/project 7264cf5clang-tools-extra/docs/clang-tidy/checks/altera unroll-loops.rst unroll-loops.md, clang-tools-extra/docs/clang-tidy/checks/boost use-ranges.rst use-ranges.md

[clang-tidy][docs] Rename check docs in six modules to Markdown
DeltaFile
+0-202clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
+202-0clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.md
+0-187clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
+187-0clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.md
+0-105clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.rst
+105-0clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.md
+494-49414 files not shown
+838-83820 files

LLVM/project 0d1770fclang/include/clang/Analysis/FlowSensitive DataflowEnvironment.h, clang/lib/Analysis/FlowSensitive Transfer.cpp DataflowEnvironment.cpp

[clang][dataflow] Handle when `this` refers to a different location (#146900)

When `this` is under a CXXDefaultInitExpr it could refer to the location
of an InitListExpr object instead of the `this` of a member function.
E.g.:
```
struct S {
  int x;
  int y = this->x;
};
struct R {
  int foo() {
    // `this` for `a` refers to an R, but `this`
    // for `x` refers to an S.
    return S{this->a}.y;
  }
  int a;
};
```

    [2 lines not shown]
DeltaFile
+222-0clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
+134-0clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
+41-0clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
+21-0clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
+1-1clang/lib/Analysis/FlowSensitive/Transfer.cpp
+419-15 files

LLVM/project 43f21cbclang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGen ubsan-function.cpp ubsan-function-sugared.cpp

clang: Emit "target-abi" module flag for ARM

Previously only RISCV emitted the "target-abi" module flag.
We probably should just generally emit this for non-empty ABI names
but that's a broader behavior change. I'm also confused because the
clang side defines a non-empty value for many targets with no apparent
use in llvm.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+19-0clang/test/CodeGen/arm-target-abi-module-flag.c
+11-3clang/lib/CodeGen/CodeGenModule.cpp
+1-1clang/test/CodeGen/ubsan-function.cpp
+1-1clang/test/CodeGen/ubsan-function-sugared.cpp
+32-54 files

LLVM/project 6ced989llvm/include/llvm/CodeGen/GlobalISel IRTranslator.h, llvm/lib/CodeGen/GlobalISel IRTranslator.cpp

[GISel] Hold IRTranslatorImpl rather than recreating (#217440)

`IRTranslatorImpl` holds some state/data structures that are expensive
to fully recreate for each MF, so put it into a unique_ptr so we can use
a common implementation. Forward declare `IRTranslatorImpl` and define
constructors/operators in the source file so we can avoid needing to put
the definition of `IRTranslatorImpl` inside of `IRTranslator.h`. This
seems to resolve the performance regression observed in #216915.


https://llvm-compile-time-tracker.com/compare.php?from=9932f190f42e1a12c3cafea23938241abf6337ca&to=394a782c063f55377188044296c5911db45c9a38&stat=instructions:u

LLM assisted.
DeltaFile
+14-7llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+9-2llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
+23-92 files

LLVM/project db34fbeclang/lib/AST ASTDiagnostic.cpp, clang/test/SemaCXX cxx2a-nttp-printing.cpp

clang: Use the context printing policy in TemplateDiff (#217651)

TemplateDiff made a new PrintingPolicy instead of using ASTContext's.
Sema::getPrintingPolicy() tweaks ASTContext's, and sema template diffing
didn't pick up those changes.

Sema::getPrintingPolicy() does two things:

1. Something for bool vs _Bool for C (where template diffing doesn't
apply)

2. Set EntireContentsOfLargeArray to false

Before this patch, the latter had no effect in diff mode, meaning we the
same type printed differently in a diagnostic depending on if used
template diffing. Now they're consistent.

(This made no difference before https://reviews.llvm.org/D115031, which
probably just forgot to update this call site.)
DeltaFile
+6-12clang/lib/AST/ASTDiagnostic.cpp
+2-2clang/test/SemaCXX/cxx2a-nttp-printing.cpp
+8-142 files

LLVM/project 8b3b867llvm/lib/Target/PISA PISAAsmPrinter.cpp

Formatting fix
DeltaFile
+2-1llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+2-11 files

LLVM/project 489da48llvm/lib/Target/PISA CMakeLists.txt PISAAsmPrinter.cpp, llvm/test/CodeGen/PISA unreachable.ll return.ll

Add PISA AsmPrinter

Add PISAAsmPrinter to complete the codegen pipeline with end-to-end code
emission.
DeltaFile
+933-0llvm/lib/Target/PISA/PISAAsmPrinter.cpp
+352-0llvm/test/CodeGen/PISA/store.ll
+350-0llvm/test/CodeGen/PISA/load.ll
+37-0llvm/test/CodeGen/PISA/return.ll
+14-0llvm/test/CodeGen/PISA/unreachable.ll
+1-0llvm/lib/Target/PISA/CMakeLists.txt
+1,687-06 files

LLVM/project 3d8e08fclang/test/CodeGenCXX static-init-3.cpp

[clang][test] Fix misspelled FileCheck prefix in static-init-3.cpp (#217628)

`clang/test/CodeGenCXX/static-init-3.cpp` uses `FileCheck %s` (prefix
`CHECK`) but the second instance line was `// CHECJ:`. That prefix is
undefined, so the check never ran.

Fixes one of the misspelled prefixes listed in #94108.

Assisted-by: Grok (xAI)
DeltaFile
+1-1clang/test/CodeGenCXX/static-init-3.cpp
+1-11 files

LLVM/project 60faf06flang/lib/Optimizer/Transforms FIRToSCF.cpp, flang/test/Fir/FirToSCF do-extra.fir normalize.fir

Revert "[flang][FIRToSCF] Recompute a typed induction variable in closed form (#217051)" (#217654)

This reverts commit de79344abe04cab8fe538cdd0f975f78d941cd24.

This caused regressions in some internal tests, so reverting for now.
DeltaFile
+19-85flang/test/Fir/FirToSCF/do-loop.fir
+19-20flang/lib/Optimizer/Transforms/FIRToSCF.cpp
+4-4flang/test/Fir/FirToSCF/normalize.fir
+3-3flang/test/Fir/FirToSCF/do-extra.fir
+45-1124 files

LLVM/project daf063fclang/lib/AST/ByteCode PrimType.h Compiler.cpp, clang/test/SemaCXX microsoft-constexpr2.cpp microsoft-constexpr.cpp

[clang] Add support for relaxed constexpr evaluation to interpreter (#217311)

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
DeltaFile
+16-3clang/lib/AST/ByteCode/Interp.cpp
+4-1clang/lib/AST/ByteCode/State.cpp
+3-1clang/lib/AST/ByteCode/Compiler.cpp
+2-0clang/lib/AST/ByteCode/PrimType.h
+1-0clang/test/SemaCXX/microsoft-constexpr2.cpp
+1-0clang/test/SemaCXX/microsoft-constexpr.cpp
+27-52 files not shown
+29-58 files

LLVM/project 57ccca6libsycl/src/detail program_manager.cpp

[libsycl][NFC] Fix no previous prototype for getDeviceKernelInfo warning (#217417)
DeltaFile
+1-0libsycl/src/detail/program_manager.cpp
+1-01 files

LLVM/project 32e8d58libsycl/docs index.md, libsycl/src/detail queue_impl.cpp

[libsycl] Enable host-to-host memcpy (#217366)

The functionality is now supported by liboffload.
DeltaFile
+5-14libsycl/src/detail/queue_impl.cpp
+3-8libsycl/unittests/queue/memcpy.cpp
+1-7libsycl/test/usm/memcpy.cpp
+0-2libsycl/docs/index.md
+9-314 files

LLVM/project e47b6d1libsycl/src/detail program_manager.cpp

[libsycl] Fix debug build error caused by RTTI option mismatch (#210997)

Fixes an undefined reference to typeinfo for `llvm::ErrorInfoBase`
during a debug build of libsycl.
DeltaFile
+2-2libsycl/src/detail/program_manager.cpp
+2-21 files

LLVM/project 618d9e2mlir/lib/Dialect/SparseTensor/Transforms SparseTensorRewriting.cpp SparseReinterpretMap.cpp, mlir/test/Dialect/SparseTensor encoding_with_symbols.mlir sparse_foreach.mlir

[MLIR][SparseTensor] Reject unsupported symbolic demapping (#217476)

Symbolic maps cannot be lowered without runtime symbol operands. Decline
the demapping rewrites before they create invalid reinterpretations, and
report a legalization failure instead of asserting.

Assisted-by: Codex
DeltaFile
+18-0mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
+13-0mlir/test/Dialect/SparseTensor/sparse_foreach.mlir
+10-0mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
+3-4mlir/test/Dialect/SparseTensor/encoding_with_symbols.mlir
+2-0mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
+46-45 files

LLVM/project dabb97alibsycl/unittests/mock helpers.cpp

[libsycl][Unit][NFC] Fix unused lambda capture warnings (#217418)
DeltaFile
+40-41libsycl/unittests/mock/helpers.cpp
+40-411 files

LLVM/project b35f809mlir/test/Dialect/SparseTensor sparse_out.mlir sparse_kernels.mlir

[MLIR][SparseTensor] Enable strict property assembly format (#217292)

Enable strict property assembly format mode for the SparseTensor
dialect. Spell level, dimension, sort, and iteration-order properties
directly in declarative assembly formats while dropping unneeded
property dictionaries from formats that already cover their inherent
attributes.

Refresh SparseTensor dialect and integration tests so those properties
use direct syntax while ordinary attributes remain in attr-dict.

Assisted-by: Codex
DeltaFile
+77-77mlir/test/Dialect/SparseTensor/sparse_2d.mlir
+53-53mlir/test/Dialect/SparseTensor/sparse_3d.mlir
+49-49mlir/test/Dialect/SparseTensor/sparse_1d.mlir
+39-39mlir/test/Dialect/SparseTensor/sparse_concat.mlir
+28-28mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
+26-26mlir/test/Dialect/SparseTensor/sparse_out.mlir
+272-27252 files not shown
+555-54958 files

LLVM/project e1acefbllvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OMPIRBuilder] Prevent dangling InsertPt in IRBuilder. (#148887)

There are places in `PostOutlineCB` callbacks where the instruction is
deleted while `InsertPt` in the `IRBuilder` pointed to it causing a
dangling `InsertPt`. This PR fixes that by ensuring that the `InsertPt`
is always valid.

This fixes the sanitizer fail that was seen in
https://github.com/llvm/llvm-project/pull/148284.
DeltaFile
+7-2llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+7-21 files

LLVM/project b89abebllvm/lib/Target/AMDGPU SIFoldOperands.cpp, llvm/test/CodeGen/AMDGPU redundant-and.mir

AMDGPU: Fix null dereference folding a redundant AND with an undef source

Co-Authored-By: Claude claude-opus-4.8 <noreply at anthropic.com>
DeltaFile
+42-0llvm/test/CodeGen/AMDGPU/redundant-and.mir
+2-0llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+44-02 files

LLVM/project a64bd8cllvm/lib/Target/PISA PISAKernelByValArgsLowering.cpp

Formatting fix
DeltaFile
+4-3llvm/lib/Target/PISA/PISAKernelByValArgsLowering.cpp
+4-31 files

LLVM/project 70d4135llvm/lib/Target/PISA CMakeLists.txt

Review fixes
DeltaFile
+1-1llvm/lib/Target/PISA/CMakeLists.txt
+1-11 files

LLVM/project 239b30ellvm/lib/Target/ARM ARMSubtarget.cpp ARMTargetMachine.cpp, llvm/test/CodeGen/ARM target-abi-module-flag-conflict.ll module-target-abi.ll

ARM: Read the ABI from the "target-abi" module flag (#217600)

This module flag is already used by RISCV, but ARM ignored it and
still exclusively relied on the -target-abi global option.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+30-0llvm/test/CodeGen/ARM/module-target-abi.ll
+21-0llvm/test/CodeGen/ARM/target-abi-module-flag-conflict.ll
+12-6llvm/unittests/Target/ARM/MachineInstrTest.cpp
+12-2llvm/lib/Target/ARM/ARMSubtarget.h
+11-1llvm/lib/Target/ARM/ARMTargetMachine.cpp
+6-5llvm/lib/Target/ARM/ARMSubtarget.cpp
+92-145 files not shown
+106-2111 files

LLVM/project 9c50412llvm/lib/Target/PISA PISALegalizeSubregAccess.cpp PISALegalizeCalls.cpp

Add PISA codegen pipeline and lowering passes

Add the IR- and MIR-level passes that make up the PISA code generation
pipeline and wire them into PISAPassConfig in PISATargetMachine:

- Intrinsic handling: PISAEmitIntrinsics, PISAExpandIntrinsics,
    PISAReplaceIntrinsics
- Call/ABI lowering: PISALegalizeCalls, PISAKernelByValArgsLowering
- IR preparation: PISAPropagateNullPointers, PISALayout, PISAConstProp
- Legalization/verification: PISALegalizePredicates, PISAVerifyTypes,
    PISAVerifier
- Post-selection: PISAScopeSelector, PISACacheHintSelector,
    PISALegalizeSubregAccess, PISAOptimizeSubregAccess,
    PISAOptimizeRedundantCopies, PISAMarkConvergentNoMerge,
    PISAInsertLifetimeStart

PISAPassConfig now overrides the GlobalISel and pre/post-regalloc hooks
to run these passes, disables the machine passes that assume physical
registers, and runs the load/store vectorizer and atomic expansion in

    [4 lines not shown]
DeltaFile
+994-0llvm/lib/Target/PISA/PISALegalizePredicates.cpp
+751-0llvm/lib/Target/PISA/PISAInsertLifetimeStart.cpp
+581-0llvm/lib/Target/PISA/PISALayout.cpp
+565-0llvm/lib/Target/PISA/PISAEmitIntrinsics.cpp
+505-0llvm/lib/Target/PISA/PISALegalizeCalls.cpp
+435-0llvm/lib/Target/PISA/PISALegalizeSubregAccess.cpp
+3,831-021 files not shown
+6,216-6527 files

LLVM/project 0f0e30fllvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG/AArch64 speculate-vector-phi-select-cost.ll

[SimplifyCFG] Cost speculated selects with their real scalar condition

validateAndCostRequiredSelects() priced the selects that speculativelyExecuteBB()
would create using CmpInst::makeCmpResultType(PN->getType()) as the condition
type. For a vector phi, that asks the target for the cost of a per-lane vector
select, but the select actually created uses the branch condition, which is
always a scalar i1.

This only changes behaviour where a target's cost model distinguishes the two
condition types. Of the targets checked, only AArch64 does.
DeltaFile
+6-16llvm/test/Transforms/SimplifyCFG/X86/speculate-mask-phi-select-cost.ll
+6-16llvm/test/Transforms/SimplifyCFG/RISCV/speculate-mask-phi-select-cost.ll
+8-3llvm/test/Transforms/SimplifyCFG/AArch64/speculate-vector-phi-select-cost.ll
+6-4llvm/test/Transforms/SimplifyCFG/ARM/speculate-vector-phi-select-cost.ll
+1-1llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+27-405 files

LLVM/project 803fc57lldb/source/Plugins/Language/CPlusPlus Generic.h CPlusPlusLanguage.cpp, lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/path Makefile main.cpp

[lldb] Add MSVC STL/libstdc++ formatter for std::filesystem::path (#217246)

Summarize `std::filesystem::path` from the stored path string. MSVC
keeps it in `_Text`; libstdc++ uses `_M_pathname` (type name
`std::filesystem::__cxx11::path`). Matching uses a regex that covers
both.

Tests: layout simulator plus a generic libstdc++/MSVC STL test.

Part of #24834

Assisted-by: Grok 4.6
Assisted-by: codex-5.6-high

---------

Co-authored-by: Bjorn Schobben <bjorn.schobben at aimsport.com>
DeltaFile
+52-0lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/path/TestDataFormatterStdPath.py
+27-0lldb/source/Plugins/Language/CPlusPlus/GenericFilesystem.cpp
+10-0lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/path/main.cpp
+4-0lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+3-0lldb/source/Plugins/Language/CPlusPlus/Generic.h
+3-0lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/path/Makefile
+99-01 files not shown
+100-07 files

LLVM/project 4a627c4llvm/test/Transforms/SimplifyCFG/AArch64 speculate-vector-phi-select-cost.ll, llvm/test/Transforms/SimplifyCFG/ARM speculate-vector-phi-select-cost.ll

[NFC][SimplifyCFG] Add tests for vector phi select costs in speculativelyExecuteBB
DeltaFile
+116-0llvm/test/Transforms/SimplifyCFG/X86/speculate-mask-phi-select-cost.ll
+90-0llvm/test/Transforms/SimplifyCFG/RISCV/speculate-mask-phi-select-cost.ll
+88-0llvm/test/Transforms/SimplifyCFG/ARM/speculate-vector-phi-select-cost.ll
+85-0llvm/test/Transforms/SimplifyCFG/AArch64/speculate-vector-phi-select-cost.ll
+379-04 files