LLVM/project a7263belldb/include/lldb/Breakpoint Breakpoint.h, lldb/source/Breakpoint Breakpoint.cpp

[lldb] Remove ConstString from Breakpoint::GetMatchingFileLine (#205210)
DeltaFile
+2-1lldb/source/Breakpoint/Breakpoint.cpp
+1-1lldb/include/lldb/Breakpoint/Breakpoint.h
+1-1lldb/source/Commands/CommandObjectBreakpoint.cpp
+4-33 files

LLVM/project e522c11clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen unary-expr-or-type-trait-32bit.cpp

[CIR] Use the AST result type for sizeof/alignof constants (#203942)

On targets where `size_t` is narrower than 64 bits (e.g. `i686`), CIR
codegen for `sizeof`/`alignof`/`__builtin_vectorelements` crashes with a
type/value bitwidth mismatch.

The result of these expressions is `size_t`, but the emitted integer
constant was built with a hardcoded 64-bit type. `EvaluateKnownConstInt`
returns an `APSInt` with the width of the AST result type (32 bits on
this target), so it no longer matches the `IntAttr`'s type and trips the
`IntAttr` verifier.

  ### How to Reproduce
  ```c++
  using size_t = decltype(sizeof(int));
  size_t size_of_int() { return sizeof(int); }

  clang -cc1 -std=c++20 -triple i686-unknown-linux-gnu -fclangir \
    -emit-cir test.cpp -o test.cir

    [9 lines not shown]
DeltaFile
+38-0clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp
+5-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+43-32 files

LLVM/project 9e80b89lldb/tools/debugserver/source RNBRemote.cpp

[lldb] Use heuristics to extend rather than replace error message (#205196)

When an attach fails, HandlePacket_A tries to explain why. The last two
checks are heuristics that discard any error debugserver already
produced for this specific failure.

The guess can be wrong, for example the PT_DENY_ATTACH test case from
#204688 is incorrectly reported as failing due to it running in a
non-interactive debug session on the bots.

Include debugserver's real error into the heuristic message, instead of
replacing it, so the real reason is never lost.
DeltaFile
+15-8lldb/tools/debugserver/source/RNBRemote.cpp
+15-81 files

LLVM/project d9a1ed0offload/test CMakeLists.txt

[offload] Add kernel replay tool to tests' dependencies (#205209)
DeltaFile
+4-2offload/test/CMakeLists.txt
+4-21 files

LLVM/project 3e414a3llvm/docs ProgrammersManual.md SourceLevelDebugging.md

[docs] Migrate 22 popular LLVM docs to MyST (#201244)

This was done with LLM assistance.

I rebuilt the LLVM docs, opened all 22 docs in a browser and scrolled
through them, and caught and fixed a few errors.

Tracking issue: #201242 
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
DeltaFile
+2,000-2,303llvm/docs/ProgrammersManual.md
+1,306-1,457llvm/docs/SourceLevelDebugging.md
+1,240-1,267llvm/docs/WritingAnLLVMBackend.md
+873-1,057llvm/docs/CodeGenerator.md
+851-906llvm/docs/CodingStandards.md
+883-778llvm/docs/CMake.md
+7,153-7,76817 files not shown
+11,232-12,16523 files

LLVM/project 64d386ellvm/docs ProgrammersManual.md ProgrammersManual.rst

[docs] Rename 22 popular LLVM docs .rst -> .md (#201243)

Tracking issue: #201242
RFC: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Migration guide: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

Update filename references, but leave the docs with reST syntax to
ensure rename detection works.

This intentionally breaks the documentation build, but I will immediately follow up by merging the PR that fixes it.
DeltaFile
+4,257-0llvm/docs/ProgrammersManual.md
+0-4,257llvm/docs/ProgrammersManual.rst
+0-2,502llvm/docs/CodeGenerator.rst
+2,502-0llvm/docs/CodeGenerator.md
+0-2,490llvm/docs/SourceLevelDebugging.rst
+2,490-0llvm/docs/SourceLevelDebugging.md
+9,249-9,24948 files not shown
+23,162-23,16254 files

LLVM/project cd3bfc1llvm/lib/Transforms/Utils ScalarEvolutionExpander.cpp, llvm/test/Transforms/LoopStrengthReduce/X86 lcssa-preservation-regression.ll

[SCEV] Preserve LCSSA when reusing dominating variable

This seems to just be a missing case in SCEV. This came up when looking
at making LSR preserve LCSSA for the NewPM. Regression test of that
nature has been added.

Reviewers: fhahn, nikic, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/192831
DeltaFile
+40-0llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
+2-0llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
+42-02 files

LLVM/project 77c624fllvm/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.

Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>
DeltaFile
+120-39llvm/lib/Analysis/MemoryBuiltins.cpp
+42-0llvm/include/llvm/Analysis/MemoryBuiltins.h
+10-3llvm/lib/IR/Instructions.cpp
+4-0llvm/include/llvm/IR/InstrTypes.h
+176-424 files

LLVM/project 7e0d658clang/include/clang/AST OpenMPClause.h, clang/lib/Sema SemaOpenMP.cpp

[OpenMP] Introduce the ompx_name clause for kernel naming

This adds support for the ompx_name clause that allows users to specify
custom kernel names for OpenMP target offloading regions. The clause
accepts a string literal and overrides the default compiler-generated
kernel names.

Example usage:
  #pragma omp target ompx_name("my_kernel")
  { ... }

Kernel names need to be unique or they are diagnosed at compile or link
time as errors.

Co-Authored-By: Claude (claude-sonnet-4.5) <noreply at anthropic.com>
DeltaFile
+78-0offload/test/offloading/ompx_name.c
+62-0clang/test/OpenMP/ompx_name_messages_errors.cpp
+53-0clang/test/OpenMP/ompx_name_codegen.cpp
+40-0offload/test/offloading/ompx_name_duplicate_link.c
+36-0clang/lib/Sema/SemaOpenMP.cpp
+33-0clang/include/clang/AST/OpenMPClause.h
+302-017 files not shown
+422-1023 files

LLVM/project 5ad66bdllvm/docs ProjectGovernance.rst

[docs] Minor edits to project governace docs (#203149)

s/non-private/public/

Pencil in the 2027 calendar year election dates, so they are posted well
in advance and we have a link anchor we can share.
DeltaFile
+12-3llvm/docs/ProjectGovernance.rst
+12-31 files

LLVM/project 8fc68edllvm/test/Transforms/LoopStrengthReduce/X86 lcssa-preservation-regression.ll

fix

Created using spr 1.3.7
DeltaFile
+1-5llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
+1-51 files

LLVM/project b30f772llvm/test/Transforms/LoopStrengthReduce/X86 lcssa-preservation-regression.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-5llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
+1-51 files

LLVM/project 0d15de9llvm/test/Transforms/LoopStrengthReduce/X86 lcssa-preservation-regression.ll

fix

Created using spr 1.3.7
DeltaFile
+1-5llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
+1-51 files

LLVM/project fa016f6llvm/test/tools/llvm-cas validation.test

[llvm-cas] Fix validation test on Ubuntu / uutils v0.2.2, NFC (#205199)

Work around uutils/coreutils#9128 by implementing the 40 byte truncation
in Python. Otherwise, this test fails out of the box on Ubuntu 25.10.
GNU coreutils supports -s=arg, but Mac truncate does not. Resorting to
Python seemed like the cleanest solution. The next best idea was to use
subshells or other techniques to calculate the file size and subtract
40, but that seemed excessive.
DeltaFile
+3-1llvm/test/tools/llvm-cas/validation.test
+3-11 files

LLVM/project 201cf31flang/include/flang/Optimizer/Analysis AliasAnalysis.h, flang/lib/Optimizer/Analysis AliasAnalysis.cpp

[flang] Reduce FIR AA overhead for functions with one scope. (#204009)

Avoid overheads of collectScopedOrigins and
getDeclarationScope/DominanceInfo
when the values passed to FIR AA belong to a function with a single
dummy scope.
DeltaFile
+48-4flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+27-10flang/test/Analysis/AliasAnalysis/alias-analysis-scoped-origins.fir
+15-0flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
+6-3flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
+96-174 files

LLVM/project 211ca98clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenExprConstant.cpp

[CIR] DataMemberAttr: replace flat index with GEP-style path (#200854)

`DataMemberAttr` stored a single field index relative to the immediately containing class, which broke when the member is inherited: `int Derived::*p = &Derived::x` with `x` in Base produced a spurious `errorNYI` because Derived's CIR record doesn't directly hold `x`.

The attribute now stores a GEP-style `member_path` — a sequence of CIR field indices stepping from the pointer's class type down to the member, one level per inheritance hop. `lowerDataMemberConstant` walks the path accumulating element offsets to produce the Itanium ABI byte value.

`buildMemberPath` searches the `destClass` record tree for the target field (`findFieldMemberPath`). `CK_BaseToDerivedMemberPointer` and `CK_DerivedToBaseMemberPointer` return `{}` in ConstExprEmitter, delegating to the APValue path which builds the correct path via `buildMemberPath`. Virtual bases are not yet handled.

`CK_ReinterpretMemberPointer` remains `errorNYI` on this branch; a follow-up PR will add that separately.
DeltaFile
+75-2clang/lib/CIR/CodeGen/CIRGenModule.cpp
+51-17clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
+61-2clang/test/CIR/CodeGen/pointer-to-data-member.cpp
+24-14clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+12-11clang/test/CIR/IR/invalid-data-member.cir
+13-9clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+236-554 files not shown
+260-6310 files

LLVM/project c97eb54flang/lib/Semantics check-call.cpp expression.cpp, flang/test/Semantics call47.f90

[flang][Semantics] Do not require explicit interface checks for statement functions (#205023)

https://github.com/llvm/llvm-project/pull/198610 caused a regression,
where the
code path for explicit interface checks was also used for the statement
functions arg check. Refactor the code to avoid explicit interface
checks.

Fixes #203500

Assisted-by: AI
DeltaFile
+14-0flang/test/Semantics/call47.f90
+7-2flang/lib/Semantics/check-call.cpp
+4-4flang/lib/Semantics/expression.cpp
+6-1flang/lib/Semantics/check-call.h
+31-74 files

LLVM/project 7f5a359compiler-rt/lib/profile InstrProfilingPlatformROCmHSA.cpp InstrProfilingPlatformROCm.cpp, llvm/test/CodeGen/AArch64/GlobalISel legalize-or.mir legalize-xor.mir

Merge branch 'main' into users/rnk/x86-movri-op
DeltaFile
+516-0compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp
+160-161llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
+157-157llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
+234-0llvm/test/Transforms/LoopVectorize/X86/predicated-replicate-feeding-cast.ll
+102-102llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
+79-104compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
+1,248-524152 files not shown
+4,881-1,219158 files

LLVM/project 7781a0cflang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][cuda] Do not emit data transfer for constant read on the rhs (#205185)
DeltaFile
+27-0flang/include/flang/Evaluate/tools.h
+13-1flang/test/Lower/CUDA/cuda-data-transfer.cuf
+1-2flang/lib/Evaluate/tools.cpp
+41-33 files

LLVM/project 6d966ballvm/test/tools/llvm-cas validation.test

truncate -s=-40 does not work on Mac, fallback to Python
DeltaFile
+3-1llvm/test/tools/llvm-cas/validation.test
+3-11 files

LLVM/project b1ad2c7llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Select fneg modifier for v2f64 instructions
DeltaFile
+28-17llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+12-23llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+40-402 files

LLVM/project ef752a0bolt/lib/Rewrite RewriteInstance.cpp, bolt/test eh-frame-hdr.test

[BOLT] Emit .eh_frame_hdr before .eh_frame to prevent table scans from libdw (#201917)

resolves https://github.com/llvm/llvm-project/issues/201701 by moving
the `.eh_frame_hdr` section-header entry before `.eh_frame` before
assigning final section indices.

This lets BOLT binaries work with existing [libdw library logic
expecting the index before the
table](https://github.com/sourceware-org/elfutils/blob/67199e1c974db37f2bd200dcca7d7103f42ed06e/libdw/dwarf_getcfi_elf.c#L301),
preventing linear `.eh_frame` scanning.
DeltaFile
+16-0bolt/lib/Rewrite/RewriteInstance.cpp
+10-1bolt/test/eh-frame-hdr.test
+26-12 files

LLVM/project 92eeaf9llvm/docs LangRef.md

Fix langref line wrapping to reduce blame drift, more work to do
DeltaFile
+67-32llvm/docs/LangRef.md
+67-321 files

LLVM/project c9416a6llvm/test/tools/llvm-cas validation.test

[llvm-cas] Fix validation test on Ubuntu / uutils v0.2.2, NFC

Work around uutils/coreutils#9128 by passing -s=-40 to truncate.
Otherwise, this test fails out of the box on Ubuntu 25.10. GNU coreutils
allegedly supports -s=arg, but I'm not clear on whether long tail
platforms support this syntax. We'll see.
DeltaFile
+1-1llvm/test/tools/llvm-cas/validation.test
+1-11 files

LLVM/project 33e8502mlir/include/mlir/Dialect/EmitC/Transforms Transforms.h Passes.td, mlir/lib/Dialect/EmitC/Transforms WrapFuncInClass.cpp

[mlir][EmitC] Make `GlobalOps` `FieldOps` in wrap-emitc-func-in-class pass (#203641)

Update the `WrapFuncInClassPass` pass so that `GlobalOp`s are moved into
the `ClassOp` as `FieldOps`. This respects MLIR's behavior of resolving
references to the closest parent operation that defines a symbol table
which is the `ClassOp` that we are creating in this pass.

Without this change, references to a `GlobalOp` in `GetGlobalOp` are
failing to resolve.

Details:
- Identify `GlobalOp`s
- Create a `FieldOp` within the `ClassOp` for each `GlobalOp`
- Delete the `GlobalOp`s after all functions have been wrapped in a
class. Doing this after every function can cause an error when multiple
functions refer to the same `GlobalOp`(s) which would be deleted after
the first function is wrapped in a class.

Also renamed `fName` parameter in `populateWrapFuncInClass` to

    [11 lines not shown]
DeltaFile
+150-0mlir/test/Dialect/EmitC/wrap-func-in-class.mlir
+61-15mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
+4-1mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
+1-1mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
+216-174 files

LLVM/project bb8f468llvm/test/CodeGen/AArch64/GlobalISel legalize-or.mir legalize-xor.mir

[AArch64][GlobalISel] Update some scalar types to integer in tests. NFC (#205190)
DeltaFile
+160-161llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
+157-157llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
+28-36llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
+345-3543 files

LLVM/project 1f3d8cbbolt/include/bolt/Core BinaryContext.h, bolt/lib/Core BinaryEmitter.cpp

[BOLT] Route alignment options through BinaryContext (NFC) (#204902)

Consolidate all alignment-related `cl::opt` definitions into
`CommandLineOpts.cpp`, expose matching public members on `BinaryContext`,
and populate them from `RewriteInstance::adjustCommandLineOptions` (and
mirrored in `MachORewriteInstance`). Switch all readers in Aligner,
BinaryEmitter, LongJmp, BinaryFunction and the use-old-text logs to
`BC.*` instead of `opts::*`.
DeltaFile
+14-52bolt/lib/Passes/Aligner.cpp
+42-0bolt/lib/Utils/CommandLineOpts.cpp
+5-15bolt/lib/Core/BinaryEmitter.cpp
+15-2bolt/lib/Rewrite/RewriteInstance.cpp
+16-0bolt/include/bolt/Core/BinaryContext.h
+13-1bolt/lib/Rewrite/MachORewriteInstance.cpp
+105-703 files not shown
+120-859 files

LLVM/project 60b4854clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

[SSAF] Let UnsafeBufferUsageExtractor & PointerFlowExtractor ignore templates (#198927)

Templates are ignored for two reasons:

- Template instantiations are still handled. Template facts can be
inferred from their instantiations.
- Templates are inherently difficult to reason about. Their ASTs can
contain dependent expression types (such as ParenListExpr) that
complicate analysis.
DeltaFile
+71-1clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+65-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+6-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+6-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+5-1clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h
+5-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
+158-26 files

LLVM/project 8f249a7lldb/include/lldb/Utility FileSpec.h, lldb/source/Core ModuleList.cpp PluginManager.cpp

[lldb][NFC] FileSpec::GetFileNameStrippingExtension should return a StringRef (#205178)

No need to create a ConstString of a filename without its file
extension.
DeltaFile
+4-5lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
+3-5lldb/source/Core/ModuleList.cpp
+3-3lldb/include/lldb/Utility/FileSpec.h
+2-2lldb/source/Utility/FileSpec.cpp
+1-2lldb/source/Core/PluginManager.cpp
+1-1lldb/source/Target/Platform.cpp
+14-181 files not shown
+15-197 files

LLVM/project e67b31alibunwind/src UnwindRegistersSave.S

[libunwind] Fix an uninitialized read of __ra_sign_state (#205152)

The Arm DWARF spec defines UNW_AARCH64_RA_SIGN_STATE as being zeroed
until the first .cfi_negate_ra_state / .cfi_set_ra_state [1]. The GPRs
struct containing __ra_sign_state is memcpy'd directly from the
unw_context_t, which in turn is initialized by __unw_getcontext. Since
it is a pseudo register, there is no corresponding state to restore in
__unw_resume.


https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#44call-frame-instructions
DeltaFile
+1-0libunwind/src/UnwindRegistersSave.S
+1-01 files