[all-commits] [llvm/llvm-project] 98ce2d: [mlir][sparse] cleanup ldx/idx/depth/at usage (#74...
Jon Roelofs via All-commits
all-commits at lists.llvm.org
Wed Dec 6 15:16:54 PST 2023
Branch: refs/heads/users/jroelofs/spr/llvm-support-ifuncs-on-darwin-platforms
Home: https://github.com/llvm/llvm-project
Commit: 98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
https://github.com/llvm/llvm-project/commit/98ce2debc6ff3f6d31d7b63eb54e10e88a84ee78
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] cleanup ldx/idx/depth/at usage (#74654)
This adds a consistent usage with `at` for everything that refers to the
current loop nesting. This cleans up some redundant legacy code from
when we were still using topSort inside sparsifier code.
Commit: 03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
https://github.com/llvm/llvm-project/commit/03c2f5d8bbcf31239a631d9343ac7f4b6b3094c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
Log Message:
-----------
[mlir][linalg][conv] Flatten the channel dimension when vectorizing (#71918)
The current vectorization of 1D depthwise convolutions in Linalg is
_sub-optimal_ for tensor with a low number of channel dimensions, e.g.:
```mlir
linalg.depthwise_conv_1d_nwc_wc
{dilations = dense<1> : vector<1xi64>,
strides = dense<1> : vector<1xi64>}
ins(%input, %filter : tensor<1x8x3xi8>, tensor<1x3xi8>)
outs(%output : tensor<1x8x3xi8>) -> tensor<1x8x3xi8>
```
That's due to the fact that ultimately (i.e. at LLVM level),
vectorization happens along the trailing dimension (i.e. the channel
dimension). In this case it leads to vectors with 3 elements (or worse,
if there's e.g. only 1 channel dimension). For comparison, a 128 bit
wide vector registers can hold 16 x i8.
Instead, this patch adds an option to flatten/collapse the channel
dimension into the width dimension of the input/filter/output using
`vector.shape_cast` operation:
```mlir
%sc_input = vector.shape_cast %input : vector<1x8x3xi8> to vector<1x24xi8>
%sc_output = vector.shape_cast %output : vector<1x8x3xi8> to vector<1x24xi8>
%b_filter = vector.broadcast %filter : vector<3xi8> to vector<1x8x3xi8>
%sc_filter = vector.shape_cast %b_filter : vector<1x8x3xi8> to vector<1x24xi8>
```
This new vectorization mode is implemented in `depthwiseConv` by
inserting `vector.shape_cast` Ops before and after
`depthwiseConv1dSliceAsMulAcc` is invoked. It can be selected through
e.g. a transform dialect attribute:
```mlir
transform.structured.vectorize_children_and_apply_patterns %conv {flatten_1d_depthwise_conv}
```
A forthcoming patch will implement a strategy to automatically switch
between the two implementations, depending on the shape of the input
tensors.
Co-authored by: Bradley Smith <bradley.smith at arm.com>
Commit: fb62a18615d28694f1a16a3e23915190703a2e98
https://github.com/llvm/llvm-project/commit/fb62a18615d28694f1a16a3e23915190703a2e98
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/docs/Dialects/ArmSME.md
Log Message:
-----------
[mlir][ArmSME] Update docs (#74527)
Commit: 6419fb51678ec8c648e311256ecc0498576b2066
https://github.com/llvm/llvm-project/commit/6419fb51678ec8c648e311256ecc0498576b2066
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
Log Message:
-----------
[GISel] Don't print the opcode twice in LegalityQuery::print. (#74232)
Commit: 78964457cf1bafe57a54629fafbd081452a9e528
https://github.com/llvm/llvm-project/commit/78964457cf1bafe57a54629fafbd081452a9e528
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
[Reassociate] Use disjoint flag to convert Or to Add. (#72772)
We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.
Commit: 92fccea2e50030ac849313010e2d3914b953c6c6
https://github.com/llvm/llvm-project/commit/92fccea2e50030ac849313010e2d3914b953c6c6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
Revert "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"
This reverts commit 78964457cf1bafe57a54629fafbd081452a9e528.
Looks like I didn't rebase this correctly before commit
Commit: 3b2f8795093ce64209bd648231ecda85df28748a
https://github.com/llvm/llvm-project/commit/3b2f8795093ce64209bd648231ecda85df28748a
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test
Log Message:
-----------
[ORC] Use dyn_cast to check input type in StaticLibraryDefinitionGenerator.
Replaces an llvm::cast that assumed that all Binary instances were either
Archive or MachOUniversalBinary instances with a dyn_cast. The cast was
triggering an assert in StaticLibraryDefinitionGenerator::Load if that method
was given a path or MemoryBuffer containing a relocatable object file.
Switching to dyn_cast causes the operation to error out with a bad-format
error as expected.
Fixes rdar://119262300
Commit: c5a1732cf31c81ee9f12264b40eee60d49fd05dd
https://github.com/llvm/llvm-project/commit/c5a1732cf31c81ee9f12264b40eee60d49fd05dd
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir][sparse] use "current" and "curr" consistently (#74656)
Removes at in favor of curr; also makes method delegates consistent
Commit: 4db54e659763401dbf2e5b1f90e9a3391e311e50
https://github.com/llvm/llvm-project/commit/4db54e659763401dbf2e5b1f90e9a3391e311e50
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/test/CodeGenCXX/debug-info-class.cpp
R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
Log Message:
-----------
[clang][DebugInfo] Revert "emit definitions for constant-initialized static data-members" (#74580)
This commit reverts the changes in
https://github.com/llvm/llvm-project/pull/71780 and all of its follow-up
patches.
We got reports of the `.debug_names/.debug_gnu_pubnames/gdb_index/etc.`
sections growing by a non-trivial amount for some large projects. While
GCC emits definitions for static data member constants into the Names
index, they do so *only* for explicitly `constexpr` members. We were
indexing *all* constant-initialized const-static members, which is
likely where the significant size difference comes from. However, only
emitting explicitly `constexpr` variables into the index doesn't seem
like a good way forward, since from clang's perspective `const`-static
integrals are `constexpr` too, and that shouldn't be any different in
the debug-info component. Also, as new code moves to `constexpr` instead
of `const` static for constants, such solution would just delay the
growth of the Names index.
To prevent the size regression we revert to not emitting definitions for
static data-members that have no location.
To support access to such constants from LLDB we'll most likely have to
have to make LLDB find the constants by looking at the containing class
first.
Commit: 2a1bcf1f388c3a2924c5429c3f55be054f479950
https://github.com/llvm/llvm-project/commit/2a1bcf1f388c3a2924c5429c3f55be054f479950
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/PluginManager.cpp
Log Message:
-----------
[OpenMP] Allow to specify what plugins to look for (#74538)
By default we now only look for the plugins we build, but the user can
overwrite that with `LIBOMPTARGET_PLUGINS_TO_LOAD="cuda,amdgpu,x86_64"`
Commit: 533a0856bff75c395deacadf98df8b83c72d55e4
https://github.com/llvm/llvm-project/commit/533a0856bff75c395deacadf98df8b83c72d55e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/add-like-or.ll
Log Message:
-----------
Recommit "[Reassociate] Use disjoint flag to convert Or to Add. (#72772)"
Original message:
We still have to keep the noCommonBitsSet call to handle multiple reassociations in one pass. We'll lose the flag on the first reassociation.
Commit: a93cacf9b08f0780f2ae2832da10a9a841ae7d03
https://github.com/llvm/llvm-project/commit/a93cacf9b08f0780f2ae2832da10a9a841ae7d03
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang driver] Remove a bit of redundant flang specific code [nfc]
getOptionVisibilityMask already returns options::FlangOption in FlangMode,
so this assignment is entirely pointless.
Commit: 64454daab0c34d9f3a488979b6b7dfbe315fa9f8
https://github.com/llvm/llvm-project/commit/64454daab0c34d9f3a488979b6b7dfbe315fa9f8
Author: Christopher Di Bella <cjdb at google.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M libcxx/docs/Hardening.rst
Log Message:
-----------
[libcxx] reorganises the hardening documentation (#73159)
The reorganisation assists with identifying information that's relevant
to the reader by using sections, note/warning blocks, and highlighted
lists.
Some rewording was necessary to fit the new structure and some to
improve flow. Changes to the intention of the documentation have not
been made.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: 71be8f3c23497e28c86f1135f564b16106d8d6fb
https://github.com/llvm/llvm-project/commit/71be8f3c23497e28c86f1135f564b16106d8d6fb
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
Log Message:
-----------
[lldb] Un-xfail test after commit revert
These tests started passing after this PR landed:
https://github.com/llvm/llvm-project/pull/74580
Commit: d552ce263839ea92ae6bc5d05cf5e20b711019d1
https://github.com/llvm/llvm-project/commit/d552ce263839ea92ae6bc5d05cf5e20b711019d1
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
A openmp/libomptarget/test/Inputs/empty.c
A openmp/libomptarget/test/offloading/bug60119.c
Log Message:
-----------
[OpenMP][NFC] Remove `DelayedBinDesc` (#74360)
Remove `DelayedBinDesc` as it is not necessary since
https://github.com/llvm/llvm-project/commit/bc4e0c048aa3cd940b0cea787014c7e8680e5040.
See
https://github.com/llvm/llvm-project/pull/74360#issuecomment-1843603736
for details.
Commit: dcbb1968a8215e79bfc2bdc48a88d2596b7f5995
https://github.com/llvm/llvm-project/commit/dcbb1968a8215e79bfc2bdc48a88d2596b7f5995
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[OpenMP][FIX] Use unique library name to avoid clashes with other tests
We probably should use a temporary name, but having stable names helps
debugging.
Commit: ab212fc94c3da7273442db6bbdad4d5a94f0a515
https://github.com/llvm/llvm-project/commit/ab212fc94c3da7273442db6bbdad4d5a94f0a515
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][openacc] Switch * to `star` which is more MLIR friendly (#74662)
`*` is not friendly to the MLIR attribute parser and will fail to be
parsed. Switch the `*` enum representation to `star`.
Commit: 0ace6ee73a6b7047d16f23170c67cdf358f34c34
https://github.com/llvm/llvm-project/commit/0ace6ee73a6b7047d16f23170c67cdf358f34c34
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/test/offloading/barrier_fence.c
A openmp/libomptarget/test/offloading/bug74582.c
Log Message:
-----------
[OpenMP][FIX] Ensure we do not read outside the device image (#74669)
Before we expected all symbols in the device image to be backed up with
data that we could read. However, uninitialized values are not. We now
check for this case and avoid reading random memory.
This also replaces the correct readGlobalFromImage call with a
isSymbolInImage check after
https://github.com/llvm/llvm-project/pull/74550 picked the wrong one.
Fixes: https://github.com/llvm/llvm-project/issues/74582
Commit: 2ba9720a76491709288467f3d51530cc6d031540
https://github.com/llvm/llvm-project/commit/2ba9720a76491709288467f3d51530cc6d031540
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBitOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for SPIR-V Shifting ops (#74192)
Add missing constant propogation folder for LeftShiftLogical,
RightShift[Logical|Arithmetic].
Implement additional folding when Shift value is 0.
This helps for readability of lowered code into SPIR-V.
Part of work for #70704
Commit: 62b11e1b1640edfdc9e3f3f2d62c666622c1daee
https://github.com/llvm/llvm-project/commit/62b11e1b1640edfdc9e3f3f2d62c666622c1daee
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M openmp/libomptarget/src/PluginManager.cpp
Log Message:
-----------
[OpenMP][NFC] Actually use a string in the error message
Commit: 0cd308aebcde8af4d8b11084a82c8e64b6a828c6
https://github.com/llvm/llvm-project/commit/0cd308aebcde8af4d8b11084a82c8e64b6a828c6
Author: Justin Bogner <mail at justinbogner.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaHLSL/BuiltIns/vector-errors.hlsl
Log Message:
-----------
[Clang][Sema] Don't say "is declared here" for invalid template locations
If a template is defined via an external AST source, it won't have a
location. When we emit warnings about misusing such templates we
shouldn't emit a "template is declared here" warning with no location,
as that's just confusing.
Reviewers: llvm-beanz, erichkeane, AaronBallman
Reviewed By: erichkeane, AaronBallman
Pull Request: https://github.com/llvm/llvm-project/pull/71264
Commit: 5edb8a9ab79cf56697ebe296cd7ae14676a97a8b
https://github.com/llvm/llvm-project/commit/5edb8a9ab79cf56697ebe296cd7ae14676a97a8b
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2023-12-06 (Wed, 06 Dec 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
R clang/test/CodeGenCXX/debug-info-static-inline-member.cpp
M clang/test/CodeGenCXX/debug-info-static-member.cpp
M clang/test/SemaHLSL/BuiltIns/vector-errors.hlsl
M flang/test/Lower/OpenACC/acc-set.f90
M flang/test/Lower/OpenACC/acc-update.f90
M libcxx/docs/Hardening.rst
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-0.ll
A llvm/test/ExecutionEngine/JITLink/Generic/error-object-passed-as-archive.test
M llvm/test/Transforms/Reassociate/add-like-or.ll
M mlir/docs/Dialects/ArmSME.md
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBitOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
A mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/CMakeLists.txt
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/rtl.cpp
A openmp/libomptarget/test/Inputs/empty.c
M openmp/libomptarget/test/offloading/barrier_fence.c
A openmp/libomptarget/test/offloading/bug60119.c
A openmp/libomptarget/test/offloading/bug74582.c
M openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/53e4b6ad00cf...5edb8a9ab79c
More information about the All-commits
mailing list