LLVM/project 47ac4a0llvm/utils/TableGen/Common CodeGenRegisters.cpp

[TableGen] Fix inferring missing sub-classes for various subreg indices (#185638)

We should not imply artificial registers have sub-registers for a given
index even if the class is known to 'fully support' that index.

Fixes crashes reported in
https://github.com/llvm/llvm-project/pull/183371#discussion_r2905495313
DeltaFile
+1-1llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+1-11 files

LLVM/project 7b248a3clang/include/clang/Analysis/Scalable SSAFBuiltinForceLinker.h SSAFForceLinker.h, clang/include/clang/Analysis/Scalable/Frontend TUSummaryExtractorFrontendAction.h

Revert "Reapply "Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --s…"

This reverts commit 35aa3d1215b8818476d6632de7a7e56064c9faf9.
DeltaFile
+0-362clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
+0-181clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
+0-51clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
+0-33clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
+0-28clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
+0-25clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
+0-68023 files not shown
+19-85529 files

LLVM/project 1813603llvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/test/CodeGen/AMDGPU hazard-setreg-vgpr-msb-gfx1250.mir vcmpx-permlane-vgpr-msb-gfx1250.mir

[AMDGPU] Fix GFX1250 hazard: S_SET_VGPR_MSB dropped (#184904)

[AMDGPU] Fix GFX1250 hazard: S_SET_VGPR_MSB dropped after
S_SETREG_IMM32_B32 (MODE)

On GFX1250, S_SET_VGPR_MSB immediately after S_SETREG_IMM32_B32
targeting
the MODE register is silently dropped by hardware.

AMDGPULowerVGPREncoding may insert S_SET_VGPR_MSB after a setreg(MODE)
in
Case 2 (size > 12) when imm32[12:19] doesn't match current VGPR MSBs, or
when the next VALU instruction needs different MSBs. Fix by inserting
S_NOP
between the setreg and S_SET_VGPR_MSB to prevent the hazard.

The fix handles two scenarios:
- Case 2 mismatch: S_NOP is inserted directly before S_SET_VGPR_MSB in
  handleSetregMode.

    [8 lines not shown]
DeltaFile
+119-0llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
+69-0llvm/test/CodeGen/AMDGPU/vcmpx-permlane-vgpr-msb-gfx1250.mir
+22-1llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+2-0llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+212-14 files

LLVM/project afedb03clang/lib/Sema SemaHLSL.cpp SemaType.cpp, clang/test/ParserHLSL hlsl_resource_dimension_attr_error.hlsl hlsl_resource_dimension_attr.hlsl

[HLSL] Add parsing for the resource dimension attribute. (#185039)

The resource attribute was added, but the code to be able to parse it
as we do with other resource attributes was missing. This means we are
not able to test the attribute in isolation.

This change adds the parsing for the attribute, and adds more testing
for it.

Assisted-by: Gemini


<!-- branch-stack-start -->

-------------------------
- main
  - https://github.com/llvm/llvm-project/pull/185039 :point_left:

<sup>[Stack](https://www.git-town.com/how-to/proposal-breadcrumb.html)

    [2 lines not shown]
DeltaFile
+19-0clang/test/ParserHLSL/hlsl_resource_dimension_attr_error.hlsl
+18-0clang/lib/Sema/SemaHLSL.cpp
+17-0clang/test/ParserHLSL/hlsl_resource_dimension_attr.hlsl
+1-0clang/lib/Sema/SemaType.cpp
+55-04 files

LLVM/project 7b7ff90utils/bazel/llvm-project-overlay/clang BUILD.bazel, utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc BUILD.bazel

[Bazel] Port 65cb738ff41995a06f18b6143d515af5e7653bfb
DeltaFile
+25-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
+26-02 files

LLVM/project e1fcdc4libcxx/utils/ci/images libcxx_next_runners.txt

[libc++] Update the libcxx-next-runners to use the new docker image (#185603)
DeltaFile
+1-1libcxx/utils/ci/images/libcxx_next_runners.txt
+1-11 files

LLVM/project 4b20c74clang/lib/Headers __clang_cuda_math_forward_declares.h

[CUDA][Win32] Add `fma(long double,..)` to math forward declares. (#73756)

As per https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1256 - we are
missing the `fma` long double variant for Cpp20 compat with MS-STL.
DeltaFile
+5-0clang/lib/Headers/__clang_cuda_math_forward_declares.h
+5-01 files

LLVM/project 1299c87clang/docs ReleaseNotes.rst, clang/lib/Sema SemaExpr.cpp

fix gh185270 consteval crash (#185511)

replace `cast<VarDecl>` with `dyn_cast_or_null<VarDecl>` in
`HandleImmediateInvocations` to avoid the crash when
`ManglingContextDecl` is a `FunctionDecl` instead of a `VarDecl`.
fixes #185270
DeltaFile
+3-3clang/lib/Sema/SemaExpr.cpp
+3-0clang/test/SemaCXX/gh185270.cpp
+2-0clang/docs/ReleaseNotes.rst
+8-33 files

LLVM/project aca0639llvm/include/llvm/ExecutionEngine/Orc WaitingOnGraphOpReplay.h

[ORC] Flush streams in WaitingOnGraphOpStreamRecorder record ops.

Allows us to get useful recordings out of JIT sessions that crash, or are kept
alive indefinitely. (Note that an 'end' operation will have to be appended to
the output in these cases).
DeltaFile
+3-0llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraphOpReplay.h
+3-01 files

LLVM/project aab3dfamlir/include/mlir/Interfaces FunctionInterfaces.td, mlir/test/Conversion/FuncToLLVM convert-funcs.mlir

[MLIR][Func] Return nullptr for empty ResultAttrs (#185219)

Fixes #185156

When an empty res_attrs is passed manually, we should still return
nullptr to indicate that no results have attributes.
DeltaFile
+5-2mlir/include/mlir/Interfaces/FunctionInterfaces.td
+7-0mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
+12-22 files

LLVM/project 8b790f8llvm/include/llvm/Frontend/OpenMP OMP.td

[OpenMP] Add definitions of FLATTEN and SPLIT to OMP.td

Add the definitions of the "flatten" and the "split" constructs
to the OMP.td file. This will allow the implementation efforts
in clang and flang to proceed independently.

There is no other functionality added in this patch.
DeltaFile
+20-0llvm/include/llvm/Frontend/OpenMP/OMP.td
+20-01 files

LLVM/project 309b7d0clang-tools-extra/clang-tidy/readability SimplifySubscriptExprCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix false negative in `readability-simplify-subscript-expr` when subscripting substituted types (#185570)

This check's bespoke method of avoiding matching
in template instantations is overeager. This commit
changes it to just rely on IgnoreUnlessSpelledInSource
traversal instead.  This is the same problem 
as in #185559.
DeltaFile
+9-12clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
+19-0clang-tools-extra/test/clang-tidy/checkers/readability/simplify-subscript-expr.cpp
+6-0clang-tools-extra/docs/ReleaseNotes.rst
+34-123 files

LLVM/project cd3cab7mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp, mlir/test/Dialect/OpenMP cli-tile.mlir invalid-tile.mlir

[mlir][OpenMP] Allow tile composition (#185380)

The verifier of the TileOp did not allow composition of multiple
transformations out of precaution. However, composition works, therefore
remove the "currently only supports omp.canonical_loop as applyee" check
and add regression tests.
DeltaFile
+193-0mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir
+52-34mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+70-0mlir/test/Dialect/OpenMP/cli-tile.mlir
+22-4mlir/test/Dialect/OpenMP/invalid-tile.mlir
+337-384 files

LLVM/project 2826924clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/lib/CodeGen/TargetBuiltins ARM.cpp

[CIR][AArch64] Add support for the remaining `vceqz` builtins (#185440)

Implement the remaining CIR lowerings for the AdvSIMD (Neon)
`vceqz` intrinsic group (bitwise equal to zero).

Most variants of `vceqz` variant were already supported; this patch
completes the rest of the group [1] that was left as a TODO.

Tests for these intrinsics are moved from:
  * test/CodeGen/AArch64/neon_intrinsics.c
  * test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c

to:
  * test/CodeGen/AArch64/neon/intrinsics.c
  * test/CodeGen/AArch64/neon/fullfp16,

respectively.

The implementation largely mirrors the existing lowering in

    [3 lines not shown]
DeltaFile
+60-16clang/test/CodeGen/AArch64/neon/intrinsics.c
+0-33clang/test/CodeGen/AArch64/neon-intrinsics.c
+20-0clang/test/CodeGen/AArch64/neon/fullfp16.c
+8-4clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+0-8clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
+3-4clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+91-656 files

LLVM/project 14feef8llvm/utils/TableGen/Common CodeGenRegisters.cpp CodeGenRegisters.h

[TableGen] Do not order register classes based on heap addresses

Compare registers using their enum values instead, which I
suspect was the intention in the first place, since we already
have lexicographical ordering defined for CodeGenRegisters.

This does not cause any changes in .inc files and is likely
NFC, but it's still best to have it be deterministic.
DeltaFile
+5-8llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+4-0llvm/utils/TableGen/Common/CodeGenRegisters.h
+9-82 files

LLVM/project 90e5a1elibclc/cmake/modules AddLibclc.cmake

[libclc][CMake] Append target_name to external-funcs test target name (#185639)

Avoid name conflicts when multiple libararies use the same target
triple.
DeltaFile
+1-1libclc/cmake/modules/AddLibclc.cmake
+1-11 files

LLVM/project 35aa3d1clang/include/clang/Analysis/Scalable SSAFBuiltinForceLinker.h SSAFForceLinker.h, clang/include/clang/Analysis/Scalable/Frontend TUSummaryExtractorFrontendAction.h

Reapply "Reapply "[clang][ssaf] Add --ssaf-extract-summaries= and --ssaf-tu-summary-file= options"" (#185616)

This reverts commit 9a1c63230b8ad3f19cb624f0d283f7df10957ab7.

1st attempt: #184421
2nd attempt: #185414
Third time the charm!

rdar://172173836
DeltaFile
+362-0clang/unittests/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendActionTest.cpp
+181-0clang/lib/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.cpp
+51-0clang/unittests/Analysis/Scalable/SSAFBuiltinTestForceLinker.h
+33-0clang/include/clang/Analysis/Scalable/Frontend/TUSummaryExtractorFrontendAction.h
+28-0clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h
+25-0clang/include/clang/Analysis/Scalable/SSAFForceLinker.h
+680-023 files not shown
+855-1929 files

LLVM/project 32e7bc9llvm/test/CodeGen/SPIRV/debug-info debug-function.ll

[review] fix comment.
DeltaFile
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll
+1-11 files

LLVM/project 3e15e61llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp

[review] improve comments.
DeltaFile
+11-11llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+11-111 files

LLVM/project be5d7e3llvm/test/CodeGen/SPIRV/debug-info debug-function.ll

[reviews] Update comment.
DeltaFile
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll
+1-11 files

LLVM/project ffe1380llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp

[reviews] minor edit.
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+1-11 files

LLVM/project 734ec21llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp

[reviews] simplify code.
DeltaFile
+8-16llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+8-161 files

LLVM/project 3181206llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-function.ll

[SPIRV] Add support for emitting DebugFunction debug info instructions

This commit adds support for emitting SPIRV DebugFunction and
DebugFunctionDefinition instructions for function definitions.
DeltaFile
+218-0llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+40-0llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll
+258-02 files

LLVM/project b21719fllvm/utils/TableGen/Common CodeGenRegisters.cpp

[TableGen] Fix inferring missing sub-classes for various subreg indices

We should not imply artificial registers have sub-registers for a given
index even if the class is known to 'fully support' that index.

Fixes crashes reported in
https://github.com/llvm/llvm-project/pull/183371#discussion_r2905495313
DeltaFile
+1-1llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+1-11 files

LLVM/project 1d03260llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp

Fix format.
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+1-11 files

LLVM/project fdcb884llvm/lib/Target/SPIRV SPIRVEmitNonSemanticDI.cpp

[NFC][SPIRV] Extract helper functions in SPIRVEmitNonSemanticDI

This commit extracts reusable helper functions to improve code
organization and reduce duplication. This is a pure refactoring
that does not change behavior.

These helpers will be used in subsequent commits to refactor
emitGlobalDI and add function-level debug info emission.
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
+1-11 files

LLVM/project becf44bllvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp

[review] Simplify code.
DeltaFile
+2-3llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+2-31 files

LLVM/project 1927d24llvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp

[review] Improve comment.
DeltaFile
+2-0llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+2-01 files

LLVM/project cf4bd77llvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp

[SPIRV] Refactor NonSemantic debug info placement logic.

Refactor the logic for determining which NonSemantic.Shader.DebugInfo.100
instructions should be placed in the global section from a whitelist
to a blacklist approach.
DeltaFile
+14-7llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+14-71 files

LLVM/project 3bc1de1llvm/lib/Target/PowerPC PPCRegisterInfo.td PPCOperands.td

[PowerPC][NFC] Clean up code in RegisterInfo.td (#185520)

Just some cleanup work. Moving non register related operands to
PPCOperands.td and PatLeaf def to PPCInstrInfo.td.
DeltaFile
+23-193llvm/lib/Target/PowerPC/PPCRegisterInfo.td
+166-0llvm/lib/Target/PowerPC/PPCOperands.td
+3-0llvm/lib/Target/PowerPC/PPCInstrInfo.td
+192-1933 files