LLVM/project 85db723mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Add sqrt Ops (#197422)

Adds two NVVM dialect ops covering all 14 floating-point `sqrt` forms:

- `nvvm.sqrt` -- IEEE-compliant sqrt with explicit rounding mode
  (`sqrt.<RM>[.ftz].{f32,f64}`), 12 forms.
- `nvvm.sqrt.approx` -- fast approximate sqrt (`sqrt.approx[.ftz].f32`),
  2 forms; uses the `NVVM_F32UnaryApproxOp` base class.

The two ops are split because the rounded forms require an explicit rounding mode and support both f32 and f64, while the approx forms have no rounding mode and are f32-only.
DeltaFile
+58-0mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+47-0mlir/test/Target/LLVMIR/nvvm/sqrt/sqrt.mlir
+35-0mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+17-0mlir/test/Target/LLVMIR/nvvm/sqrt/sqrt_invalid.mlir
+157-04 files

LLVM/project c9a79d5llvm/lib/MC MCAsmStreamer.cpp MCTargetOptionsCommandFlags.cpp, llvm/test/tools/llvm-mc show-source-loc.s

[𝘀𝗽𝗿] initial version

Created using spr 1.3.8-beta.1
DeltaFile
+51-0llvm/test/tools/llvm-mc/show-source-loc.s
+40-0llvm/lib/MC/MCAsmStreamer.cpp
+7-0llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
+6-0llvm/tools/llvm-mc/llvm-mc.cpp
+3-3llvm/lib/MC/MCTargetOptions.cpp
+5-0llvm/test/tools/llvm-mc/Inputs/show-source-loc.inc
+112-33 files not shown
+116-59 files

LLVM/project 8553a27flang-rt/test/Driver write01.f90

[flang-rt][test] Fix write01.f90 missing LD_LIBRARY_PATH (introduced in #187662)

The test binary was run without setting LD_LIBRARY_PATH, causing
libflang_rt.runtime.so to not be found at runtime. Match the pattern
used by exec.f90 and ctofortran.f90.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+2-1flang-rt/test/Driver/write01.f90
+2-11 files

LLVM/project d8e4096libc/src/__support/math pow.h, libc/test/src/math/smoke powf_test.cpp pow_test.cpp

[libc][math] Fix pow() subnormal base exponent computation (#198134)

For subnormal inputs, get_exponent() returns -1023. The code subtracted
64 after normalizing but didn't recompute e_x from the normalized value.
This set e_x to -1087 for every subnormal.

To fix, compute e_x from the normalized value.

powf() doesn't have this bug because it adds
`x_u >> FloatBits::FRACTION_LEN` to ex, where x_u is `x_u =
FloatBits(x).uintval();` with `x` being the normalized value. Added
subnormal base tests for powf to show that it works fine as-is.

Fixes #197212.
DeltaFile
+7-0libc/test/src/math/smoke/powf_test.cpp
+6-0libc/test/src/math/smoke/pow_test.cpp
+3-2libc/src/__support/math/pow.h
+16-23 files

LLVM/project 9a0ca63llvm/lib/DebugInfo/LogicalView/Readers LVDWARFReader.cpp LVCodeViewReader.cpp, llvm/unittests/DebugInfo/LogicalView DWARFReaderTest.cpp CMakeLists.txt

[llvm-debuginfo-analyzer] Fix missed 'else'  (LVCodeViewReader / LVDWARFReader) (#192923)

Issues found PVS studio static analyzer.
LVCodeViewReader.cpp. PR for #170117.

4. Potent UB: manipulation of invalid object.
The PVS-Studio warning: V519 The 'FeaturesValue' variable is assigned
values twice successively.

The original patch caused fail tests for linker error and it was reverted.
This PR include original (#188578) + necessary edit in CMakeList.

Committed on behalf of @Seraphimt
DeltaFile
+75-1llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
+3-5llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
+3-5llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
+1-0llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
+82-114 files

LLVM/project 1d05580flang/include/flang/Optimizer/Dialect/CUF/Attributes CUFAttr.h, flang/lib/Optimizer/Transforms CompilerGeneratedNames.cpp

[CUF] Fix CompilerGeneratedNamesConversion renaming managed companion globals

CUFAddConstructor creates a companion pointer global (e.g. foo.managed.ptr)
for each non-allocatable managed variable. When CompilerGeneratedNamesConversion
ran after CUFAddConstructor, it replaced the dots with 'X',
so CUFOpConversionLate could no longer find the companion by name and fell back
to CUFGetDeviceAddress with the wrong host pointer, causing cudaErrorInvalidSymbol.

Fix: mark the companion global with a cuf.managed_ptr unit attribute in
CUFAddConstructor and skip it in CompilerGeneratedNamesConversionPass.

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+51-0flang/test/Fir/CUDA/cuda-managed-ptr-companion.mlir
+7-0flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
+3-1flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
+2-2flang/test/Fir/CUDA/cuda-constructor-2.f90
+3-0flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
+66-35 files

LLVM/project 7f396dbllvm/lib/Target/BPF BPFTargetTransformInfo.h

[BPF] Remove getMaxNumArgs() from BPFTargetTransformInfo (#198223)

The function getMaxNumArgs() hardcoded the maximum number of function
arguments to 5. LLVM now supports more than 5 arguments with stack
argument support. Remove this leftover.
DeltaFile
+0-2llvm/lib/Target/BPF/BPFTargetTransformInfo.h
+0-21 files

LLVM/project 428cc16clang/lib/CIR/CodeGen CIRGenBuiltinRISCV.cpp, clang/test/CIR/CodeGenBuiltins/RISCV riscv-zbb.c

[CIR][RISCV] Support rest zbb builtin codegen (#196704)

Inlcude: __builtin_riscv_clz_32, __builtin_riscv_clz_64,
__builtin_riscv_ctz_32, __builtin_riscv_ctz_64.
DeltaFile
+57-21clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbb.c
+19-2clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
+76-232 files

LLVM/project 4887351mlir/lib/Dialect/Linalg/IR LinalgOps.cpp, mlir/test/Dialect/Linalg canonicalize.mlir

[mlir][linalg] Add splat transpose canonicalization patterns (#195991)

All elements in a dense splat are identical, transposing it only changes
the shape, but still maintaining the value. Add a pattern where it would
replace the `linalg.transpose` of a splat constant with a
`arith.constant` of the transposed result shape.

Assisted-by: Cursor (GPT-5.5)
DeltaFile
+51-0mlir/test/Dialect/Linalg/canonicalize.mlir
+38-1mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
+89-12 files

LLVM/project 8d3d611clang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplateInstantiate.cpp

[Clang] Instantiate ParmVarDecls on-demand for FunctionParmPackExpr (#196919)

This is missed when we implemented CWG2369, where their instantiations
should be built in place when they are needed.

Fixes #173086
DeltaFile
+16-0clang/test/SemaTemplate/concepts.cpp
+9-1clang/lib/Sema/SemaTemplateInstantiate.cpp
+1-0clang/docs/ReleaseNotes.rst
+26-13 files

LLVM/project ed24112llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-local.mir, llvm/test/CodeGen/Thumb2 mve-clmul.ll

Merge branch 'main' into users/shiltian/single-line-brace-rule
DeltaFile
+8,633-8,584llvm/test/CodeGen/Thumb2/mve-clmul.ll
+1,243-8,768llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
+0-4,752llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vlseg-vsseg.s
+4,549-0llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
+3,706-328llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+3,729-0llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
+21,860-22,4321,810 files not shown
+97,788-61,9281,816 files

LLVM/project ae15647llvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add Ptr2Int instrumentation support
DeltaFile
+82-0llvm/test/Instrumentation/Instrumentor/ptrtoint.ll
+29-0llvm/include/llvm/Transforms/IPO/Instrumentor.h
+28-0llvm/lib/Transforms/IPO/Instrumentor.cpp
+27-0llvm/test/Instrumentation/Instrumentor/ptrtoint_config.json
+21-0llvm/test/Instrumentation/Instrumentor/default_config.json
+187-05 files

LLVM/project 6554c6bllvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add Ptr2Int instrumentation support
DeltaFile
+82-0llvm/test/Instrumentation/Instrumentor/ptrtoint.ll
+29-0llvm/include/llvm/Transforms/IPO/Instrumentor.h
+28-0llvm/lib/Transforms/IPO/Instrumentor.cpp
+27-0llvm/test/Instrumentation/Instrumentor/ptrtoint_config.json
+21-0llvm/test/Instrumentation/Instrumentor/default_config.json
+187-05 files

LLVM/project e9122d1libcxx/include/__mdspan extents.h, libcxx/test/std/containers/views/mdspan/extents ctor_from_integral.pass.cpp

[libc++][mdspan] Add missing `std::move` in `std::extents` (#196574)

Without this fix, libc++ rejects this example:

```cpp
#include <mdspan>

struct RValueInt {
  constexpr operator int() && noexcept { return 0; }
};

int main() {
  std::extents<int, std::dynamic_extent> e(RValueInt{});
}
```
DeltaFile
+15-0libcxx/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp
+1-1libcxx/include/__mdspan/extents.h
+16-12 files

LLVM/project 13c66dcllvm/lib/Analysis MemoryBuiltins.cpp

[MemoryBuiltins] Consistently infer and use MallocFamily

MallocFamily (the enum and StringRef) are used alongside AllocFnsTy.
The latter is picked up from the tables while the former is encoded in
the IR. While they should be merged at some point (see TODO), this
commit makes sure we consistently initialize the MallocFamily String and
pass it to users.
DeltaFile
+28-12llvm/lib/Analysis/MemoryBuiltins.cpp
+28-121 files

LLVM/project f943c3dllvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add call instrumentation support

We can now instrument call instructions and extract information about
the arguments, (de)allocation, intrinsic kind, etc.
DeltaFile
+402-0llvm/test/Instrumentation/Instrumentor/call_allocation_deallocation.ll
+227-1llvm/lib/Transforms/IPO/Instrumentor.cpp
+139-0llvm/test/Instrumentation/Instrumentor/call_flags.ll
+77-0llvm/test/Instrumentation/Instrumentor/call_filters.ll
+60-0llvm/test/Instrumentation/Instrumentor/call_flags_config.json
+59-0llvm/include/llvm/Transforms/IPO/Instrumentor.h
+964-16 files not shown
+1,146-2612 files

LLVM/project e4673b1llvm/include/llvm/Analysis DependenceAnalysis.h, llvm/lib/Analysis DependenceAnalysis.cpp

[DA] Consolidate accumulating GCD functions (NFCI)
DeltaFile
+11-28llvm/lib/Analysis/DependenceAnalysis.cpp
+5-5llvm/include/llvm/Analysis/DependenceAnalysis.h
+16-332 files

LLVM/project 741a6f2clang/lib/AST ItaniumMangle.cpp

Revert "[Clang][ItaniumMangle][NFC] Refactor FunctionTypeDepthState (#196240)"

This reverts commit a2643354db14aaf892519e98bf450c3fc3701dfe.
DeltaFile
+42-28clang/lib/AST/ItaniumMangle.cpp
+42-281 files

LLVM/project 3e20d3dllvm/lib/Analysis DependenceAnalysis.cpp

[DA] Delete early return in accumulateCoefficientsGCD (NFCI) (#197935)

This patch resolved one TODO comment in `accumulateCoefficientsGCD`
regarding an early return. I think this early return doesn't change the
final result because:

- The presence/absence of this early return can only affect whether
`CurLoopCoeff` is set.
- Regardless the value of `CurLoopCoeff`, if `RunningGCD` equals 1, the
result of caller side while loop doesn't change.

Deleting this early return is somewhat beneficial, because it allows us
to merge `analyzeCoefficientsForGCD` into this function.
DeltaFile
+0-5llvm/lib/Analysis/DependenceAnalysis.cpp
+0-51 files

LLVM/project 813f2abllvm/test/CodeGen/Thumb2 mve-clmul.ll, llvm/test/CodeGen/X86 vector-replicaton-i1-mask.ll

Merge branch 'main' into users/kasuga-fj/da-resolve-todo-acc-gcd
DeltaFile
+1,243-8,768llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
+3,699-3,716llvm/test/CodeGen/Thumb2/mve-clmul.ll
+0-4,752llvm/test/tools/llvm-mca/RISCV/SiFiveP800/vlseg-vsseg.s
+4,549-0llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
+3,729-0llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
+3,149-0llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlseg-vsseg.test
+16,369-17,236850 files not shown
+69,835-48,750856 files

LLVM/project 77fbde0llvm/include/llvm/Analysis MemoryBuiltins.h, llvm/lib/Analysis MemoryBuiltins.cpp

[MemoryBuiltins][NFC] Clang format and fixed coding style
DeltaFile
+75-75llvm/lib/Analysis/MemoryBuiltins.cpp
+1-1llvm/include/llvm/Analysis/MemoryBuiltins.h
+76-762 files

LLVM/project dfdbb6cllvm/include/llvm/Analysis MemoryBuiltins.h, llvm/include/llvm/IR InstrTypes.h

[MemoryBuiltins][NFC] Allow users to retrieve detailed (de)allocation info

There are some helpers to inspect a value or call but not all
information about the (de)allocation are made available outside of
MemoryBuiltins.cpp. The two new functions allow users a more in-depth
view of (de)allocations through a single API. To help with this, we now
read the alloc_align attribute to provide better alignment information
to users. alloc-family is used as well. Two new helpers provide argument
numbers, rather than values.
DeltaFile
+97-33llvm/lib/Analysis/MemoryBuiltins.cpp
+42-0llvm/include/llvm/Analysis/MemoryBuiltins.h
+10-3llvm/lib/IR/Instructions.cpp
+4-0llvm/include/llvm/IR/InstrTypes.h
+153-364 files

LLVM/project 426b949llvm/lib/Analysis MemoryBuiltins.cpp

[MemoryBuiltins] Consistently infer and use MallocFamily

MallocFamily (the enum and StringRef) are used alongside AllocFnsTy.
The latter is picked up from the tables while the former is encoded in
the IR. While they should be merged at some point (see TODO), this
commit makes sure we consistently initialize the MallocFamily String and
pass it to users.
DeltaFile
+28-12llvm/lib/Analysis/MemoryBuiltins.cpp
+28-121 files

LLVM/project bb2d0d6llvm/include/llvm/Analysis MemoryBuiltins.h, llvm/include/llvm/IR InstrTypes.h

[MemoryBuiltins][NFC] Allow users to retrieve detailed (de)allocation info

There are some helpers to inspect a value or call but not all
information about the (de)allocation are made available outside of
MemoryBuiltins.cpp. The two new functions allow users a more in-depth
view of (de)allocations through a single API. To help with this, we now
read the alloc_align attribute to provide better alignment information
to users. alloc-family is used as well. Two new helpers provide argument
numbers, rather than values.
DeltaFile
+97-33llvm/lib/Analysis/MemoryBuiltins.cpp
+42-0llvm/include/llvm/Analysis/MemoryBuiltins.h
+10-3llvm/lib/IR/Instructions.cpp
+4-0llvm/include/llvm/IR/InstrTypes.h
+153-364 files

LLVM/project 59fbb7dllvm/lib/Analysis MemoryBuiltins.cpp

[MemoryBuiltins] Consistently infer and use MallocFamily

MallocFamily (the enum and StringRef) are used alongside AllocFnsTy.
The latter is picked up from the tables while the former is encoded in
the IR. While they should be merged at some point (see TODO), this
commit makes sure we consistently initialize the MallocFamily String and
pass it to users.
DeltaFile
+28-12llvm/lib/Analysis/MemoryBuiltins.cpp
+28-121 files

LLVM/project 13442edllvm/include/llvm/Analysis MemoryBuiltins.h, llvm/include/llvm/IR InstrTypes.h

[MemoryBuiltins][NFC] Allow users to retrieve detailed (de)allocation info

There are some helpers to inspect a value or call but not all
information about the (de)allocation are made available outside of
MemoryBuiltins.cpp. The two new functions allow users a more in-depth
view of (de)allocations through a single API. To help with this, we now
read the alloc_align attribute to provide better alignment information
to users. alloc-family is used as well. Two new helpers provide argument
numbers, rather than values.
DeltaFile
+97-33llvm/lib/Analysis/MemoryBuiltins.cpp
+42-0llvm/include/llvm/Analysis/MemoryBuiltins.h
+10-3llvm/lib/IR/Instructions.cpp
+4-0llvm/include/llvm/IR/InstrTypes.h
+153-364 files

LLVM/project 8f740a3clang-tools-extra/clang-tidy/misc StaticInitializationCycleCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/misc static-initialization-cycle.cpp

[clang-tidy] Fix crash in misc-static-initialization-cycle (#198155)

This commit fixes `misc-static-initialization-cycle` crashing on `catch
(...)`.

Catch-all handlers have no exception declaration, so traversal of
`CXXCatchStmt` can call `TraverseDecl(nullptr)`. The check previously
passed that null pointer to `DeclContext::containsDecl`. This commit
fixes the problem by adding a null guard.

Closes #198150
DeltaFile
+8-0clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
+1-1clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
+9-12 files

LLVM/project d191c2allvm/include/llvm/Analysis MemoryBuiltins.h, llvm/lib/Analysis MemoryBuiltins.cpp

[MemoryBuiltins][NFC] Clang format and fixed coding style
DeltaFile
+75-75llvm/lib/Analysis/MemoryBuiltins.cpp
+1-1llvm/include/llvm/Analysis/MemoryBuiltins.h
+76-762 files

LLVM/project e557242flang/lib/Semantics check-omp-structure.cpp check-omp-structure.h

[flang][OpenMP] Simplify checks for type-parameter inquiry

Remove the no longer needed IsDataRefTypeParamInquiry.
DeltaFile
+23-47flang/lib/Semantics/check-omp-structure.cpp
+2-1flang/lib/Semantics/check-omp-structure.h
+25-482 files

LLVM/project 3d3f4becompiler-rt/lib/sanitizer_common/tests sanitizer_stackdepot_test.cpp

[compiler-rt] Fix StackDepot benchmark thread barrier (#197633)

Use Param.Threads (number of worker threads) as barrier threshold
instead of Param.UniqueThreads (boolean that controls input generation).

This also silences
[-Wbool-integral-comparison](https://github.com/llvm/llvm-project/pull/194180)
warning I'm working on.
DeltaFile
+2-2compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
+2-21 files