LLVM/project 857baf3clang/lib/CIR/CodeGen/Targets AMDGPU.cpp, clang/test/CIR/CodeGenHIP amdgpu-attrs.hip

[CIR][AMDGPU] Set amdgpu_kernel calling convention on HIP kernels (#195381)
DeltaFile
+2-2clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
+2-1clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
+4-32 files

LLVM/project 8c77d07llvm/docs LangRef.rst

[LangRef] Clarify requirement for non-pow-2 align bundle (#195631)

Now that null pointers are not necessarily zero pointers, I believe that
`"align"` with a non-power-of-two alignment should be requiring a zero
pointer specifically, not a null pointer.

This is because a zero pointer is aligned for any alignment (which we
can generalize to non-power-of-two alignments), while a -1 null pointer
only has alignment 1.
DeltaFile
+1-1llvm/docs/LangRef.rst
+1-11 files

LLVM/project e319841mlir/include/mlir/Dialect/LLVMIR ROCDLOps.td, mlir/test/Dialect/LLVMIR rocdl.mlir

Fix MLIR
DeltaFile
+15-15mlir/test/Dialect/LLVMIR/rocdl.mlir
+15-15mlir/test/Target/LLVMIR/rocdl.mlir
+12-11mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+42-413 files

LLVM/project 39761abmlir/docs Tokens.md, mlir/include/mlir/IR CommonTypeConstraints.td BuiltinTypeInterfaces.td

[mlir][IR] Add builtin `TokenTypeInterface`
DeltaFile
+89-0mlir/docs/Tokens.md
+59-0mlir/test/IR/token-type-interface.mlir
+32-0mlir/test/lib/Dialect/Test/TestOps.td
+12-12mlir/test/Dialect/SparseTensor/invalid.mlir
+19-2mlir/include/mlir/IR/CommonTypeConstraints.td
+20-0mlir/include/mlir/IR/BuiltinTypeInterfaces.td
+231-1412 files not shown
+272-3818 files

LLVM/project 3b9f8f0clang/include/clang/Analysis AnalysisDeclContext.h, clang/lib/Analysis AnalysisDeclContext.cpp

[analyzer][NFC] Merge `BlockInvocationContext` class into `StackFrameContext` (#194857)

At the moment, the execution stack in the analyzer is represented with
the `LocationContext` base class and its two sub-classes
`StackFrameContext` and `BlockInvocationContext`. This hierarchy,
however, is more complicated than necessary and, in issue #190973, a
roadmap was created to reduce this hierarchy down to just a single
`StackFrame` class.

This patch implements the first five steps of that roadmap.
Specifically, the functionality of `BlockInvocationContext` was merged
into the `StackFrameContext` class and the `BlockInvocationContext`
class was removed together with its usages.
DeltaFile
+22-67clang/include/clang/Analysis/AnalysisDeclContext.h
+10-51clang/lib/Analysis/AnalysisDeclContext.cpp
+9-9clang/lib/StaticAnalyzer/Core/MemRegion.cpp
+7-10clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
+0-12clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
+1-1clang/lib/StaticAnalyzer/Core/CallEvent.cpp
+49-1506 files

LLVM/project d8e45b8libc/src/__support/FPUtil double_double.h, libc/src/__support/FPUtil/generic FMA.h

all floats
DeltaFile
+77-0libc/test/shared/shared_math_constexpr_test.cpp
+6-6libc/src/__support/FPUtil/double_double.h
+4-4libc/src/__support/math/powf.h
+4-4libc/src/__support/math/cbrt.h
+3-2libc/src/__support/FPUtil/generic/FMA.h
+2-2libc/src/__support/math/tanf.h
+96-1810 files not shown
+108-3016 files

LLVM/project 8442c9cclang/include/clang/Options Options.td

[clang][docs] Rename Hexagon HVX option section (#195560)

There were two `hexagon` sections in the docs, but the second one was
just the hvx flags so I renamed that one to `hexagon hvx`.

Fixes #194072
DeltaFile
+1-1clang/include/clang/Options/Options.td
+1-11 files

LLVM/project d323cfdlibc/src/__support/FPUtil double_double.h, libc/src/__support/FPUtil/generic FMA.h

all floats
DeltaFile
+77-0libc/test/shared/shared_math_constexpr_test.cpp
+6-6libc/src/__support/FPUtil/double_double.h
+4-4libc/src/__support/math/powf.h
+3-2libc/src/__support/FPUtil/generic/FMA.h
+2-2libc/src/__support/math/tanf.h
+2-2libc/src/__support/math/sinf.h
+94-169 files not shown
+104-2615 files

LLVM/project aeb14f7flang-rt/lib/runtime extensions.cpp environment.cpp, flang-rt/unittests/Runtime Time.cpp

[flang][flang-rt] Add support for non-standard TIMEF intrinsic (#185377)

TIMEF is an Intel intrinsic that returns the number of seconds since the
first time it is called, or zero. This PR adds support for the same.

Link to Intel's documentation:
https://www.intel.com/content/www/us/en/docs/fortran-compiler/developer-guide-reference/2025-3/timef.html

---------

Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>
DeltaFile
+53-0flang-rt/lib/runtime/extensions.cpp
+20-0flang-rt/unittests/Runtime/Time.cpp
+18-0flang/docs/Intrinsics.md
+15-0flang/test/Lower/Intrinsics/timef.f90
+13-0flang-rt/lib/runtime/environment.cpp
+8-0flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
+127-06 files not shown
+147-012 files

LLVM/project f507513libc/src/__support/FPUtil/generic FMA.h, libc/src/__support/math powf.h tanpif.h

all floats
DeltaFile
+77-0libc/test/shared/shared_math_constexpr_test.cpp
+4-4libc/src/__support/math/powf.h
+3-2libc/src/__support/FPUtil/generic/FMA.h
+2-2libc/src/__support/math/tanpif.h
+2-2libc/src/__support/math/tanf.h
+2-2libc/src/__support/math/sinf.h
+90-128 files not shown
+98-2014 files

LLVM/project c75e1e6llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 post-stores-non-inst-ops.ll

[SLP] Check for instruction before casting

Values can be transformed during earlier attempts for vectorization, so
need to check if they are still instructions to avoid a compiler crash.

Fixes #195607

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/195635
DeltaFile
+18-0llvm/test/Transforms/SLPVectorizer/X86/post-stores-non-inst-ops.ll
+5-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+23-42 files

LLVM/project 1949785llvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll

Merge branch 'main' into users/bassiounix/refactor/constexpr-math
DeltaFile
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+1,491-563llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
+1,334-623llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
+13,982-6,513286 files not shown
+25,300-13,462292 files

LLVM/project afb0a93libc/src/__support/math canonicalizef.h canonicalizef128.h, libc/test/shared shared_math_constexpr_test.cpp CMakeLists.txt

[libc][math] Qualify canonicalize functions to constexpr (#195630)

Signed-off-by: udaykiriti <udaykiriti624 at gmail.com>
DeltaFile
+30-0libc/test/shared/shared_math_constexpr_test.cpp
+6-0libc/test/shared/CMakeLists.txt
+1-1libc/src/__support/math/canonicalizef.h
+1-1libc/src/__support/math/canonicalizef128.h
+1-1libc/src/__support/math/canonicalizef16.h
+1-1libc/src/__support/math/canonicalizel.h
+40-42 files not shown
+42-68 files

LLVM/project 5f60066.github/workflows release-tasks.yml

Revert "workflows/release-tasks: Use app generated token for publishing lit releases" (#195632)

Reverts llvm/llvm-project#195312

Causes:

> (Line: 99, Col: 5): 'environment' is already defined
DeltaFile
+1-12.github/workflows/release-tasks.yml
+1-121 files

LLVM/project e69e7f4llvm/test/CodeGen/X86 vector-reduce-or-cmp.ll vector-reduce-and-bool.ll

[X86] vector-reduce-* - add 32-bit test coverage to the logic tests (#195627)
DeltaFile
+1,491-563llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
+1,334-623llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
+1,134-608llvm/test/CodeGen/X86/vector-reduce-or-bool.ll
+1,165-407llvm/test/CodeGen/X86/vector-reduce-and-scalar.ll
+953-619llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
+1,126-406llvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
+7,203-3,2263 files not shown
+8,946-3,9829 files

LLVM/project 8313977flang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP dyn-groupprivate-clause.f90

[flang][mlir] Add flang to mlir lowering for dyn_groupprivate
DeltaFile
+186-0flang/test/Lower/OpenMP/dyn-groupprivate-clause.f90
+68-0flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+18-0llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
+0-10flang/test/Lower/OpenMP/Todo/dyn-groupprivate-clause.f90
+4-2flang/lib/Lower/OpenMP/OpenMP.cpp
+3-1flang/lib/Lower/OpenMP/ClauseProcessor.h
+279-136 files

LLVM/project 29dfc68llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine select-ctpop-fold.ll

[InstCombine] Fold redundant select guards for ctpop (#195443)

Fixes #194207

Folds select patterns that guard ctpop for edge cases:
  `select (icmp ult X, 2), X, ctpop(X)`       --> `ctpop(X)`

These guards are unconditionally redundant since `ctpop(0)==0`,
`ctpop(1)==1` already.
DeltaFile
+94-0llvm/test/Transforms/InstCombine/select-ctpop-fold.ll
+10-0llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+104-02 files

LLVM/project d1e84bbclang/lib/Analysis ThreadSafetyCommon.cpp, clang/lib/Parse ParseDecl.cpp

Thread Safety Analysis: Support attributes on function pointers (#191187)

Allow acquire_capability, release_capability, requires_capability,
try_acquire_capability, assert_capability, and locks_excluded attributes
(incl. their shared variants) on function pointer variables and struct
fields. Calls through annotated function pointers are checked the same
way as direct function calls.

The attributes are placed on variable/field declarations, not on the
function pointer type itself. This is a deliberate trade-off: making
these "attributes" part of the type system would require diagnosing
mismatched assignments, which would be a significant type-system
extension with limited practical benefit, which would likely require
promoting the TSA vocabulary to full type-qualifiers. Instead, the
analysis trusts the annotations on the variable at the call site, and
sticks with the attribute-based semantics. This matches the existing
philosophy where the analysis tries to avoid false positives where
possible and attribute mismatches on direct functions are likewise not
hard errors or warnings (yet).

    [5 lines not shown]
DeltaFile
+140-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+104-33clang/test/SemaCXX/warn-thread-safety-parsing.cpp
+74-9clang/lib/Sema/SemaDeclAttr.cpp
+45-9clang/lib/Analysis/ThreadSafetyCommon.cpp
+34-9clang/lib/Parse/ParseDecl.cpp
+42-0clang/test/Sema/warn-thread-safety-analysis.c
+439-609 files not shown
+532-7215 files

LLVM/project 581c67alibc/src/__support/FPUtil Hypot.h, libc/src/__support/FPUtil/generic FMA.h

[libc][math] Qualify all math functions to be constexpr
DeltaFile
+78-7libc/test/shared/shared_math_constexpr_test.cpp
+10-8libc/src/__support/math/sincosf_utils.h
+9-9libc/src/__support/FPUtil/generic/FMA.h
+9-8libc/src/__support/math/exp.h
+4-4libc/src/__support/math/sinhfcoshf_utils.h
+4-4libc/src/__support/FPUtil/Hypot.h
+114-40122 files not shown
+280-184128 files

LLVM/project 37f16adllvm/lib/Target/Mips MipsSchedule.td MicroMips32r6InstrInfo.td

[MIPS] Remove InstrItinClass definitions and MipsSchedule.td  (#188010)

Align Mips Targets with the rest of Architectures.

---------

Co-authored-by: Uros Stajic <uros.stajic at htecgroup.com>
DeltaFile
+0-742llvm/lib/Target/Mips/MipsSchedule.td
+210-301llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td
+211-237llvm/lib/Target/Mips/MicroMipsInstrInfo.td
+205-225llvm/lib/Target/Mips/MipsInstrInfo.td
+194-209llvm/lib/Target/Mips/MipsInstrFPU.td
+158-192llvm/lib/Target/Mips/MipsDSPInstrInfo.td
+978-1,90622 files not shown
+1,720-2,87128 files

LLVM/project 81518d0llvm/test/Assembler dicompositetype-members.ll, llvm/test/DebugInfo/Generic verifier-invalid-disubprogram.ll

[DebugInfo] Verify DISubprogram has a type (#194556)

Require DISubprogram metadata to carry a non-null type in the verifier.

LangRef specifies that the `type:` field of `DISubprogram` points to a
`DISubroutineType`. This patch diagnoses malformed debug info where the
field is omitted or resolves to null, while preserving the existing wrong-type
diagnostic for non-DISubroutineType operands.

Update hand-written LLVM IR tests to use valid DISubprogram metadata
where they are not intentionally testing malformed debug info. These tests now 
use minimal DISubroutineType metadata so the new verifier check does not mask 
their original coverage.

Fixes #186557
DeltaFile
+74-35mlir/test/Target/LLVMIR/Import/debug-info.ll
+32-16mlir/test/Target/LLVMIR/llvmir-debug.mlir
+47-0llvm/test/Verifier/DISubprogram-type.ll
+23-21llvm/test/Transforms/SampleProfile/indirect-call.ll
+20-16llvm/test/Assembler/dicompositetype-members.ll
+18-16llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
+214-104108 files not shown
+667-357114 files

LLVM/project 15383dcllvm/lib/Transforms/Scalar EarlyCSE.cpp, llvm/test/Transforms/EarlyCSE memset-load.ll

[EarlyCSE] Support memset loads (#194268)

This PR addresses the zero-`memset` case in EarlyCSE as discussed in
#194080. If we do a `memset` of zero and then load back from the same
base pointer, we can fold that load to `null`.
DeltaFile
+92-0llvm/test/Transforms/EarlyCSE/memset-load.ll
+26-0llvm/lib/Transforms/Scalar/EarlyCSE.cpp
+118-02 files

LLVM/project a699b25clang/lib/AST/ByteCode Compiler.cpp Interp.h, clang/test/AST/ByteCode cxx14.cpp

[clang][bytecode] Check reference initializers for one-past-the-end pointers (#195501)
DeltaFile
+17-4clang/lib/AST/ByteCode/Compiler.cpp
+7-0clang/test/AST/ByteCode/cxx14.cpp
+5-0clang/lib/AST/ByteCode/Interp.h
+3-0clang/lib/AST/ByteCode/Opcodes.td
+32-44 files

LLVM/project 2507314mlir/include/mlir/Dialect/OpenMP OpenMPEnums.td OpenMPClauses.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[OpenMP][mlir] Add DynGroupPrivateClause in omp dialect (#153562)

- The `dyn_groupprivate` clause allows to dynamically allocate
group-private memory in OpenMP parallel regions, specifically for
`target` and `teams` directives.
- This clause enables runtime-sized private memory allocation and
applicable to target and teams ops.

This PR enables dyn_groupprivate clause in openmp mlir dialect and adds
it to Teams and Target ops. Also includes parser, printer and
verification for clause.
DeltaFile
+128-4mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+65-4mlir/test/Dialect/OpenMP/invalid.mlir
+44-0mlir/test/Target/LLVMIR/openmp-target-dyn-groupprivate.mlir
+37-3mlir/test/Dialect/OpenMP/ops.mlir
+38-0mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
+35-0mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
+347-115 files not shown
+412-2111 files

LLVM/project 0a70551flang/include/flang/Lower AbstractConverter.h, flang/lib/Lower Bridge.cpp

support device_type groupprivate lowering
DeltaFile
+21-3flang/lib/Lower/OpenMP/OpenMP.cpp
+22-0flang/test/Lower/OpenMP/groupprivate.f90
+19-1flang/include/flang/Lower/AbstractConverter.h
+11-0flang/lib/Lower/Bridge.cpp
+73-44 files

LLVM/project b19bd33libc/src/__support/FPUtil nearest_integer.h, libc/src/__support/FPUtil/generic FMA.h

[libc][math] Qualify all math functions to be constexpr
DeltaFile
+78-7libc/test/shared/shared_math_constexpr_test.cpp
+9-9libc/src/__support/FPUtil/generic/FMA.h
+10-8libc/src/__support/math/sincosf_utils.h
+9-8libc/src/__support/math/exp.h
+5-3libc/src/__support/FPUtil/nearest_integer.h
+4-4libc/src/__support/math/sincos_integer_utils.h
+115-39121 files not shown
+277-183127 files

LLVM/project 8b25820clang/lib/AST/ByteCode Interp.cpp Function.h, clang/test/AST/ByteCode records.cpp

[clang][bytecode] Diagnose copying empty mutable unions (#195529)

We had a special case for copy/move ctors of empty unions. Remove that.
Everything else is just so we don't regress diagnostics.
DeltaFile
+36-0clang/test/AST/ByteCode/records.cpp
+10-0clang/lib/AST/ByteCode/Interp.cpp
+8-1clang/lib/AST/ByteCode/Function.h
+4-3clang/lib/AST/ByteCode/Compiler.cpp
+0-5clang/lib/AST/ByteCode/InterpFrame.cpp
+2-1clang/lib/AST/ByteCode/Function.cpp
+60-106 files

LLVM/project a9a899dllvm/test/CodeGen/X86 vector-reduce-smin.ll vector-reduce-smax.ll

[X86] vector-reduce-* - add 32-bit test coverage to the minmax tests (#195617)

The horizontal-reduce-* tests already have 32-bit coverage but they will be retired soon.
DeltaFile
+2,928-1,388llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,924-1,389llvm/test/CodeGen/X86/vector-reduce-smax.ll
+2,677-1,279llvm/test/CodeGen/X86/vector-reduce-umax.ll
+2,628-1,271llvm/test/CodeGen/X86/vector-reduce-umin.ll
+11,157-5,3274 files

LLVM/project 9e59307libc/src/__support/math sqrtbf16.h dfmal.h

format
DeltaFile
+3-1libc/src/__support/math/sqrtbf16.h
+2-1libc/src/__support/math/dfmal.h
+2-1libc/src/__support/math/bf16fmal.h
+7-33 files

LLVM/project bfe538clibc/src/__support/FPUtil Hypot.h nearest_integer.h, libc/src/__support/FPUtil/generic FMA.h

[libc][math] Qualify all math functions to be constexpr
DeltaFile
+77-6libc/test/shared/shared_math_constexpr_test.cpp
+9-9libc/src/__support/FPUtil/generic/FMA.h
+10-8libc/src/__support/math/sincosf_utils.h
+9-8libc/src/__support/math/exp.h
+4-4libc/src/__support/FPUtil/Hypot.h
+5-3libc/src/__support/FPUtil/nearest_integer.h
+114-38120 files not shown
+271-181126 files