LLVM/project e95dabemlir/python/mlir/dialects ext.py, mlir/test/python/dialects ext.py

[MLIR][Python] Support attribute definitions in Python-defined dialects (#183907)

This PR is quite similiar to
https://github.com/llvm/llvm-project/pull/182805.

We added basic support of attribute definitions in Python-defined
dialects, including:

- IRDL codegen for attribute definitions
- Attr builders like `MyAttr.get(..)` and attr parameter accessors (e.g.
`my_attr.param1`)
- Use Python-defined attrs in Python-defined operations

Assisted by GitHub Copilot.
DeltaFile
+111-4mlir/python/mlir/dialects/ext.py
+89-0mlir/test/python/dialects/ext.py
+200-42 files

LLVM/project 8774da8mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp, mlir/test/Dialect/XeGPU xegpu-wg-to-sg-unify-ops.mlir subgroup-distribute.mlir

[MLIR][XeGPU] Preserve anchor layouts in recoverTemporaryLayout (#182186)

DeltaFile
+13-1mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
+6-6mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
+1-1mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+20-83 files

LLVM/project f800218libunwind/src libunwind.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort

It turns out making the CFI check a release mode abort causes many,
if not the majority, of JITs to fail during unwinding as they do not
set up CFI sections for their generated code. As a result any JITs
that do nominally support unwinding (and catching) through their JIT
or assembly frames trip this abort.

rdar://170862047
DeltaFile
+11-17libunwind/src/libunwind.cpp
+11-171 files

LLVM/project 81872e7clang/test/CodeGenOpenCL cl-uniform-wg-size.cl

[NFC] Fix check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` on Darwin (#184042)

DeltaFile
+6-6clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+6-61 files

LLVM/project e6aafaepolly/lib/External/isl isl_ast_build_expr.c GIT_HEAD_ID, polly/lib/External/isl/test_inputs/codegen polly3.st polly3.c

[Polly] Update isl to isl-0.27-86-gcf471c16 (#184044)

Update isl to include
https://repo.or.cz/isl.git/commit/d1b49851aca59c1edd01cb1dc97674e6d79d07af
which fixes #180958

Closes #180958

Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
DeltaFile
+65-9polly/lib/External/isl/isl_ast_build_expr.c
+5-0polly/lib/External/isl/test_inputs/codegen/polly3.st
+2-0polly/lib/External/isl/test_inputs/codegen/polly3.c
+1-1polly/lib/External/isl/GIT_HEAD_ID
+73-104 files

LLVM/project 4287382clang/test/CodeGenOpenCL cl-uniform-wg-size.cl

[NFC] Fix check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` on Darwin
DeltaFile
+6-6clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+6-61 files

LLVM/project d947f8fclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticSemaKinds.td

[clang][Sema] fix crash on __type_pack_element with dependent packs (GH180307) (#180407)

dependent pack expansions in __type_pack_element can result in
single-element template argument lists. When performing semantic
analysis for these builtins, the compiler needs to account for the
dependent expansions and handle them without triggering strict size
assertions. The patch adds this analysis and ensures we either defer
evaluation for dependent cases or report clear out-of-bounds diagnostics
instead of crashing
Ai was used for test generation and CI debugging 
fixes #180307
DeltaFile
+24-0clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
+11-5clang/lib/Sema/SemaTemplate.cpp
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-0clang/docs/ReleaseNotes.rst
+37-64 files

LLVM/project f05d2e8clang/test/CodeGenOpenCL amdgpu-enqueue-kernel.cl cl-uniform-wg-size.cl, llvm/lib/IR AutoUpgrade.cpp

[AMDGPU] Make uniform-work-group-size a valueless attribute (#183925)

The "uniform-work-group-size" function attribute previously took a
string value of "true" or "false". Since presence alone can convey the
"true" semantics and absence can convey "false", the value is
unnecessary.

This patch converts it to a valueless string attribute: presence
indicates true, absence indicates false. For backward compatibility,
auto-upgrade logic is added in both UpgradeAttributes (bitcode) and
UpgradeFunctionAttributes: if the old value is "true", the attribute is
kept without a value; if "false", the attribute is removed.
DeltaFile
+24-26clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
+14-13clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+21-0llvm/lib/IR/AutoUpgrade.cpp
+21-0llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
+4-9llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+5-6llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
+89-5445 files not shown
+167-13451 files

LLVM/project 89498e2libunwind/src libunwind.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort

It turns out making the CFI check a release mode abort causes many,
if not the majority, of JITs to fail during unwinding as they do not
set up CFI sections for their generated code. As a result any JITs
that do nominally support unwinding (and catching) through their JIT
or assembly frames trip this abort.

rdar://170862047
DeltaFile
+10-17libunwind/src/libunwind.cpp
+10-171 files

LLVM/project e2ef93fclang/test/CodeGenOpenCL .gdb_history

[NFC] Remove `clang/test/CodeGenOpenCL/.gdb_history` (#184038)

DeltaFile
+0-11clang/test/CodeGenOpenCL/.gdb_history
+0-111 files

LLVM/project fac43d5clang/test/CodeGenOpenCL .gdb_history

[NFC] Remove `clang/test/CodeGenOpenCL/.gdb_history`
DeltaFile
+0-11clang/test/CodeGenOpenCL/.gdb_history
+0-111 files

LLVM/project 248e5d1clang/test/CodeGenOpenCL amdgpu-enqueue-kernel.cl cl-uniform-wg-size.cl, llvm/lib/IR AutoUpgrade.cpp

[AMDGPU] Make uniform-work-group-size a valueless attribute

The "uniform-work-group-size" function attribute previously took a
string value of "true" or "false". Since presence alone can convey
the "true" semantics and absence can convey "false", the value is
unnecessary.

This patch converts it to a valueless string attribute: presence
indicates true, absence indicates false. For backward compatibility,
auto-upgrade logic is added in both UpgradeAttributes (bitcode) and
UpgradeFunctionAttributes: if the old value is "true", the attribute
is kept without a value; if "false", the attribute is removed.

All setters (Clang CodeGen, OMPIRBuilder, AMDGPUAttributor, ROCDL
translation) and readers (AMDGPUAttributor, AMDGPULowerKernelAttributes,
AMDGPUHSAMetadataStreamer) are updated accordingly. The attribute is
also documented in the AMDGPU LLVM IR Attributes table where it was
previously missing.
DeltaFile
+24-26clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
+14-13clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+21-0llvm/lib/IR/AutoUpgrade.cpp
+21-0llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
+4-9llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+5-6llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
+89-5445 files not shown
+167-13451 files

LLVM/project d9ca61bclang/test/CodeGenOpenCL cl-uniform-wg-size.cl

Revert "[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl`" (#184035)

Reverts llvm/llvm-project#183926 because of some BB failures.
DeltaFile
+14-31clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+14-311 files

LLVM/project 789bf51llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 multi-use-bicasted-reduction.ll

[SLP]Do not consider condition with multiple uses and negate predicate as a candidate for inversed select

If the select/zext comparison has negate predicate and is used in
several places, it should not be considered as a candidate for inversed
zext/select pattern, it will be replaced by a negate vector predicate,
leading to an incorrect codegen for other uses
DeltaFile
+4-2llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
+2-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+6-22 files

LLVM/project cf1e768clang-tools-extra/clang-tidy/bugprone ThrowingStaticInitializationCheck.h, clang-tools-extra/clang-tidy/llvm UseNewMLIROpBuilderCheck.h

[clang-tidy][NFC] Don't call `getLangOpts` in `isLanguageVersionSupported` (#184029)

This is just a little inconsistency I noticed. Basically all checks
inspect the `LangOpts` parameter, but these two ignore the parameter and
call `getLangOpts` instead.
DeltaFile
+1-1clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
+1-1clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
+2-22 files

LLVM/project d1d2a1ellvm/test/Transforms/SLPVectorizer/X86 multi-use-bicasted-reduction.ll

[SLP][NFC]Add a test with the incorrect compare, extracted from the transformed vector
DeltaFile
+74-0llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
+74-01 files

LLVM/project dddd06bclang/test/CodeGenOpenCL cl-uniform-wg-size.cl

[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` (#183926)

DeltaFile
+31-14clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
+31-141 files

LLVM/project f62adeallvm/utils profcheck-xfail.txt

[ProfCheck] Exclude new GVN test

Added in a recent PR. We still have not gotten through GVN, so this is
likely caused by existing code. Exclude it to keep the bot green.
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

LLVM/project 3cf53f6llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/X86 iv-live-outs.ll

[LV] Handle sunk reverse VPInstruction in planContainsAdditionalSimps.

Licm can now sink reverse VPInstructions outside the loop region; they
won't be considered when computing costs. Account for that in
planContainsAdditionalSimplifications.

Fixes https://github.com/llvm/llvm-project/issues/183592.
DeltaFile
+85-29llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
+9-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+94-312 files

LLVM/project b788eefclang/lib/Sema SemaExpr.cpp, clang/test/Sema sugar-common-types.c

Address comments

Created using spr 1.3.7
DeltaFile
+62-0llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
+8-23mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+8-7llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-0mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir
+5-1clang/test/Sema/sugar-common-types.c
+2-2clang/lib/Sema/SemaExpr.cpp
+97-332 files not shown
+101-338 files

LLVM/project 1dc85c6clang-tools-extra/clang-tidy/utils LexerUtils.cpp LexerUtils.h, clang-tools-extra/unittests/clang-tidy LexerUtilsTest.cpp

[clang-tidy][NFC] Add `getCommentsInRange` utility (#183940)

DeltaFile
+119-0clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
+23-4clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
+5-0clang-tools-extra/clang-tidy/utils/LexerUtils.h
+147-43 files

LLVM/project 48209b6llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/X86 known-pow2.ll

[DAG] isKnownToBeAPowerOfTwo - add ISD::EXTRACT_VECTOR_ELT handling (#183924)

Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.
DeltaFile
+21-0llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+3-5llvm/test/CodeGen/X86/known-pow2.ll
+24-52 files

LLVM/project a13afe8llvm/test/Transforms/SLPVectorizer/X86 disjoint-or-reductions.ll

[SLP][NFC]Add more bitcast/bswap tests with immediate loads, NFC
DeltaFile
+67-0llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
+67-01 files

LLVM/project 3041c90mlir/lib/Dialect/Tensor/IR TensorOps.cpp, mlir/test/Dialect/Tensor fold-constant-extract-slice.mlir

[mlir][tensor] Remove hard-coded types from `ConstantOpExtractSliceFolder` (#184013)

Use the `Attribute` API, which works with arbitrary element types.
DeltaFile
+8-23mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+12-0mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir
+20-232 files

LLVM/project 707a55cllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Fix formatting

Created using spr 1.3.7
DeltaFile
+1-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1-21 files

LLVM/project 4b865fallvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 disjoint-or-reductions.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+49-18llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-6llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
+53-242 files

LLVM/project e4301c4utils/bazel/llvm-project-overlay/llvm BUILD.bazel

[bazel] Fix windows stack space on llvm driver link (#182998)

Bazel was missing this logic from cmake:
https://github.com/llvm/llvm-project/blob/cd200c8dfae0de1602b59011381377d147a86bdb/llvm/cmake/modules/HandleLLVMOptions.cmake#L567-L580
DeltaFile
+3-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+3-01 files

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

[clang] fix common type calculation for l-values of 'void' type (#183972)

Fixes #111300
DeltaFile
+5-1clang/test/Sema/sugar-common-types.c
+2-2clang/lib/Sema/SemaExpr.cpp
+1-0clang/docs/ReleaseNotes.rst
+8-33 files

LLVM/project 02c7a6cllvm/test/Transforms/SLPVectorizer/X86 disjoint-or-reductions.ll

[SLP][NFC]Add tests for bitcasts/bswaps with large target type
DeltaFile
+101-0llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
+101-01 files

LLVM/project 406413dclang/docs ReleaseNotes.rst, clang/lib/Sema SemaExpr.cpp

[clang] fix common type calculation for l-values of 'void' type

Fixes #111300
DeltaFile
+5-1clang/test/Sema/sugar-common-types.c
+2-2clang/lib/Sema/SemaExpr.cpp
+1-0clang/docs/ReleaseNotes.rst
+8-33 files