LLVM/project e4d0b9eclang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.cpp, clang/test/Analysis/Scalable/ssaf-format list.test

address comments
DeltaFile
+16-15clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+12-17clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+1-1clang/test/Analysis/Scalable/ssaf-format/list.test
+29-333 files

LLVM/project 9085f74llvm/include/llvm/Support Parallel.h, llvm/lib/Support Parallel.cpp

[Support] Optimize parallel `TaskGroup` (#189196)

Two improvements to reduce `TaskGroup::spawn()` overhead:

1. Replace mutex-based `Latch::inc()` with atomic `fetch_add`. `dec()`
   retains the mutex to prevent a race where `sync()` observes Count==0
   and destroys the Latch while `dec()` is still running.

2. Pass `Latch&` through `Executor::add()` so the worker calls `dec()`
   directly, eliminating the wrapper lambda that previously captured
   both the user's callable and the Latch reference. This avoids one
   `std::function` construction and potential heap allocation per spawn.
DeltaFile
+30-23llvm/lib/Support/Parallel.cpp
+9-11llvm/include/llvm/Support/Parallel.h
+39-342 files

LLVM/project f8b0a8cclang/lib/CIR/CodeGen CIRGenAtomic.cpp, clang/test/CIR/CodeGen atomic-scoped.c

[CIR] Scoped atomic fetch uinc/dec (#189688)
DeltaFile
+38-0clang/test/CIR/CodeGen/atomic-scoped.c
+2-0clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
+40-02 files

LLVM/project 2b98f7fllvm/lib/Target/RISCV RISCVInsertVSETVLI.cpp

[RISCV] Slightly optimize insertVSETMTK. NFC (#189771)

Sink the hasTKOp and hasTMOp checks into the switch.
DeltaFile
+5-8llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
+5-81 files

LLVM/project 2f8c0cbllvm/lib/Target/RISCV RISCVVSETVLIInfoAnalysis.cpp

[RISCV] Use a switch default+llvm_unreachable instead of an assert. NFC (#189770)
DeltaFile
+2-2llvm/lib/Target/RISCV/RISCVVSETVLIInfoAnalysis.cpp
+2-21 files

LLVM/project 5891275llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis Propagating.ll exact-rdiv-addrec-wrap.ll

[DA] Check nsw flags for addrecs in gcd MIV test

This patch adds a check to ensure that every addrec have nsw flags
in gcd MIV test. If one of them doesn't have, the analysis bails
out. This check is necessary because the subsequent process in the
gcd MIV test assumes that they don't wrap.

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+3-3llvm/test/Analysis/DependenceAnalysis/Propagating.ll
+6-0llvm/lib/Analysis/DependenceAnalysis.cpp
+1-4llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll
+2-2llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
+12-94 files

LLVM/project f561217clang/docs ReleaseNotes.rst, clang/include/clang/APINotes Types.h

[APINotes][unsafe-buffer-usage] Add [[clang::unsafe_buffer_usage]] support in APINotes

Support the ``[[clang::unsafe_buffer_usage]]`` attribute in APINotes, e.g.,
```
    Functions:
      - Name: myUnsafeFunction
        UnsafeBufferUsage: true
```

rdar://171859135
DeltaFile
+23-0clang/test/APINotes/unsafe-buffer-usage.cpp
+9-0clang/docs/ReleaseNotes.rst
+8-0clang/lib/Sema/SemaAPINotes.cpp
+6-1clang/include/clang/APINotes/Types.h
+6-0clang/test/APINotes/Inputs/Headers/UnsafeBufferUsage.apinotes
+5-0clang/test/APINotes/Inputs/Headers/module.modulemap
+57-16 files not shown
+69-212 files

LLVM/project 3f2a9c6compiler-rt/lib/builtins int_math.h muldc3.c

[NFC][compiler-rt] Use __builtin_huge_val for CRT_INFINITY for double precision (#188197)
DeltaFile
+4-0compiler-rt/lib/builtins/int_math.h
+1-0compiler-rt/lib/builtins/muldc3.c
+5-02 files

LLVM/project bf50489llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/MC MCObjectFileInfo.cpp

[Psuedoprobe][MachO] Enable pseudo probes emission for MachO (#185758)

Enable pseudo probes emission for MachO. Due to the 16 character limit
of MachO segment and section, the file sections will be
`__PSEUDO_PROBE,__probes` and `__PSEUDO_PROBE,__probe_descs`.
DeltaFile
+136-0llvm/test/Transforms/SampleProfile/pseudo-probe-emit-macho.ll
+10-0llvm/lib/MC/MCObjectFileInfo.cpp
+3-0llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+2-0llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+1-0llvm/test/CodeGen/AArch64/O0-pipeline.ll
+1-0llvm/test/CodeGen/AArch64/O3-pipeline.ll
+153-06 files

LLVM/project c796ba6llvm/lib/Target/AMDGPU GCNRegPressure.cpp GCNRegPressure.h

Removed invert.
DeltaFile
+5-5llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
+2-2llvm/lib/Target/AMDGPU/GCNRegPressure.h
+7-72 files

LLVM/project c20e233llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 constant-based-reductions.ll

[SLP] Replace TrackedToOrig DenseMap with parallel SmallVector in reduction

Replace the DenseMap<Value*, Value*> TrackedToOrig with a SmallVector<Value*>
indexed in parallel with Candidates. This avoids hash-table overhead for the
tracked-value-to-original-value mapping in horizontal reduction processing.

Fixes #189686
DeltaFile
+38-32llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+34-0llvm/test/Transforms/SLPVectorizer/X86/constant-based-reductions.ll
+72-322 files

LLVM/project 5d624b5llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize non-widenable-intrinsics-outer-loop.ll noalias-scope-decl-outer-loop.ll

[VPlan] Stop outerloop vectorization from vectorizing nonvector intrinsics (#185347)

In outer-loop VPlan, avoid emitting vector intrinsic calls for intrinsics
without a vector form. In VPRecipeBuilder, detect missing vector intrinsic
mapping and emit scalar handling instead of a vector call.

Also fix assertion when `llvm.pseudoprobe` in VPlan's native path is being
treated as a `WIDEN-INTRINSIC`.

Reproducer: https://godbolt.org/z/GsPYobvYs
DeltaFile
+477-0llvm/test/Transforms/LoopVectorize/non-widenable-intrinsics-outer-loop.ll
+73-0llvm/test/Transforms/LoopVectorize/noalias-scope-decl-outer-loop.ll
+32-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+582-43 files

LLVM/project c19e28dllvm/include/llvm/IR Intrinsics.td, llvm/test CMakeLists.txt

[NFC][LLVM] Simplify `TypeInfoGen` in Intrinsics.td (#189278)

Eliminate `MappingRIdx` by making it an identity function. Currently,
`MappingRIdx` is used to map the index of an `llvm_any*` type in an
intrinsic type signature to its overload index. Eliminating this mapping
means that dependent types in LLVM intrinsic definitions (like
`LLVMMatchType` and its subclasses) should use the overload index to
reference the overload type that it depends on (and not the index within
the llvm_any* subset of overloaded types).

See
https://discourse.llvm.org/t/rfc-simplifying-intrinsics-type-signature-iit-info-generation-encoding-in-intrinsicemitter-cpp/90383
DeltaFile
+74-0llvm/test/TableGen/intrinsic-overload-dependent-type-validation.td
+44-26llvm/include/llvm/IR/Intrinsics.td
+2-3llvm/test/TableGen/intrinsic-arginfo-error.td
+1-1llvm/test/CMakeLists.txt
+121-304 files

LLVM/project cdce9cdutils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes b813b0b (#189759)

This fixes b813b0b4e485b0323b51071aca7a415b30c3aa6f.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project 051309fclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticCommonKinds.td

[Clang] [C++26] Expansion Statements (Part 11)
DeltaFile
+104-0clang/test/AST/ast-print-expansion-stmts.cpp
+49-0clang/test/AST/ast-dump-expansion-stmt.cpp
+0-4clang/include/clang/Basic/DiagnosticCommonKinds.td
+1-1clang/www/cxx_status.html
+1-0clang/docs/ReleaseNotes.rst
+155-55 files

LLVM/project 31365d3clang/include/clang/Basic DiagnosticSemaKinds.td LangOptions.def, clang/include/clang/Options Options.td

[Clang] [C++26] Expansion Statements (Part 10)
DeltaFile
+69-0clang/test/SemaCXX/cxx2c-expansion-stmts-limit.cpp
+18-0clang/lib/Sema/SemaExpand.cpp
+9-0clang/test/SemaCXX/cxx2c-fexpansion-statements.cpp
+4-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+4-0clang/include/clang/Options/Options.td
+1-0clang/include/clang/Basic/LangOptions.def
+105-01 files not shown
+106-07 files

LLVM/project 1a40e72clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema ScopeInfo.h

[Clang] [C++26] Expansion Statements (Part 9)
DeltaFile
+135-0clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
+38-9clang/lib/Sema/SemaLookup.cpp
+28-2clang/lib/Sema/SemaStmt.cpp
+9-2clang/lib/Parse/ParseStmt.cpp
+6-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+5-1clang/include/clang/Sema/ScopeInfo.h
+221-141 files not shown
+223-157 files

LLVM/project 1a69232clang/test/CodeGenCXX cxx2c-enumerating-expansion-statements.cpp cxx2c-iterating-expansion-stmt.cpp

[Clang] [C++26] Expansion Statements (Part 8)
DeltaFile
+1,518-0clang/test/CodeGenCXX/cxx2c-enumerating-expansion-statements.cpp
+548-0clang/test/CodeGenCXX/cxx2c-iterating-expansion-stmt.cpp
+493-0clang/test/CodeGenCXX/cxx2c-destructuring-expansion-stmt.cpp
+430-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-control-flow.cpp
+208-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-templates.cpp
+134-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-mangling.cpp
+3,331-03 files not shown
+3,372-39 files

LLVM/project c9bc317llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rv32p.ll

[RISCV][P-ext] Support i32 ushlsat on RV32. (#189730)

We have a sshl instruction on RV32 in the 0.21 spec. Unfortunately,
we don't have a SSLLI instruction, but we can put a constant shift
amount in a register.
DeltaFile
+67-0llvm/test/CodeGen/RISCV/rv32p.ll
+2-5llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+2-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+71-53 files

LLVM/project 89dec12lldb/include/lldb/Target Platform.h, lldb/source/Core Module.cpp

[lldb][Platform] Handle LoadScriptFromSymFile per-module FileSpec (#189696)

This patch changes the `Platform::LocateXXX` to return a map from
`FileSpec` to `LoadScriptFromSymFile` enum.

This is needed for https://github.com/llvm/llvm-project/pull/188722,
where I intend to set `LoadScriptFromSymFile` per-module.

By default the `Platform::LocateXXX` set the value to whatever the
target's current `target.load-script-from-symbol-file` is set to. In
https://github.com/llvm/llvm-project/pull/188722 we'll allow overriding
this per-target setting on a per-module basis.

Drive-by:
* Added logging when we fail to load a script.
DeltaFile
+69-84lldb/unittests/Platform/PlatformDarwinTest.cpp
+70-67lldb/unittests/Platform/PlatformTest.cpp
+18-12lldb/source/Target/Platform.cpp
+15-11lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+7-14lldb/source/Core/Module.cpp
+10-8lldb/include/lldb/Target/Platform.h
+189-1961 files not shown
+196-2007 files

LLVM/project b7dc4ffllvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

[TargetLowering] Replace always true if with an assert. NFC (#189750)

We already returned for UADDSAT/USUBSAT leaving SADDSAT/SSUBSAT as the
only opcodes that can get here.
DeltaFile
+26-26llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+26-261 files

LLVM/project b3af2f6llvm/lib/Target/AMDGPU GCNRegPressure.cpp GCNRegPressure.h

Added an SIRegisterInfo member to GCNRPTracker and its uses.
DeltaFile
+16-18llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
+7-5llvm/lib/Target/AMDGPU/GCNRegPressure.h
+23-232 files

LLVM/project d8e9e0allvm/include/llvm/Transforms/Vectorize/SandboxVectorizer VecUtils.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes LoadStoreVec.h

[SandboxVec][LoadStoreVec] Initial pass implementation (#188308)

This patch implements a new simple region pass that can vectorize
store-load chains.
DeltaFile
+320-0llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
+145-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
+81-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
+50-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
+24-2llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
+3-1llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
+623-34 files not shown
+628-310 files

LLVM/project 911dc41compiler-rt/test/asan/TestCases/Linux free_aligned_sized_mismatch.cpp

[compiler-rt][asan] Forward fix for free_aligned_sized_mismatch.cpp (#189760)

Mark this test as UNSUPPORTED for android since android's libc doesn't
seem to support aligned_alloc.
DeltaFile
+3-0compiler-rt/test/asan/TestCases/Linux/free_aligned_sized_mismatch.cpp
+3-01 files

LLVM/project f2f54b6llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rv32p.ll

[RISCV][P-ext] Support i32 avgfloors/avgflooru on RV32. (#189736)
DeltaFile
+50-0llvm/test/CodeGen/RISCV/rv32p.ll
+6-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+4-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+60-03 files

LLVM/project 6e82a24llvm/lib/Target/RISCV RISCVInstrInfoP.td RISCVInstrInfoXAIF.td, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISCV][P-ext] Rename simm8_unsigned/simm10_unsigned used PLUI/PLI. NFC (#188808)

Replace unsigned with plui or pli_b to better indicate their usage.

Templatize the render function and rename it addSExtImm instead of
addSImm*Unsigned.
DeltaFile
+23-25llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+7-14llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+2-0llvm/lib/Target/RISCV/RISCVInstrInfoXAIF.td
+32-393 files

LLVM/project b813b0bmlir/include/mlir/Dialect/MemRef/IR MemRefOps.td, mlir/lib/Dialect/MemRef/IR MemRefOps.cpp

[mlir][MemRef] Migrate memref dialect alias op folding to interface (#187168)

This PR adds code to FoldMemRefAliasOps / --fold-memref-alias-ops to use
the new IndexedMemoryAccessOpInterface and
IndexedMemCopyOpInterface and implement those operations for relevant
operations in the memref dialect.

This is a reordering of the changes planned in #177014 and #177016 to
make them more testable.

There are no behavior changes expected for how memref.load and
memref.store behave within the alias ops folding pass, though support
for new operations, like memref.prefetch, has been added.

Some error messages have been updated because certain laws of
memref.load/memref.store have been moved to IndexedAccessOpInterface.

Assisted-by: Claude 4.6 (helped deal with some of the boilerplate in the
rewrite patterns and with extracting the patch)
DeltaFile
+328-25mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+145-0mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
+81-18mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+36-8mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
+2-2mlir/test/Dialect/Linalg/invalid.mlir
+2-2mlir/test/Dialect/MemRef/invalid.mlir
+594-551 files not shown
+595-557 files

LLVM/project b0dfd5bcompiler-rt/lib/asan asan_errors.cpp asan_allocator.cpp, compiler-rt/test/asan/TestCases/Linux free_sized_mismatch.cpp free_aligned_sized_mismatch.cpp

Revert "[asan] Add size/alignment checks for free_[aligned_]sized (#189216)"

This reverts commit 78c5d68029c0507123de28ecbe242490ee487b16.
DeltaFile
+0-55compiler-rt/test/asan/TestCases/Linux/free_sized_mismatch.cpp
+0-47compiler-rt/test/asan/TestCases/Linux/free_aligned_sized_mismatch.cpp
+0-41compiler-rt/lib/asan/asan_errors.cpp
+10-20compiler-rt/lib/asan/asan_allocator.cpp
+0-20compiler-rt/lib/asan/asan_errors.h
+0-8compiler-rt/lib/asan/asan_report.cpp
+10-1912 files not shown
+10-1968 files

LLVM/project 14b666aclang/lib/Serialization ASTReader.cpp

cmt

Created using spr 1.3.7
DeltaFile
+2-0clang/lib/Serialization/ASTReader.cpp
+2-01 files

LLVM/project 96fd231flang/docs C++style.md

[flang] Add guidelines for referencing the Fortran Standard (#188591)

In response to [[RFC] Qualifying syntax rule numbers with Fortran
standard version in
comments](https://discourse.llvm.org/t/rfc-qualifying-syntax-rule-numbers-with-fortran-standard-version-in-comments/90167)
this PR adds a section on guidelines for referencing the Fortran
Standard.
DeltaFile
+12-0flang/docs/C++style.md
+12-01 files