LLVM/project 8f1e24aclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticFrontendKinds.td

[Clang] diagnosing missing Vulkan environment when using SPIR-V triple (#190840)

When a user passes '-target spirv' without specififying a vulkan
environment ttriple, SPIRVTargetInfo will fire an assert instead of
throwing an error diagnostic. Added this diagnostic in
CompilerInstance::createTarget() before target is initialized. Fixes
https://github.com/llvm/llvm-project/issues/189964
DeltaFile
+19-6clang/lib/Basic/Targets/SPIR.h
+7-0clang/test/Frontend/spirv-target-validation.c
+5-0clang/include/clang/Basic/DiagnosticFrontendKinds.td
+1-0clang/docs/ReleaseNotes.rst
+32-64 files

LLVM/project 4b2537bllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 masked_gather_scatter.ll masked_gather.ll

[X86] combineINSERT_SUBVECTOR - attempt to widen mask predicate as scalar integer instead of inserting into a zero vXi1 vector (#192699)

Fold vXi1 insert_subvector(zero_vector(),bitcast(scalar_mask),idx) ->
bitcast(shl(zext(scalar_mask),idx))

vXi1 zero widening and insertion has to rely on kshiftl/kshiftr pairs,
but if the mask was a scalar it can be a lot cheaper to just widen it to
a wider (legal) scalar first.

Cleans up some codegen for #192034 - first step towards pruning all the
VMOVSH patterns we've ended up :/
DeltaFile
+19-28llvm/test/CodeGen/X86/masked_gather_scatter.ll
+14-0llvm/lib/Target/X86/X86ISelLowering.cpp
+3-4llvm/test/CodeGen/X86/masked_gather.ll
+2-4llvm/test/CodeGen/X86/pr192034.ll
+2-3llvm/test/CodeGen/X86/masked_load.ll
+2-3llvm/test/CodeGen/X86/masked_store.ll
+42-426 files

LLVM/project 8872678lldb/test/API/macosx/rosetta TestRosetta.py

[lldb][macos] Add trace prints to TestRosetta to debug CI (#192771)
DeltaFile
+7-0lldb/test/API/macosx/rosetta/TestRosetta.py
+7-01 files

LLVM/project d1abc82llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Merge branch 'main' into users/c8ef/fold_left_first
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+41,844-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
+40,613-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
+37,209-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
+597,128-02,820 files not shown
+1,029,312-72,6202,826 files

LLVM/project 877dd33compiler-rt/test/sanitizer_common/TestCases print-stack-trace.cpp, compiler-rt/test/sanitizer_common/TestCases/Linux internal_symbolizer.cpp

Revert "XFAIL symbolizer test for TySan" (#192770)

Reverts llvm/llvm-project#191810

Relates to https://github.com/llvm/llvm-project/pull/191902
DeltaFile
+0-3compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
+0-2compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
+0-52 files

LLVM/project fefd36blibcxx/test/libcxx/algorithms nodiscard.verify.cpp, libcxx/test/std/algorithms/alg.nonmodifying/alg.fold nodiscard.verify.cpp

revise test
DeltaFile
+0-37libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/nodiscard.verify.cpp
+8-0libcxx/test/libcxx/algorithms/nodiscard.verify.cpp
+8-372 files

LLVM/project f171bf1compiler-rt/test/sanitizer_common/TestCases print-stack-trace.cpp, compiler-rt/test/sanitizer_common/TestCases/Linux internal_symbolizer.cpp

Revert "XFAIL symbolizer test for TySan (#191810)"

This reverts commit 7083e9d8da07d97ab4541405b72e8b7ce8dad181.
DeltaFile
+0-3compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
+0-2compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
+0-52 files

LLVM/project 40333cdllvm/lib/FileCheck FileCheck.cpp, llvm/test/FileCheck/diff diff-multi-mismatch.txt diff-multi-block.txt

[FileCheck] Add a diff output option for FileCheck (#187120)

This patch adds a `--diff` flag to FileCheck to address the readability
of traditional FileCheck output which can be difficult to parse by
human, especially when dealing with multiple substitutions or large
input files with many mismatches and additional context. This feature
provides a more familiar, scannable format for developers by rendering
mismatches as diffs.

There are two diff modes, split and unified both with substitution and
no-substitution version however to make it easier for reviewer, this
only have unified with no substitution.

Functional description of PR- 

`getDiffContext` -
It provides the surrounding context for the mismatch. It uses the
`SourceMgr` to find the Line using `LineNo`. Once it found the pointer,
it scans forward until it hits a newline (\n or \r) or the end of the

    [67 lines not shown]
DeltaFile
+220-24llvm/lib/FileCheck/FileCheck.cpp
+36-0llvm/test/FileCheck/diff/diff-multi-mismatch.txt
+32-0llvm/test/FileCheck/diff/diff-multi-block.txt
+30-0llvm/test/FileCheck/diff/diff-resync-after-noise.txt
+25-0llvm/test/FileCheck/diff/diff-multi-failres.txt
+23-0llvm/test/FileCheck/diff/diff-resync-high-noise.txt
+366-2413 files not shown
+552-2919 files

LLVM/project 4b0dd87clang/lib/Headers __clang_spirv_math.h __clang_spirv_libdevice_declares.h, clang/lib/Headers/openmp_wrappers math.h

[OFFLOAD] Introduce OpenMP math wrappers for SPIRV backend (#192139)

This PR is a first step to introduce math OpenMP wrappers for SPIRV
backend.
As a first step only API that either mapped to existing SPIRV API or has
straightforward implementation is introduced.
DeltaFile
+719-0clang/lib/Headers/__clang_spirv_math.h
+23-0clang/lib/Headers/__clang_spirv_libdevice_declares.h
+10-0clang/lib/Headers/openmp_wrappers/math.h
+1-0clang/lib/Headers/CMakeLists.txt
+753-04 files

LLVM/project 34fc7b3

Revert "[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo…"

This reverts commit dd0c5ebe69e580066de100c8c2ba5430a1aeee44.
DeltaFile
+0-00 files

LLVM/project 9ace19clibcxx/test/std/algorithms/alg.nonmodifying/alg.fold nodiscard.verify.cpp

nodiscard test
DeltaFile
+37-0libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/nodiscard.verify.cpp
+37-01 files

LLVM/project 63ae74bclang/test/CXX/drs cwg2947.cpp, clang/www cxx_dr_status.html

[clang] Update C++ DR status page (#192768)

Now that Croydon motions are reflected in `cwg_index.html`.
DeltaFile
+321-220clang/www/cxx_dr_status.html
+1-1clang/test/CXX/drs/cwg2947.cpp
+322-2212 files

LLVM/project 4ef2a51libcxx/test/libcxx/diagnostics iterator.nodiscard.verify.cpp, libcxx/test/libcxx/iterators iterator.nodiscard.verify.cpp

relocate test
DeltaFile
+38-0libcxx/test/libcxx/iterators/iterator.nodiscard.verify.cpp
+0-38libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
+38-382 files

LLVM/project 6bb3a35clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaChecking.cpp

[clang] Improve diagnostics for `__builtin_align` builtins with floating/member pointer operands (#192650)

Improve diagnostics for `__builtin_align_up`, `__builtin_align_down`,
and `__builtin_is_aligned` when the first operand has an invalid type.

Clang already emits `err_typecheck_expect_scalar_operand` for
unsupported operands, but the message is generic. This patch adds
follow-up notes to clarify three common invalid cases:

* floating point operands (“floating point types are not allowed here”)
* C++ member pointer operands (“member pointers are not allowed here”)
* plain-function-pointer ("function pointers are not allowed here")
DeltaFile
+7-2clang/lib/Sema/SemaChecking.cpp
+5-1clang/test/Sema/builtin-align.c
+3-3clang/test/SemaCXX/builtin-align-cxx.cpp
+6-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+21-64 files

LLVM/project 499593cllvm/lib/Target/LoongArch LoongArchLSXInstrInfo.td LoongArchLASXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx/ir-instruction nor.ll

[LoongArch] Select `V{AND,OR,XOR,NOR}I.B` for bitwise with byte splat immediates (#192217)

The `V{AND,OR,XOR,NOR}I.B` instructions operate on byte elements and
accept an 8-bit immediate. However, when the same byte splat constant is
used with wider vector element types (e.g. v8i16, v4i32, v2i64),
instruction selection currently falls back to materializing the constant
in a temporary register.

```
vrepli.b  -1
vxor.v
```

even though the immediate form is available:

```
vxori.b 255
```


    [11 lines not shown]
DeltaFile
+17-2llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+12-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+3-6llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
+3-6llvm/test/CodeGen/LoongArch/lsx/ir-instruction/icmp.ll
+3-6llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
+3-6llvm/test/CodeGen/LoongArch/lsx/ir-instruction/or.ll
+41-2612 files not shown
+73-8418 files

LLVM/project 780a959lldb/include/lldb/ValueObject DILParser.h, lldb/source/Target StackFrame.cpp

[lldb] Remove unused bool members of DILParser (NFC) (#192572)

These options are used by DIL's `Interpreter`, but are unused by the
Parser.
DeltaFile
+6-18lldb/source/ValueObject/DILParser.cpp
+3-15lldb/include/lldb/ValueObject/DILParser.h
+2-3lldb/source/Target/StackFrame.cpp
+11-363 files

LLVM/project ebbcd42lldb/packages/Python/lldbsuite/test dotest_args.py, lldb/packages/Python/lldbsuite/test/builders darwin.py builder.py

Revert "[lldb] Rally around triple rather than arch in the API tests (#191416)" (#192763)

Temoprarily reverting while we look at the TestMacCatalyst.py and
TestRosetta.py fails introduced by this PR, to unblock the CI.

This reverts commit 86397f49c7725f35a51517a8290cb4207c97771d.
DeltaFile
+81-33lldb/packages/Python/lldbsuite/test/builders/darwin.py
+86-24lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+15-11lldb/packages/Python/lldbsuite/test/builders/builder.py
+16-6lldb/packages/Python/lldbsuite/test/dotest_args.py
+5-12lldb/test/API/commands/expression/ptrauth-objc/TestPtrAuthObjectiveC.py
+4-11lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
+207-9711 files not shown
+230-13117 files

LLVM/project 43e798eclang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGenCXX bpf-debug-info-alias.cpp

[BPF] Handle aliases in CodeGenModule::EmitExternalDeclaration. Fixes #192365 (#192374)

Adds handling of global aliases in
CodeGenModule::EmitExternalDeclaration. This fixes a clang crash on some
real code, see llvm#192365.
DeltaFile
+16-0clang/test/CodeGenCXX/bpf-debug-info-alias.cpp
+4-0clang/lib/CodeGen/CodeGenModule.cpp
+20-02 files

LLVM/project 029abe6lldb/include/lldb/Core Debugger.h, lldb/source/Commands CommandObjectDWIMPrint.cpp

[lldb] Store the dummy target in the selected execution context (#190496)

Store the dummy target in the selected execution context. There's no
reason for everybody to have to independently fall back to the dummy
target.
DeltaFile
+35-0lldb/unittests/Core/DebuggerTest.cpp
+14-16lldb/source/Interpreter/CommandObject.cpp
+17-9lldb/source/Core/Debugger.cpp
+10-6lldb/include/lldb/Core/Debugger.h
+5-7lldb/source/Interpreter/CommandInterpreter.cpp
+2-4lldb/source/Commands/CommandObjectDWIMPrint.cpp
+83-421 files not shown
+84-437 files

LLVM/project 492f5d7llvm/test/CodeGen/RISCV attributes.ll

[RISCV] Add missing RUN line for RV32P to attributes.ll. NFC (#192750)
DeltaFile
+2-1llvm/test/CodeGen/RISCV/attributes.ll
+2-11 files

LLVM/project 25df9f2mlir/lib/Dialect/Tensor/Transforms FoldTensorSubsetOps.cpp, mlir/test/Dialect/Tensor fold-tensor-subset-ops.mlir

[mlir][tensor] Remove unit-stride restriction in InsertSliceOp folding  (#192600)

This PR replaces manual offset/size resolution with `affine::mergeOffsetsSizesAndStrides`, simplifying the code and extending subview-of-subview folding to support non-unit strides.
DeltaFile
+7-31mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
+24-5mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
+31-362 files

LLVM/project b87f23amlir/docs/Tutorials MlirOpt.md

[mlir][docs] Rename fusion option name in MlirOpt tutorial (#184635)

Options have been renamed in #128405
DeltaFile
+2-2mlir/docs/Tutorials/MlirOpt.md
+2-21 files

LLVM/project 63e032bclang/test/CodeGen ubsan-aggregate-null-align.c

[UBSan][test] Make aggregate alignment test precise for Darwin

Darwin adds an alignment check on dest, which was causing test failure.

rdar://120802910
DeltaFile
+1-0clang/test/CodeGen/ubsan-aggregate-null-align.c
+1-01 files

LLVM/project 6886505llvm/lib/Target/AArch64 AArch64RedundantCondBranchPass.cpp AArch64.h, llvm/test/CodeGen/AArch64 cbz_wzr.mir

[NewPM] Port AArch64RedundantCondBranch to the new pass manager (#190897)

Adds a newPM pass for AArch64RedundantCondBranch

- Refactors base logic into an Impl class
- Renames old pass with the "Legacy" suffix
- Adds the new pass manager pass using refactored logic
- Updated existing .mir tests to also test with the New Pass Manager.

Context and motivation in
https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers
DeltaFile
+29-14llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
+8-1llvm/lib/Target/AArch64/AArch64.h
+1-1llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+1-0llvm/test/CodeGen/AArch64/cbz_wzr.mir
+1-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+40-165 files

LLVM/project 058398cllvm/lib/Target/NVPTX NVVMIntrRange.cpp, llvm/test/CodeGen/NVPTX reqntid-const-fold.ll intr-range.ll

[NVPTX] Constant fold blockDim when reqntid is specified (#191575)

Currently, NVPTX cannot fold the `ntid.x/y/z` intrinsic calls into const
values when `reqntid` is specified, which prevents the code from further
optimization.
Therefore, in this change, we extend the `NVVMIntrRange` pass to:
- Tighten `ntid.x/y/z` intrinsic calls to one value range, which can be
const folded in later InstCombine pass
- Tighten `tid.x/y/z` range attributes to use per-dimension reqntid
bounds
- When .reqntid exceeds hardware limits, garbage-in/garbage-out
DeltaFile
+90-0llvm/test/CodeGen/NVPTX/reqntid-const-fold.ll
+26-16llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
+7-7llvm/test/CodeGen/NVPTX/intr-range.ll
+123-233 files

LLVM/project e030fe2llvm/lib/Target/AMDGPU AMDGPUMCResourceInfo.cpp AMDGPUResourceUsageAnalysis.cpp, llvm/test/CodeGen/AMDGPU object-linking-local-resources.ll lds-link-time-codegen-indirect.ll

[AMDGPU] Report only local per-function resource usage when object linking is enabled

With object linking the linker aggregates resource usage across TUs via
`.amdgpu.info`, so compile-time pessimism and call-graph propagation duplicate
the linker's work or pollute its inputs.

In this mode, skip the per-callsite conservative bumps in
`AMDGPUResourceUsageAnalysis` and assign each resource symbol in
`AMDGPUMCResourceInfo` a concrete local constant instead of building call-graph
max/or expressions.
DeltaFile
+104-0llvm/test/CodeGen/AMDGPU/object-linking-local-resources.ll
+26-8llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
+10-1llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
+4-0llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
+1-1llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-indirect.ll
+145-105 files

LLVM/project fcdd649llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp

[AMDGPU] Add `.amdgpu.info` section for per-function metadata

AMDGPU object linking requires the linker to propagate resource usage
(registers, stack, LDS) across translation units. To support this, the compiler
must emit per-function metadata and call graph edges in the relocatable object
so the linker can compute whole-program resource requirements.

This PR introduces a `.amdgpu.info` ELF section using a tagged, length-prefixed
binary format: each entry is encoded as:

```
[kind: u8] [len: u8] [payload: <len> bytes]
```

A function scope is opened by an `INFO_FUNC` entry (containing a symbol
reference), followed by per-function attributes (register counts, flags, private
segment size) and relational edges (direct calls, LDS uses, indirect call
signatures). String data such as function type signatures is stored in a
companion `.amdgpu.strtab` section.

    [4 lines not shown]
DeltaFile
+199-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+159-2llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+116-0llvm/test/MC/AMDGPU/amdgpu-info-roundtrip.s
+112-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+110-0llvm/docs/AMDGPUUsage.rst
+83-0llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-typeid.ll
+779-211 files not shown
+1,210-1417 files

LLVM/project 06a1ed4

move change from #191595

Created using spr 1.3.4
DeltaFile
+0-00 files

LLVM/project 49c800ellvm/tools/llvm-profgen PerfReader.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]
DeltaFile
+1-4llvm/tools/llvm-profgen/PerfReader.cpp
+1-41 files

LLVM/project 23db9c2llvm/tools/llvm-profgen PerfReader.cpp

reduce changes

Created using spr 1.3.4
DeltaFile
+1-4llvm/tools/llvm-profgen/PerfReader.cpp
+1-41 files