LLVM/project 4bd9b1cclang/lib/Format WhitespaceManager.cpp

[clang] Silence warning in `WhitespaceManager` when building with MSVC (#187938)

This fixes:
```
[4544/7029] Building CXX object tools\clang\lib\Format\CMakeFiles\obj.clangFormat.dir\WhitespaceManager.cpp.obj
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveColons'::`2'::<lambda_1> &,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveShortCaseStatements'::`2'::<lambda_1> &,3>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveDeclarations'::`2'::<lambda_1> &,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveAssignments'::`2'::<lambda_1> &,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveMacros'::`2'::<lambda_1> &,1>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignChainedConditionals'::`7'::<lambda_3> &,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveColons'::`2'::<lambda_1>,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveAssignments'::`2'::<lambda_1>,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignChainedConditionals'::`5'::<lambda_1> &,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveDeclarations'::`2'::<lambda_1>,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignChainedConditionals'::`5'::<lambda_1>,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignConsecutiveShortCaseStatements'::`2'::<lambda_1> &,2>'::`4'::<lambda_2>::operator()': not all control paths return a value
C:\git\llvm-project\clang\lib\Format\WhitespaceManager.cpp(640) : warning C4715: '`clang::format::AlignTokens<`clang::format::WhitespaceManager::alignChainedConditionals'::`7'::<lambda_3>,0>'::`4'::<lambda_2>::operator()': not all control paths return a value
```
DeltaFile
+1-2clang/lib/Format/WhitespaceManager.cpp
+1-21 files

LLVM/project cdd674allvm/test/CodeGen/AMDGPU dynamic_stackalloc.ll, llvm/test/CodeGen/X86 i128-udiv.ll

Merge branch 'main' into users/kasuga-fj/da-extract-reverse-logic
DeltaFile
+4,523-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/arithmetic.test
+3,703-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/fp.test
+2,113-1,374llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
+3,123-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/vlseg-vsseg.test
+2,875-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/bitwise.test
+2,859-7llvm/test/CodeGen/X86/i128-udiv.ll
+19,196-1,3812,268 files not shown
+135,991-43,9512,274 files

LLVM/project f1e2b70llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

Handle non-simple EVT in isSupportedReciprocalEstimateType

Created using spr 1.3.7
DeltaFile
+4-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+4-01 files

LLVM/project 5efb3ddllvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fmin.ll llvm.amdgcn.reduce.fmax.ll

[AMDGPU] DPP implementations for Wave Reduction (#187214)

Add support for DPP wave reduction for floating
point numbers.
Supported Ops: `fmin`, `fmax`, `fadd`, `fsub`.
DeltaFile
+693-234llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
+693-234llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
+600-130llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
+589-130llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+49-25llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2,624-7535 files

LLVM/project 054e11dclang/lib/AST/ByteCode Program.cpp, clang/test/AST/ByteCode lambda.cpp

[clang][bytecode] Create descriptor for invalid record fields (#187311)

We otherwise refuse to register the Record for the RecordDecl entirely.
DeltaFile
+16-1clang/test/AST/ByteCode/lambda.cpp
+1-1clang/lib/AST/ByteCode/Program.cpp
+17-22 files

LLVM/project 036b755lld/ELF Writer.cpp

[ELF] Parallelize demoteAndCopyLocalSymbols. NFC (#187970)

Use parallelFor to process files in parallel, collecting Symbol*
pointers per-file, then merge into the symbol table serially.

Linking clang-14 (208K .symtab entries) is 1.04x as fast.
DeltaFile
+9-4lld/ELF/Writer.cpp
+9-41 files

LLVM/project c911b84clang-tools-extra/docs/clang-tidy/checks/misc multiple-inheritance.rst

[clang-tidy][NFC] Remove guidelines in documentation of misc-multiple-inheritance (#186657)

Closes https://github.com/llvm/llvm-project/issues/186058
DeltaFile
+0-5clang-tools-extra/docs/clang-tidy/checks/misc/multiple-inheritance.rst
+0-51 files

LLVM/project 95c906aclang-tools-extra/clangd ModulesBuilder.cpp, clang-tools-extra/clangd/unittests PrerequisiteModulesTest.cpp

[clangd] [C++ Modules] Fix handling of relative paths in prebuilt mod… (#187654)

…ule files

When compile_commands.json contains relative paths in -fmodule-file=
arguments (as generated by CMake), clangd failed to find the BMI files
because it was looking for them relative to the wrong working directory.

This patch fixes the issue by converting relative paths to absolute
paths based on the compilation directory (CompileCommand.Directory)
before checking if the module file exists and is up to date.

Added a unit test that verifies the fix works correctly.

AI Assisted
DeltaFile
+85-0clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
+11-3clang-tools-extra/clangd/ModulesBuilder.cpp
+96-32 files

LLVM/project 98fe2fbllvm/lib/Target/Mips MipsInstrFPU.td MipsSEISelLowering.cpp, llvm/test/CodeGen/Mips r5900-fpu-compare.ll r5900-fpu-softfloat.ll

[Mips] Add r5900 (PlayStation 2 Emotion Engine) FPU Support (#178942)

This PR adds basic FPU support for the MIPS R5900 processor used in the
PlayStation 2 Emotion Engine. The R5900 has a non-standard
single-precision-only FPU with limited functionality compared to
standard MIPS FPUs. Just like the previous r5900 PR, only existing
instructions are used to implement basic support first.

## Changes

### Infrastructure for single-precision-only FPU (ce13ddea7bc7)
- Add `isSingleFloat()` method to MipsAsmParser
- Add `SINGLE` FpABIKind to MipsABIFlagsSection
- Properly set CPR1Size and FpABI for single-float mode
- Exclude double-precision PseudoCVT instructions when using
single-float

### R5900 FPU support (13032c4d55b2)
- Switch R5900 from soft-float to single-float mode

    [29 lines not shown]
DeltaFile
+291-0llvm/test/CodeGen/Mips/r5900-fpu-compare.ll
+150-0llvm/test/MC/Mips/r5900-fpu.s
+81-42llvm/lib/Target/Mips/MipsInstrFPU.td
+118-0llvm/test/MC/Mips/r5900-invalid.s
+79-0llvm/test/CodeGen/Mips/r5900-fpu-softfloat.ll
+58-0llvm/lib/Target/Mips/MipsSEISelLowering.cpp
+777-428 files not shown
+851-4614 files

LLVM/project 5ef593bclang-tools-extra/clangd ModulesBuilder.cpp, clang-tools-extra/clangd/unittests PrerequisiteModulesTest.cpp

[clangd] [C++ Modules] Enable content validation for module input files (#187653)

The IsModuleFileUpToDate function was not properly validating input
files for C++20 modules. By default, ASTReader skips input file
validation for StandardCXXModule files unless
ForceCheckCXX20ModulesInputFiles and ValidateASTInputFilesContent are
both set.

This change:
- Passes ValidateASTInputFilesContent=true to ASTReader constructor
- Uses ARR_OutOfDate flag for cleaner error handling
- Simplifies the validation logic (ReadAST already validates internally)
- Adds a test to verify header changes in module units are detected

Assised with AI.
DeltaFile
+72-0clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
+18-18clang-tools-extra/clangd/ModulesBuilder.cpp
+90-182 files

LLVM/project dc4df5dlld/ELF SyntheticSections.cpp SyntheticSections.h, lld/test/ELF combreloc.s

[ELF] Always separate relative relocations regardless of -z combreloc (#187964)

Remove the combreloc guard from addReloc and mergeRels so that
relative relocations are always routed to relativeRelocs, even with -z
nocombreloc or --pack-dyn-relocs=android.

Update AndroidPackedRelocationSection::updateAllocSize to iterate
both relativeRelocs and relocs.
DeltaFile
+16-15lld/ELF/SyntheticSections.cpp
+1-1lld/test/ELF/combreloc.s
+1-1lld/ELF/SyntheticSections.h
+18-173 files

LLVM/project 8f8b53alld/ELF Driver.cpp, lld/test/ELF aarch64-feature-gcs.s

[LLD] [ELF] Make -z gcs=always implicitly warn on missing GCS, like force-bti (#186203)

This matches GNU ld, where gcs=always makes it implicitly warn about
missing GCS flags, by matching the existing code pattern used for BTI
and IBT.

Also test that warnings can be printed for both missing BTI and GCS for
the same object file.

This fixes #186173.

(cherry picked from commit 887d2d4bf7380113b27f199f323eeee883f17191)
DeltaFile
+11-2lld/test/ELF/aarch64-feature-gcs.s
+7-0lld/ELF/Driver.cpp
+18-22 files

LLVM/project 8efb87allvm/lib/Target/RISCV RISCVInstrInfo.td RISCVInstrInfoXqci.td, llvm/lib/Target/RISCV/MCTargetDesc RISCVMCCodeEmitter.cpp RISCVAsmBackend.cpp

[RISCV] Relax out of range Zibi conditional branches (#186965)

If `.Label` is not within +-4KiB range, we convert

```
beqi/bnei reg, imm, .Label
```

to

```
bnei/beqi reg, imm, 8
j .Label
```

This is similar to what is done for the RISCV conditional branches
and `Xqcibi` conditional branches.

---------

    [2 lines not shown]
DeltaFile
+110-0llvm/test/MC/RISCV/zibi-long-conditional-jump.s
+14-0llvm/lib/Target/RISCV/RISCVInstrInfo.td
+0-13llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
+10-3llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
+6-0llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
+5-0llvm/lib/Target/RISCV/RISCVInstrInfoZibi.td
+145-166 files

LLVM/project 94411c9llvm/lib/Target/SystemZ SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ is_fpclass.ll

[SystemZ] Remove custom lowering of f16 IS_FPCLASS (#187532)

As pointed out in #187518 , currently, `__builtin_isnormal` returns
`true` for subnormal half precision floating point numbers on `s390x.

This is because there is a custom lowering defined which lowers an `f16`
`IS_FPCLASS` ISD node by extending the `f16` value to `f32`, and then
using SystemZ's "test data class" instruction to determine whether the
number is subnormal. However, a number that is subnormal in 16 bits of
precision will no longer be subnormal in 32 bits of precision, and so
the test always returns true, i.e. all subnormal numbers are classified
as normal.

This PR addresses this by removing the custom lowering and instead
relying on the generic expansion of `IS_FPCLASS`, which does not have
this error.

Fixes #187518 .

(cherry picked from commit 6eb5ac52ca56fd31c41a619a14093430b27132c3)
DeltaFile
+84-10llvm/test/CodeGen/SystemZ/is_fpclass.ll
+1-3llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+85-132 files

LLVM/project 2e1aea6llvm/lib/Target/LoongArch/MCTargetDesc LoongArchAsmBackend.cpp, llvm/test/DebugInfo/LoongArch dwo-no-relocations.ll

[LoongArch] Ensure .dwo sections do not contain relocations (#187429)

When linker relaxation is enabled, LoongArchAsmBackend may emit
relocations for same-section symbol differences, even when the fixup
is in a .dwo section. This leads to errors such as:

  error: A dwo section may not contain relocations

Split DWARF (.dwo) sections must not contain relocations. Fix this by
resolving such fixups immediately when they are emitted into .dwo
sections, even if the referenced symbols are in relaxable sections.

This avoids generating invalid relocations in .debug_*.dwo sections
when compiling with -gsplit-dwarf and -mrelax.

Fixes #187428

(cherry picked from commit 89d8fe9d08c395875cf1201feaf9d213cadeea7a)
DeltaFile
+45-0llvm/test/DebugInfo/LoongArch/dwo-no-relocations.ll
+8-5llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
+53-52 files

LLVM/project 076226flld/ELF SyntheticSections.cpp SyntheticSections.h

[ELF] Separate relative and non-relative dynamic relocations (#187959)

Previously, the flow was:

1. Parallel scan adds relative relocs to per-thread `relocsVec`
2. `mergeRels()` copies all into `relocs`
3. `partitionRels()` uses `stable_partition` to separate

Now, relative relocs are routed at `addReloc` time by checking
`reloc.type == relativeRel`. In `mergeRels`, sharded entries are
classified through the same `addReloc` path rather than blindly
appended. `relocsVec` may contain non-relative entries like
`R_AARCH64_AUTH_RELATIVE`.

This eliminates the `stable_partition` on the full relocation vector
(543K entries for clang) and avoids copying relative relocations into
`relocs` only to move them out again.

Linking an x86_64 release+assertions build of clang is 1.04x as fast.

    [5 lines not shown]
DeltaFile
+26-25lld/ELF/SyntheticSections.cpp
+9-6lld/ELF/SyntheticSections.h
+35-312 files

LLVM/project 5567572clang-tools-extra/clang-tidy/misc NoRecursionCheck.cpp

[clang-tidy][NFC] Remove optimized container implementations in `misc-no-recursion` (#187630)

About half of this check's code is dedicated to implementing a pair of
set containers with optimizations for when the element count is small.
But the check only uses these containers while constructing the warning
message. That's not generally a hot path in any check. Just to confirm,
I ran the check over `clang/lib/Sema/Sema.cpp` and all its included
headers before and after, and saw no performance difference. So, these
containers seem like a false optimization.
DeltaFile
+6-136clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
+6-1361 files

LLVM/project 6dabcefmlir/lib/Dialect/IRDL IRDLLoading.cpp, mlir/python/mlir/dialects ext.py

[MLIR][IRDL][Python] Fix error while composing `irdl.any_of` and `irdl.base` (#187914)

Previously, while users compose `irdl.any_of` and `irdl.base`, e.g.
```mlir
module {
  irdl.dialect @ext_attr_in_op {
    irdl.operation @op_with_attr {
      %0 = irdl.base "#builtin.integer" 
      %1 = irdl.base "#builtin.string" 
      %2 = irdl.any_of(%0, %1) 
      irdl.attributes {"a" = %2}
    }
  }
}
```

The program will crash due to `llvm_unreachable("unknown IRDL
constraint")`.


    [2 lines not shown]
DeltaFile
+41-0mlir/test/python/dialects/ext.py
+35-0mlir/lib/Dialect/IRDL/IRDLLoading.cpp
+8-19mlir/python/mlir/dialects/ext.py
+84-193 files

LLVM/project 7482655clang/lib/AST TemplateBase.cpp

[clang] On Windows, silence warning when building with MSVC (#187937)

This fixes:
```
[2124/7029] Building CXX object tools\clang\lib\AST\CMakeFiles\obj.clangAST.dir\TemplateBase.cpp.obj
C:\git\llvm-project\clang\lib\AST\TemplateBase.cpp(753): warning C4312: 'reinterpret_cast': conversion from 'clang::SourceLocation::UIntTy' to 'clang::TemplateArgumentLocInfo::LocOrPointer' of greater size
```
DeltaFile
+2-2clang/lib/AST/TemplateBase.cpp
+2-21 files

LLVM/project e1286d9mlir/lib/Bytecode/Writer BytecodeWriter.cpp

[mlir] Deterministic containers in BytecodeWriter (#187819)

Iteration over use lists in writeUseListOrders is non-deterministic as a
result of using a DenseMap. Replacing with a Vector-backed `MapVector`
restores deterministic behaviour.
DeltaFile
+2-5mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
+2-51 files

LLVM/project 98f84f9clang-tools-extra/clangd CodeComplete.cpp, clang-tools-extra/clangd/unittests CodeCompleteTests.cpp

[clangd] Code completion for declaration of class method (#165916)

Code completion previously could not tell apart the declaration of
a method from a call to it, and provided call-like behaviour even
in declaration contexts. This included things like not offering 
completion for private methods, and inserting placeholders for
the parameters as though the user was going to fill in arguments.

This patch adds support to Parser and SemaCodeComplete to
detect and provide dedicated behaviour for declaration contexts.
In these contexts, the flag CodeCompletionResult::DeclaringEntity
is set, and createCodeCompletionString() is adjusted to handle this
flag, e.g. by inserting parameter declarations as text chunks rather
than placeholder chunks.

The DeclaringEntity flag is also available for consumers of
SemaCodeComplete, such as clangd, to customize their behaviour.

In addition, the patch tweaks the conditions under which the

    [6 lines not shown]
DeltaFile
+159-55clang/lib/Sema/SemaCodeComplete.cpp
+118-19clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+40-2clang/include/clang/Parse/Parser.h
+6-4clang/lib/Parse/Parser.cpp
+6-4clang-tools-extra/clangd/CodeComplete.cpp
+6-3clang/include/clang/Sema/SemaCodeCompletion.h
+335-876 files not shown
+350-9812 files

LLVM/project ce288f4mlir/lib/Dialect/XeGPU/Transforms XeGPUSgToWiDistributeExperimental.cpp, mlir/test/Dialect/XeGPU sg-to-wi-experimental-unit.mlir

[MLIR][XeGPU] Add distribution patterns for vector insert & extract ops in sg to wi pass (#184665)

This PR adds patterns for following vector ops in the new sg-to-wi pass
1. ExtractOp
2. ExtractStridedSliceOp
3. InsertStridedSliceOp
4. InsertOp
DeltaFile
+292-2mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
+199-0mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
+7-1mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
+498-33 files

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

[Clang] Honour [[maybe_unused]] on private fields (#187940)

Before this commit, [[maybe_unused]] on private fields was ignored. In
conjunction with `-Wunused-private-field`, false warnings were emitted
by clang. This commit fixes this by checking if an unused private field
is annotated with [[maybe_unused]].
DeltaFile
+11-0clang/test/SemaCXX/warn-maybe-unused-private-field.cpp
+4-0clang/docs/ReleaseNotes.rst
+1-1clang/lib/Sema/Sema.cpp
+16-13 files

LLVM/project b2ba795llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer insert-element-build-vector.ll insert-element-build-vector-inseltpoison.ll

[SLP]Fix patterns for compile time blow up with ordered reductions

Excluded patterns, leading to compile time blow up for integer ordered
reductions.
DeltaFile
+41-119llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
+41-119llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
+38-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-5llvm/test/Transforms/SLPVectorizer/X86/reduced-ordered-values-update.ll
+125-2454 files

LLVM/project c079372llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanPatternMatch.h

[VPlan] Add m_VPPhi pattern matcher and use in removeDeadRecipes (NFC).

Add m_VPPhi to match VPPhi instructions with exactly 2 operands.

Split off from https://github.com/llvm/llvm-project/pull/156262.
DeltaFile
+4-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-0llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+10-42 files

LLVM/project 6514822llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Tool BUILD.gn, llvm/utils/gn/secondary/clang/tools/clang-ssaf-format BUILD.gn

[gn] port a2c0c436999
DeltaFile
+10-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Tool/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/tools/clang-ssaf-format/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/tools/clang-ssaf-linker/BUILD.gn
+12-03 files

LLVM/project 0e7a8acllvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core BUILD.gn, llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework BUILD.gn

[gn build] Port c6ba0e00161e
DeltaFile
+3-2llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
+3-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
+6-22 files

LLVM/project c58f322llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV BUILD.gn

[gn build] Port 78729251fbb2
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/SPIRV/BUILD.gn
+1-01 files

LLVM/project ea489fellvm/benchmarks PointerUnionBM.cpp CMakeLists.txt

[llvm][ADT] Add PointerUnion benchmarks. NFC. (#187874)

Add microbenchmarks for `PointerUnion`'s `isa` and `isNull` operations
across union sizes of 2, 4, and 8 types. This it to establish baseline
performance numbers before making changes to the implementation.

I plan to refactor the implementation a bit and add support for more
variants using sparse encoding.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+121-0llvm/benchmarks/PointerUnionBM.cpp
+1-0llvm/benchmarks/CMakeLists.txt
+122-02 files

LLVM/project 6e66da1mlir/include/mlir/Dialect/LLVMIR LLVMIntrinsicOps.td, mlir/test/Dialect/LLVMIR roundtrip.mlir

[mlir][LLVM] Add more `llvm.intr.experimental.constrained.*` ops
DeltaFile
+105-0mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+77-0mlir/test/Target/LLVMIR/Import/intrinsic.ll
+67-2mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+49-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+298-24 files