[all-commits] [llvm/llvm-project] c577f9: [mlir][vector] Add support for linearizing Extract...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Apr 18 13:38:08 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/utils-add-script-to-generate-elaborated-assembly-tests
  Home:   https://github.com/llvm/llvm-project
  Commit: c577f91d266b74d1b5df475fa2dce7c47fc6c57e
      https://github.com/llvm/llvm-project/commit/c577f91d266b74d1b5df475fa2dce7c47fc6c57e
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [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.


  Commit: 0e5c28d1930e7210f0f293312382c54d298dda06
      https://github.com/llvm/llvm-project/commit/0e5c28d1930e7210f0f293312382c54d298dda06
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/CMakeLists.txt
    M lldb/use_lldb_suite_root.py
    M lldb/utils/lldb-dotest/CMakeLists.txt
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn

  Log Message:
  -----------
  [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.


  Commit: 22ed10d11e3ed5179e21a59cfa78b8318d1e1665
      https://github.com/llvm/llvm-project/commit/22ed10d11e3ed5179e21a59cfa78b8318d1e1665
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel][mlir] Add missing dep after ee0284ec1027


  Commit: 947b656add053a8c9a36cab27b5c6e8eb9c426f7
      https://github.com/llvm/llvm-project/commit/947b656add053a8c9a36cab27b5c6e8eb9c426f7
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll

  Log Message:
  -----------
  [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.


  Commit: b3383d77693b1ea0fc622112b2c4b2e6719b3811
      https://github.com/llvm/llvm-project/commit/b3383d77693b1ea0fc622112b2c4b2e6719b3811
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

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


  Commit: a71c1b34525c836ab8fbefe4cc3029699ac208a4
      https://github.com/llvm/llvm-project/commit/a71c1b34525c836ab8fbefe4cc3029699ac208a4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td

  Log Message:
  -----------
  [RISCV] Remove unused HasStdExtZama16b Predicate. NFC


  Commit: 2a3a79ce4c2149d7787d56f9841b66cacc9061d0
      https://github.com/llvm/llvm-project/commit/2a3a79ce4c2149d7787d56f9841b66cacc9061d0
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M lld/MachO/ICF.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/MapFile.cpp
    M lld/MachO/MarkLive.cpp
    M lld/MachO/ObjC.cpp
    M lld/MachO/Relocations.cpp
    M lld/MachO/SectionPriorities.cpp
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/Symbols.cpp
    M lld/MachO/Symbols.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/UnwindInfoSection.cpp
    M lld/MachO/Writer.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Preserve original symbol isec, unwindEntry and size (#88357)

Currently, when moving symbols from one `InputSection` to another (like
in ICF) we directly update the symbol's `isec`, `unwindEntry` and
`size`. By doing this we lose the original information. This information
will be needed in a future change. Since when moving symbols we always
set the symbol's `wasCoalesced` and `isec-> replacement`, we can just
use this info to conditionally get the information we need at access
time.


  Commit: 515269b0ac0e061731eb5546c44083bf771db4d8
      https://github.com/llvm/llvm-project/commit/515269b0ac0e061731eb5546c44083bf771db4d8
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/InstallAPI/rpath.test

  Log Message:
  -----------
  [InstallAPI][Tests] Update tests to be resilient to reversion iteration config (#89270)


  Commit: 22c26fa13d46e174e3d862e5f40cff06d804af0c
      https://github.com/llvm/llvm-project/commit/22c26fa13d46e174e3d862e5f40cff06d804af0c
  Author: Anthony Ha <anthonyha96 at gmail.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Target/Platform.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp

  Log Message:
  -----------
  [lldb] Skip remote PutFile when MD5 hashes equal (#88812)

This PR adds a check within `PutFile` to exit early when both local and
destination files have matching MD5 hashes. If they differ, or there is
trouble getting the hashes, the regular code path to put the file is
run.

As I needed this to talk to an `lldb-server` which runs the gdb-remote
protocol, I enabled `CalculateMD5` within `Platform/gdb-server` and also
found and fixed a parsing bug within it as well. Before this PR, the
client is incorrectly parsing the response packet containing the
checksum; after this PR, hopefully this is fixed. There is a test for
the parsing behavior included in this PR.

---------

Co-authored-by: Anthony Ha <antha at microsoft.com>


  Commit: 2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
      https://github.com/llvm/llvm-project/commit/2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M libc/docs/dev/config_options.rst

  Log Message:
  -----------
  [libc][docs] adds highlighting languages to `docs/dev/config_options.rst` (#89136)

Fixes #89135.


  Commit: bd0f818d6303b87314755f026742197fd3b2bae2
      https://github.com/llvm/llvm-project/commit/bd0f818d6303b87314755f026742197fd3b2bae2
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/threads.rst
    A libc/utils/docgen/threads.json

  Log Message:
  -----------
  [libc][docs] adds threads.h impl status docs (#89275)

Closes #88067.

Adding @nickdesaulniers for review.


  Commit: 8ba0041e158f8678e829c10efa73397afdba6b4f
      https://github.com/llvm/llvm-project/commit/8ba0041e158f8678e829c10efa73397afdba6b4f
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/explicit.cpp

  Log Message:
  -----------
  Stop double-diagnosing explicit convert operator in switch condition (#89142)

Note this also likely fixes a bunch of other cases. We were
double-diagnosting in a template because we were generating the
expression anyway, so any attempts to instantiate the function would
instantiate the expression, thus re-diagnosing it.

This patch replaces it with a RecoveryExpr. Additionally,
VerifyIntegerConstantExpression couldn't handle the RecoveryExpr, as it
requires a non-dependent expression result (which a RecoveryExpr is
dependent). Additionally, callers of it use the return value to decide
that VerifyIntegerConstantExpression succeeded, so it fails if it sees a
RecoveryExpr.


  Commit: 76600aee9d7c851d3e26eed7496cec880bd53861
      https://github.com/llvm/llvm-project/commit/76600aee9d7c851d3e26eed7496cec880bd53861
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'num_workers' clause for compute constructs (#89151)

This clause just takes an 'int expr', which is not optional. This patch
implements the clause on compute constructs.


  Commit: e772a268ef75332b72dd9b9ca0341a6af8b0db72
      https://github.com/llvm/llvm-project/commit/e772a268ef75332b72dd9b9ca0341a6af8b0db72
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGenCXX/debug-info-alias.cpp
    A clang/test/CodeGenCXX/defaulted-template-alias.cpp
    A clang/test/CodeGenCXX/template-alias.cpp
    A clang/test/CodeGenCXX/variadic-template-alias.cpp
    M clang/test/Driver/debug-options.c

  Log Message:
  -----------
  [Clang] Emit DW_TAG_template_alias for template aliases (#87623)

Fix issue https://github.com/llvm/llvm-project/issues/54624

Add front end flags -gtemplate-alias (also a cc1 flag) and -gno-template-alias
to enable/disable usage of the feature. It's enabled by default in the front
end for SCE debugger tuning only.

GCC emits DW_TAG_typedef for template aliases (as does Clang with this feature
disabled), and GDB and LLDB appear not to support DW_TAG_template_alias.

The -Xclang option -gsimple-template-names=mangled is treated the same as
=full, which is not a regression from current behaviour for template
aliases.

The current implementation omits defaulted arguments and as a consequence
also omits empty parameter packs that come after defaulted arguments. Again,
this isn't a regression as the DW_TAG_typedef name doesn't contain defaulted
arguments.

LLVM support added in https://github.com/llvm/llvm-project/pull/88943

Added template-alias.cpp - Check the metadata construction & interaction with
      -gsimple-template-names.
Added variadic-template-alias.cpp - Check template parameter packs work.
Added defaulted-template-alias.cpp - Check defaulted args (don't) work.
Modified debug-options.c - Check Clang generates correct cc1 flags.


  Commit: 67669eada3eac53bb88574988dc82f582c2dc9cc
      https://github.com/llvm/llvm-project/commit/67669eada3eac53bb88574988dc82f582c2dc9cc
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M libc/utils/docgen/fenv.json
    M libc/utils/docgen/signal.json
    M libc/utils/docgen/stdbit.json

  Log Message:
  -----------
  [libc][docs] Updates implementation status for some preexisting docgen json files (#89281)

Moving towards displaying impl status of standard header macros. The macros
aren't handled by docgen yet, so I haven't included updated rst files.


  Commit: b8adf169bb86f8226978e1262443e2ffd94298ce
      https://github.com/llvm/llvm-project/commit/b8adf169bb86f8226978e1262443e2ffd94298ce
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'vector_length' clause On compute constructs

The 'vector_length' clause is semantically identical to the
'num_workers' clause, in that it takes a mandatory single int-expr. This
is implemented identically to it.


  Commit: b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
      https://github.com/llvm/llvm-project/commit/b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M libc/src/unistd/linux/pipe.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] unpoison memory returned by pipe syscall (#88942)

The memory sanitizer doesn't recognize the results of the pipe syscall
as being initialized. This patch manually unpoisons that memory.


  Commit: a75a340a8fe70ce39715802e8105dfeb6a9f628d
      https://github.com/llvm/llvm-project/commit/a75a340a8fe70ce39715802e8105dfeb6a9f628d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-18 (Thu, 18 Apr 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/CodeGenCXX/debug-info-alias.cpp
    A clang/test/CodeGenCXX/defaulted-template-alias.cpp
    A clang/test/CodeGenCXX/template-alias.cpp
    A clang/test/CodeGenCXX/variadic-template-alias.cpp
    M clang/test/Driver/debug-options.c
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/InstallAPI/rpath.test
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/SemaCXX/explicit.cpp
    A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
    M clang/tools/libclang/CIndex.cpp
    M libc/docs/dev/config_options.rst
    M libc/docs/index.rst
    A libc/docs/threads.rst
    M libc/src/unistd/linux/pipe.cpp
    M libc/utils/docgen/fenv.json
    M libc/utils/docgen/signal.json
    M libc/utils/docgen/stdbit.json
    A libc/utils/docgen/threads.json
    M lld/MachO/ICF.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/MapFile.cpp
    M lld/MachO/MarkLive.cpp
    M lld/MachO/ObjC.cpp
    M lld/MachO/Relocations.cpp
    M lld/MachO/SectionPriorities.cpp
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/Symbols.cpp
    M lld/MachO/Symbols.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/UnwindInfoSection.cpp
    M lld/MachO/Writer.cpp
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Target/Platform.cpp
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lit.site.cfg.py.in
    M lldb/test/CMakeLists.txt
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/use_lldb_suite_root.py
    M lldb/utils/lldb-dotest/CMakeLists.txt
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
    A llvm/test/tools/UpdateTestChecks/update_test_body/split-file-fail.test
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  add split-file-fail.test (forgot in the last commit). we cannot test the 'split-file' name since it can be different on Windows (though we currently disable Windows testing for safety due to possible unavailability of 'sh')

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/dceadc3ac0ee...a75a340a8fe7

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list