LLVM/project b3383d7mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/test/Conversion/NVVMToLLVM nvvm-to-llvm.mlir

[MLIR][NVVM] Fix a typo in barrier.arrive Op (#89273)

DeltaFile
+1-1mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+1-1mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
+2-22 files

LLVM/project 947b656llvm/lib/Passes PassBuilderPipelines.cpp, llvm/test/Instrumentation/PGOForceFunctionAttrs basic.ll

[PGO] Check that PGOOpt exists before using PGOOpt->ColdOptType (#89139)

This means that the pass is unusable without some sort of profile. We
can revisit this decision later if we want to support running this pass
without a profile.
DeltaFile
+4-0llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
+1-1llvm/lib/Passes/PassBuilderPipelines.cpp
+5-12 files

LLVM/project 22ed10dutils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel][mlir] Add missing dep after ee0284ec1027
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project 0e5c28dlldb use_lldb_suite_root.py, lldb/cmake/modules LLDBConfig.cmake

[lldb][test] Remove LLDB_TEST_USE_VENDOR_PACKAGES (#89260)

The `LLDB_TEST_USE_VENDOR_PACKAGES` has defaulted to `Off` for a while.
Either installing `pexpect` or skipping those tests with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` seems to be enough that
we can fully remove this option.

This patch removes the `LLDB_TEST_USE_VENDOR_PACKAGES` cmake
configuration as well as the associated code to add
`third_party/Python/module` to the python path. I'll do the actual
deletion of `third_party/Python/module` in a followup PR in the
(unlikely, I hope) event this commit needs to be reverted.
DeltaFile
+0-14lldb/use_lldb_suite_root.py
+0-8lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
+0-4lldb/utils/lldb-dotest/lldb-dotest.in
+1-2lldb/test/CMakeLists.txt
+0-3lldb/test/API/lit.cfg.py
+0-2lldb/cmake/modules/LLDBConfig.cmake
+1-334 files not shown
+1-3710 files

LLVM/project c577f91mlir/include/mlir/Dialect/Vector/Transforms VectorRewritePatterns.h, mlir/lib/Dialect/Vector/Transforms VectorLinearize.cpp

[mlir][vector] Add support for linearizing Extract, ExtractStridedSlice, Shuffle VectorOps in VectorLinearize (#88204)

This PR adds support for converting `vector.extract_strided_slice` and
`vector.extract` operations to equivalent `vector.shuffle` operations
that operates on linearized (1-D) vectors. `vector.shuffle` operations
operating on n-D (n > 1) are also converted to equivalent shuffle
operations working on linearized vectors.
DeltaFile
+270-0mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
+92-0mlir/test/Dialect/Vector/linearize.mlir
+7-0mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
+2-0mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+371-04 files

LLVM/project 0ce29c6clang/test/CodeGenCUDA record-layout.cu, llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp

add a helper and improve tests

Created using spr 1.3.5-bogner
DeltaFile
+354-228llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
+200-0clang/test/CodeGenCUDA/record-layout.cu
+37-69llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+41-33llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
+38-24llvm/tools/llvm-readobj/ELFDumper.cpp
+38-10llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+708-36411 files not shown
+791-41217 files

LLVM/project 44713f1llvm/lib/Target/AMDGPU VOPCInstructions.td

[AMDGPU][MC] Separate VOPC MnemonicAlias from Instruction (#89105)

Tablegen classes MnemonicAlias, Requires, and VOPC_Real, all define a
field 'Predicates'. The prior formulation resulted in the instantiated
record inheriting from all three to only have the Predicate set in
Requires, i.e. Gen.AssemblerPredicate. This breaks the design of
GCNPredicateControl (which is a parent class of VOPC_Real) that allows
multiple predicates such as SubtargetPredicate and OtherPredicates to be
set on an Instruction.
MnemonicAlias does not need to be defined in the same record as
VOPC_Real, so we can separate the definitions and remove Requires to
avoid the issue.
NFCI, but it enables future changes, such as setting multiple predicates
on a VOPC_Real.
DeltaFile
+117-105llvm/lib/Target/AMDGPU/VOPCInstructions.td
+117-1051 files

LLVM/project 68e814dllvm/include/llvm/MC/MCDisassembler MCDisassembler.h, llvm/lib/Target/AMDGPU/Disassembler AMDGPUDisassembler.cpp AMDGPUDisassembler.h

 [AMDGPU] Add disassembler diagnostics for invalid kernel descriptors  (#87400)

These mostly are checking for various reserved bits being set. The diagnostics
for gpu-dependent reserved bits have a bit more context since they seem like the
most likely ones to be observed in practice.

This commit also improves the error handling mechanism for
MCDisassembler::onSymbolStart(). Previously it had a comment stream parameter
that was just being ignored by llvm-objdump, now it returns errors using
Expected<T>.
DeltaFile
+158-88llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
+92-0llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-rsrc-errors.test
+73-0llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
+34-29llvm/tools/llvm-objdump/llvm-objdump.cpp
+15-16llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
+13-12llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
+385-1453 files not shown
+405-1659 files

LLVM/project c01d102libcxx/include/__chrono formatter.h time_zone.h

[libc++][TZDB] Renames incomplete.

The new name uses experimental which better conveys what it means.
DeltaFile
+7-7libcxx/include/__chrono/formatter.h
+2-2libcxx/include/__chrono/time_zone.h
+2-2libcxx/include/__chrono/tzdb.h
+2-2libcxx/include/__chrono/tzdb_list.h
+2-2libcxx/include/__chrono/leap_second.h
+2-2libcxx/include/__chrono/local_info.h
+17-1758 files not shown
+80-8064 files

LLVM/project e965488libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local local_info.members.pass.cpp local_info,members.pass.cpp

[NFC][libc++][chrono] Renames a file.

This uses a period instead of a comma; the latter was a typo.
DeltaFile
+57-0libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
+0-57libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info,members.pass.cpp
+57-572 files

LLVM/project eb989f6llvm/lib/Target/SPIRV SPIRVBuiltins.cpp SPIRVUtils.cpp, llvm/test/CodeGen/SPIRV/image sampler.ll

[SPIR-V] Fix return type when sampling an image with OpImageSampleExplicitLod (#89252)

This PR fixes parsing of builtins return types in general and fixes
return type when sampling an image with OpImageSampleExplicitLod in
particular.
DeltaFile
+32-0llvm/test/CodeGen/SPIRV/image/sampler.ll
+4-1llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+1-1llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+1-1llvm/lib/Target/SPIRV/SPIRVUtils.h
+38-34 files

LLVM/project 9842726lldb/unittests/Host/linux HostTest.cpp

this test is flakey on arm in linux because I got too clever (#89267)

the assembly jazz doesn't work on arm. oops
DeltaFile
+5-1lldb/unittests/Host/linux/HostTest.cpp
+5-11 files

LLVM/project 74e07abllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV unsigned-node-trunc-with-signed-users.ll

[SLP]Fix final analysis for unsigned nodes.

Need to check that at least single bit is cleared for unsigned nodes
before reducing their size. Otherwise they might be treated as signed in
signed nodes.
DeltaFile
+10-8llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
+8-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+18-92 files

LLVM/project 33786b6llvm/utils update_any_test_checks.py

Make update_any_test_check.py script accepting @listfile CL argument. (#86800)

Usage: `update_any_test_check.py @my_list_of_tests`
where my_list_of_tests is a file containing list of tests to update.
DeltaFile
+24-2llvm/utils/update_any_test_checks.py
+24-21 files

LLVM/project 992413dflang/lib/Lower/OpenMP OpenMP.cpp Utils.cpp

[flang][OpenMP] Move clause/object conversion to happen early, in genOMP (#87086)

This removes the last use of genOmpObjectList2, which has now been
removed.

---------

Co-authored-by: Sergio Afonso <safonsof at amd.com>
DeltaFile
+212-237flang/lib/Lower/OpenMP/OpenMP.cpp
+11-19flang/lib/Lower/OpenMP/Utils.cpp
+2-4flang/lib/Lower/OpenMP/Utils.h
+2-3flang/lib/Lower/OpenMP/DataSharingProcessor.h
+2-3flang/lib/Lower/OpenMP/ClauseProcessor.h
+229-2665 files

LLVM/project df7eb20llvm/test/Transforms/SLPVectorizer/RISCV unsigned-node-trunc-with-signed-users.ll

[SLP][NFC]Add a test with incorrect final analysis for unsigned nodes, being used in signed nodes.
DeltaFile
+77-0llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
+77-01 files

LLVM/project ee0284emlir/lib/Conversion/TosaToLinalg TosaToLinalg.cpp TosaToLinalgPass.cpp, mlir/test/Conversion/TosaToLinalg tosa-to-linalg.mlir

[TOSA] FFT2D/RFFT2D accuracy increased (#88510)

This PR increases accurasy of FFT2D/RFFT2D calculation by removing
periodic part of sin/cos
DeltaFile
+168-179mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
+40-22mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
+2-1mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
+210-2023 files

LLVM/project d556ed5llvm/test/CodeGen/X86 gfni-shifts.ll gfni-rotates.ll

[X86] Add GFNI test coverage without AVX512BW

512-bit GFNI doesn't require AVX512BW
DeltaFile
+798-294llvm/test/CodeGen/X86/gfni-shifts.ll
+546-229llvm/test/CodeGen/X86/gfni-rotates.ll
+44-15llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
+1,388-5383 files

LLVM/project 4681079lldb/include/lldb/Utility ProcessInfo.h, lldb/source/Host/linux Host.cpp

adds additional information to the ProcessInfo object for elf processes (#88995)

This adds some additional bits into a ProcessInfo structure that will be
of use in filling structs in an elf core file. This is a demand for
implementing process save-core
DeltaFile
+105-20lldb/source/Host/linux/Host.cpp
+71-0lldb/include/lldb/Utility/ProcessInfo.h
+23-0lldb/unittests/Host/linux/HostTest.cpp
+199-203 files

LLVM/project c37c472llvm/lib/Target/AVR AVRISelLowering.cpp

[AVR] Let ArrayRef infer the array size (NFC) (#88638)

DeltaFile
+4-4llvm/lib/Target/AVR/AVRISelLowering.cpp
+4-41 files

LLVM/project 24da7famlir/include/mlir/Analysis FlatLinearValueConstraints.h, mlir/lib/Analysis FlatLinearValueConstraints.cpp

[MLIR][Presburger] Use Identifiers outside Presburger library (#77316)

The pull request includes the following changes.
1. Refactors the interface to `PresburgerSpace::identifiers` to `setId` and a
const `getId`, instead of previous `getId` which returned a mutable
reference. `resetIds` does not need to be called to use identifiers, `setId`
calls `resetIds` if identifiers are not enabled.
2. Deprecates `FlatAffineRelation` by refactoring all usages of
`FlatAffineRelation` to `IntegerRelation`. To achieve this,
`FlatAffineRelation::compose` is refactored into
`IntegerRelation::mergeAndCompose`.
3. Deletes unneeded overrides of virtual functions `hasConsistentState`,
`clearAndCopyFrom` and `fourierMotzkinEliminate` from
`FlatLinearValueConstraints` as these were only used through
`FlatAffineRelation` and we now use `IntegerRelation`'s member functions
instead.
4. Fixes an existing bug in FlatLinearValueConstraints' constructor
which caused
identifiers set by superclass FlatLinearConstraints' constructor to be
erased.
5. Fixes `IntegerRelation::convertVarKind` not preserving identifiers.
DeltaFile
+189-66mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
+42-96mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+47-50mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
+77-18mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+37-45mlir/unittests/Analysis/Presburger/PresburgerSpaceTest.cpp
+44-29mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
+436-3046 files not shown
+508-33412 files

LLVM/project 6870ac2lldb/source/Plugins/ObjectFile/Minidump MinidumpFileBuilder.cpp ObjectFileMinidump.cpp, lldb/test/API/tools/lldb-dap/save-core TestDAP_save_core.py main.cpp

Fix saving minidump from lldb-dap (#89113)

There are users reporting saving minidump from lldb-dap does not work.

Turns out our stack trace request always evaluate a function call which
caused JIT object file like "__lldb_caller_function" to be created which
can fail minidump builder to get its module size.

This patch fixes "getModuleFileSize" for ObjectFileJIT so that module
list can be saved. I decided to create a lldb-dap test so that this
end-to-end functionality can be validated from our tests (instead of
only command line lldb).

The patch also improves several other small things in the workflow:
1. It logs any minidump stream failure so that it is easier to find out
what stream saving fails. In future, we should show process and error to
end users.
2. It handles error from "getModuleFileSize" llvm::Expected<T> otherwise
it will complain the error is not handled.

    [3 lines not shown]
DeltaFile
+79-0lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
+17-3lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
+14-4lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
+8-0lldb/test/API/tools/lldb-dap/save-core/main.cpp
+5-0lldb/test/API/tools/lldb-dap/save-core/Makefile
+123-75 files

LLVM/project 215eee6flang CMakeLists.txt

Revert "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"

This reverts commit 920298456037b9ed3ab14cb646ef6d3bf95d2c2b.
DeltaFile
+9-11flang/CMakeLists.txt
+9-111 files

LLVM/project 254cdcdllvm/lib/Target/X86 X86InstrSSE.td, llvm/test/CodeGen/X86 combine-testpd.ll combine-testps.ll

[X86] ptest is commutable as long as only the Z flag is used. (#88969)

Fixes #88958.
DeltaFile
+82-0llvm/test/CodeGen/X86/combine-testpd.ll
+82-0llvm/test/CodeGen/X86/combine-testps.ll
+37-0llvm/lib/Target/X86/X86InstrSSE.td
+19-13llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
+2-4llvm/test/CodeGen/X86/combine-ptest.ll
+222-175 files

LLVM/project 8fa1cbbllvm/test/CodeGen/X86 gfni-shifts.ll

[X86] gfni-shifts.ll - add vXi8 variable/splat/constant test coverage

Once #89115 has landed, we can handle per-element shifts as well using (V)GF2P8MULB
DeltaFile
+2,517-0llvm/test/CodeGen/X86/gfni-shifts.ll
+2,517-01 files

LLVM/project efbb846llvm/test/CodeGen/X86 gfni-rotates.ll

[X86] gfni-rotates.ll - add vXi8 variable/splat/constant test coverage

Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB
DeltaFile
+1,980-0llvm/test/CodeGen/X86/gfni-rotates.ll
+1,980-01 files

LLVM/project b41179dllvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port 8a21d59f29ef
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project ba11588llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AArch64 pr88966.ll

[DAGCombiner][AArch64] Make combineCarryDiamond avoid creating UADDO_CARRY with carry in larger than setcc result type. (#89121)

In the attach test case we were creating a UADDO_CARRY with i1 carry out
and i41 carry in. i41 exceeds is larger than the setcc result type for
AArch64 which is i32. i41 needs to be promoted to i64 since it is larger
than i32. The type legalizer tried to use promoteTargetBoolean, but that
can only promote from a type smaller than setcc result type.

The easiest fix here is to force the carryin type to match the carryout
type at the type of creation. This should ensure the node won't exceeed
setcc result type as long as the output type doesn't.

I think we should explore requiring the types to match for this node.

Fixes #88966
DeltaFile
+29-0llvm/test/CodeGen/AArch64/pr88966.ll
+2-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+31-02 files

LLVM/project d8a26callvm/include/llvm/Support KnownBits.h, llvm/lib/Support KnownBits.cpp

[KnownBits] Make abdu and abds optimal (#89081)

Fixes #84212
DeltaFile
+39-27llvm/lib/Support/KnownBits.cpp
+2-56llvm/unittests/Support/KnownBitsTest.cpp
+1-1llvm/include/llvm/Support/KnownBits.h
+42-843 files

LLVM/project 97774b4libcxx/include/__chrono formatter.h tzdb.h

[libc++][TZDB] Renames incomplete.

The new name uses experimental which better conveys what it means.
DeltaFile
+7-7libcxx/include/__chrono/formatter.h
+2-2libcxx/include/__chrono/tzdb.h
+2-2libcxx/include/__chrono/tzdb_list.h
+2-2libcxx/include/__chrono/leap_second.h
+2-2libcxx/include/__chrono/local_info.h
+2-2libcxx/include/__chrono/ostream.h
+17-1757 files not shown
+79-7963 files