LLVM/project f1ec06cclang/lib/CIR/CodeGen CIRGenBuiltinRISCV.cpp, clang/test/CIR/CodeGenBuiltins/RISCV riscv-zbc.c

[CIR][RISCV] Support zbc builitin codegen (#193685)

Include 6 builtins: __builtin_riscv_clmul_32, __builtin_riscv_clmul_64,
__builtin_riscv_clmulh_32, __builtin_riscv_clmulh_64,
__builtin_riscv_clmulr_32, __builtin_riscv_clmulr_64.
DeltaFile
+91-0clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbc.c
+13-3clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
+104-32 files

LLVM/project c006fceclang/include/clang/ScalableStaticAnalysisFramework SSAFBuiltinForceLinker.h, clang/include/clang/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis SourcePassAnalysisRegistry.h SourcePassAnalysis.h

[SSAF] Add SourcePassAnalysis framework

SourcePassAnalysis is for analyses/actions to be performed in a second
pass on source code, after the SSAF whole-program analysis.

SourcePassAnalysis is defined as an ASTConsumer abstraction that
depends on a whole-program analysis result.

This commit adds:
- SourcePassAnalysis base classes
- SourcePassAnalysis registry
- unit test for registry

rdar://175802731
DeltaFile
+105-0clang/include/clang/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis/SourcePassAnalysisRegistry.h
+82-0clang/unittests/ScalableStaticAnalysisFramework/Registries/SourcePassAnalysisRegistryTest.cpp
+63-0clang/include/clang/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis/SourcePassAnalysis.h
+46-0clang/lib/ScalableStaticAnalysisFramework/Core/SourcePassAnalysis/SourcePassAnalysisRegistry.cpp
+6-0clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
+1-0clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
+303-01 files not shown
+304-07 files

LLVM/project 993ef4bclang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis PointerFlowReachableAnalysisTest.cpp

Remove PointerFlowReachableAnalysisTest

It has been renamed to UnsafeBufferReachableAnalysisTest.cpp
DeltaFile
+0-434clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/PointerFlowReachableAnalysisTest.cpp
+0-4341 files

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

[mlir][rocdl] Implement GlobalStoreAsyncFromLDS (gfx1250) (#190877)
DeltaFile
+38-0mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+13-0mlir/test/Target/LLVMIR/rocdl.mlir
+13-0mlir/test/Dialect/LLVMIR/rocdl.mlir
+64-03 files

LLVM/project 9e1031aclang/test/AST ast-dump-templates.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll atomic-rmw.ll

Merge remote-tracking branch 'origin/users/ziqingluo/PR-174874942-3' into users/ziqingluo/PR-175802731-1

 Conflicts:
        clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
        clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
DeltaFile
+648-9,339clang/test/AST/ast-dump-templates.cpp
+4,652-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,420-2,120llvm/test/CodeGen/RISCV/atomic-rmw.ll
+1,519-1,501llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
+1,433-1,387llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
+0-2,727llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
+10,672-17,0741,406 files not shown
+61,250-49,6051,412 files

LLVM/project c30b767lldb/packages/Python/lldbsuite/test decorators.py, lldb/test/API/api/check_public_api_headers TestPublicAPIHeaders.py

[lldb] Change TestPublicAPIHeaders.py to only build when the target architecture matches the host's (#193848)

This test requires that LLDB.framework be built the same architecture as
the test binary (effectively). There's no way to specify that in our
testing logic currently, so let's just mark this test as arm64 only for
now.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+15-0lldb/packages/Python/lldbsuite/test/decorators.py
+1-0lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
+16-02 files

LLVM/project 080f6c5lldb/source/Plugins/ExpressionParser/Clang IRForTarget.cpp

[lldb][NFC] Remove unused parameters in IRForTarget helpers (#195200)

These parameters are unused.
DeltaFile
+9-12lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+9-121 files

LLVM/project 880cecbutils/bazel/llvm-project-overlay/mlir BUILD.bazel

[MLIR][Python] Create TD library for Python bindings TD files (#193853)

Building off of
https://github.com/llvm/llvm-project/commit/b544ad57039588d0fe24a1f512202cc5c0bd3a67
this change introduces a TD file group for python binding TD files to
not need
to depend on them by filename directly.
DeltaFile
+6-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+6-01 files

LLVM/project 192f092clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageTest.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageFormat.cpp

[SSAF] Remove UnsafeBufferUsageTest.h

The idea is that we do not want to have test-only functionality in any
interface.
DeltaFile
+0-47clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+0-29clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.h
+0-23clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
+0-993 files

LLVM/project 6a1afd4clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.cpp

continue to address comments
DeltaFile
+5-4clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
+0-4clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
+5-82 files

LLVM/project ac90ab6llvm/lib/Target/AMDGPU VOP3PInstructions.td, llvm/test/MC/AMDGPU gfx1170_asm_vop3p.s gfx1170_asm_vop3p_aliases.s

[AMDGPU] Fix v_pk_{max,min}_num_f16 encoding on gfx1170 (#195180)

According to sp3, encoding for pk_min_f16 is 0x11 and pk_max_f16 is 0x12
on gfx1170.
DeltaFile
+30-30llvm/test/MC/AMDGPU/gfx1170_asm_vop3p.s
+2-2llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_aliases.s
+2-2llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+34-343 files

LLVM/project e858cf1lldb/source/Expression DWARFExpression.cpp

[lldb] Remove verbose DWARF spec comments from evaluator (NFC) (#195140)

Most labels in DWARFExpression::Evaluate have a 3-10 line
OPCODE/OPERANDS/DESCRIPTION block copied from the DWARF specification.
My assumption is that anyone editing this code should be consulting the
latest version of the spec, which is the (only) source of truth. This
approach doesn't scale, create the opportunity for subtle bugs and makes
the code harder to read.

Anything LLDB specific (i.e. that's not part of the spec) is preserved.
DeltaFile
+7-332lldb/source/Expression/DWARFExpression.cpp
+7-3321 files

LLVM/project 9a1ed27clang/test/Analysis analyzeOneFunction.cpp, clang/test/Analysis/ctu on-demand-parsing.c on-demand-parsing.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+1-1clang/test/Analysis/ctu/on-demand-parsing.c
+1-1clang/test/Analysis/ctu/on-demand-parsing.cpp
+1-1clang/test/Tooling/clang-extdef-mapping.cpp
+1-1clang/test/Analysis/analyzeOneFunction.cpp
+4-44 files

LLVM/project a2da5a8llvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine ptrauth-intrinsics.ll

InstCombine: Don't read first argument of llvm.ptrauth.* call argument until checking intrinsic ID.

If llvm.ptrauth.auth or llvm.ptrauth.resign is called on the result of
a call with no arguments InstCombine will hit an assertion failure due
to reading the non-existent first argument. Fix it.

Assisted-by: gemini (wrote test)

Reviewers: nikic, fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/195195
DeltaFile
+11-0llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+12-12 files

LLVM/project 6a35bfbclang/include/clang/Basic DiagnosticLexKinds.td, clang/lib/Lex ModuleMap.cpp

[clang][modules] Make -fmodules-decluse work on the public/private pair of modules (#192585)

Previously, it would only check the main module.
Now, if the main module is a private module (foo_Private), it will also check the public module.
DeltaFile
+69-0clang/test/Modules/declare-use-private-textual.cpp
+37-5clang/lib/Lex/ModuleMap.cpp
+2-0clang/include/clang/Basic/DiagnosticLexKinds.td
+108-53 files

LLVM/project 9d63fb3lldb/source/Expression DWARFExpression.cpp

[lldb] Extract DW_OP_fbreg and DW_OP_call_frame_cfa evaluation (NFC) (#195143)

Both case bodies had several levels of nested if/else validating the
execution context and frame before doing the real work. Invert the
checks and move the bodies to static helpers alongside
Evaluate_DW_OP_piece, matching the pattern already used for
Evaluate_DW_OP_deref_size and Evaluate_DW_OP_entry_value.
DeltaFile
+44-36lldb/source/Expression/DWARFExpression.cpp
+44-361 files

LLVM/project 6f37678mlir/include/mlir/Dialect/Vector/IR VectorOps.td, mlir/lib/Dialect/Vector/IR VectorOps.cpp

[MLIR][Vector] Add unrolling support for bitcast, interleave, and deinterleave ops (#194513)

This patch implements VectorUnrollOpInterface and unrolling patterns for
vector bitcast,
interleave, and deinterleave operations.

---------

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+240-2mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
+92-0mlir/test/Dialect/Vector/vector-unroll-options.mlir
+20-0mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+18-0mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+6-3mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
+376-55 files

LLVM/project b8aaeefclang/test/AST ast-dump-templates.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll atomic-rmw.ll

Merge branch 'users/ziqingluo/PR-174874942-2' into users/ziqingluo/PR-174874942-3
DeltaFile
+648-9,301clang/test/AST/ast-dump-templates.cpp
+5,061-4,162llvm/test/CodeGen/Thumb2/mve-clmul.ll
+326-4,626llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+4,652-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,420-2,120llvm/test/CodeGen/RISCV/atomic-rmw.ll
+3,230-456llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+16,337-20,6655,507 files not shown
+241,634-141,7735,513 files

LLVM/project cf193b7clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.h

Merge branch 'users/ziqingluo/PR-174874942-3' of github.com:llvm/llvm-project into users/ziqingluo/PR-174874942-3
DeltaFile
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
+1-11 files

LLVM/project 86d58b2clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.h, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.cpp

address comments
DeltaFile
+8-8clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
+10-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
+18-82 files

LLVM/project d351f1fllvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine ptrauth-intrinsics.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+11-0llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
+1-1llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+12-12 files

LLVM/project a743033llvm/test/Transforms/SandboxVectorizer load_store_vec_mixed_types.ll

[SandboxVec][LoadStoreVec][NFC] Precommit tests (#194962)

These tests are for a follow-up LoadStoreVec patch.
DeltaFile
+414-0llvm/test/Transforms/SandboxVectorizer/load_store_vec_mixed_types.ll
+414-01 files

LLVM/project cb5a20ellvm/lib/DWARFLinker/Classic DWARFLinkerDeclContext.cpp, llvm/test/tools/dsymutil/X86 odr-simple-template-names.test odr-simple-template-names-mixed.test

[dsymutil] Fix ODR type uniquing for -gsimple-template-names (#194501) (#195174)

With -gsimple-template-names (now the default on macOS with deployment
target >= 26), template types like vector<int> and vector<float> both
get DW_AT_name("vector") in DWARF, with template parameters encoded only
as DW_TAG_template_type_parameter children.

Previously, dsymutil used only DW_AT_name for ODR type uniquing, causing
different template specializations to collide. This PR fixes that by
reconstructing template parameter information from child DIEs when the
type name does not already contain template parameters.

The reconstructed name is used only for uniquing and not emitted into
the output DWARF. The parallel DWARF linker already handled this
correctly via SyntheticTypeNameBuilder.

This reland removes an overly strict assertion when clang emits
DW_TAG_subprogram DIEs with a demangled template-like DW_AT_name (e.g.
foo<int>) but no DW_AT_linkage_name. The surrounding logic already

    [5 lines not shown]
DeltaFile
+369-0llvm/test/tools/dsymutil/X86/odr-simple-template-names.test
+348-0llvm/test/tools/dsymutil/X86/odr-simple-template-names-mixed.test
+133-0llvm/test/tools/dsymutil/X86/odr-subprogram-template-name-no-linkage.test
+26-3llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
+876-34 files

LLVM/project 009281flldb/source/Expression DWARFExpression.cpp

[lldb] Extract DW_OP_form_tls_address evaluation (NFC) (#195144)

The DW_OP_form_tls_address / DW_OP_GNU_push_tls_address case had
multiple nested null-checks and a branching error message before a few
lines of real work. Move it to a static helper.
DeltaFile
+37-30lldb/source/Expression/DWARFExpression.cpp
+37-301 files

LLVM/project 4cc1a57offload/tools/kernelreplay llvm-omp-kernel-replay.cpp

[offload] record-replay: only check user-provided grid sizes

The plugins sometimes change what the user provided for num_threads or
num_teams and choose different values for the actual launch. This should
not lead to errors in the replay mechanism. The original clause values
should only be checked if the user specified new values for replay
explicitly.
DeltaFile
+6-3offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
+6-31 files

LLVM/project 09479f0mlir/include/mlir/Interfaces VectorInterfaces.td VectorInterfaces.h, mlir/lib/Dialect/MemRef/Transforms FoldMemRefAliasOps.cpp

[mlir] Interface-ify updating starting positions on vector.transfer_*

This commit adds methods to VectorTransferOpInterface that allow
transfer operations to be queried for whether their base memref (or
tensor) and permutation map can be updated in some particular way and
then for performing this update. This is part of a series of changes
designed to make passes like fold-memref-alias-ops more generic,
allowing downstream operations, like IREE's transfer_gather, to
participate in them without needing to duplicate patterns.

In order to test this new method, migrate FoldMemrefAliasOps to use
these methods to fold memref.subview, memref.expand_shape,and
memref.collapse_shape into tranfer_read and transfer_write.

AI note: the tranfer_read / transfer_write patterns, which are taken
from a previous PR, were written with Claude 4.5.
DeltaFile
+182-100mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+67-1mlir/include/mlir/Interfaces/VectorInterfaces.td
+38-3mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
+1-0mlir/include/mlir/Interfaces/VectorInterfaces.h
+288-1044 files

LLVM/project 7b833e1llvm/lib/Transforms/Vectorize VPRecipeBuilder.h VPlanTransforms.cpp

[VPlan] Remove recipe tracking in VPRecipeBuilder. (NFC) (#195181)

Remove Instruction-to-recipe mapping from RecipeBuilder. The only
remaining user is createInterleaveGroups, where we can easily collect
the mapping.
DeltaFile
+0-29llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
+15-10llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+18-434 files

LLVM/project 52f868cflang/include/flang/Common format.h, flang/lib/Parser io-parsers.cpp

[FLANG] Correctly handle bad AT descriptors in FORMAT statements (#194960)

Also update tests to cover more situations.

This PR will fix #194237.
DeltaFile
+15-1flang/test/Semantics/io19.f90
+4-2flang/include/flang/Common/format.h
+1-1flang/lib/Parser/io-parsers.cpp
+20-43 files

LLVM/project bc97fbelldb/include/lldb/ValueObject ValueObject.h ValueObjectConstResult.h, lldb/source/ValueObject ValueObjectMemory.cpp ValueObjectConstResult.cpp

Add the ability to pass a parent to ValueObjectMemory::Create. (#195155)

Also move the equivalent helper function from ValueObjectConstResult to
ValueObject.h where it more properly belongs.

This patch is necessary if one were to use ValueObjectMemory for a
synthetic child. There aren't any current uses of this sort in lldb,
though there are on the swift fork.
DeltaFile
+29-0lldb/include/lldb/ValueObject/ValueObject.h
+9-4lldb/source/ValueObject/ValueObjectMemory.cpp
+0-10lldb/include/lldb/ValueObject/ValueObjectConstResult.h
+4-2lldb/include/lldb/ValueObject/ValueObjectMemory.h
+1-2lldb/source/ValueObject/ValueObjectConstResult.cpp
+43-185 files

LLVM/project dc23c15clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowAnalysis.h

Update clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h

Co-authored-by: Jan Korous <jkorous at apple.com>
DeltaFile
+1-1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
+1-11 files