[all-commits] [llvm/llvm-project] bdb155: [mlir] Add pass to add comdat to all linkonce func...

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Oct 31 01:01:15 PDT 2023


  Branch: refs/heads/release/17.x
  Home:   https://github.com/llvm/llvm-project
  Commit: bdb1553c7639baaf17f462bb743beac1fdd360d9
      https://github.com/llvm/llvm-project/commit/bdb1553c7639baaf17f462bb743beac1fdd360d9
  Author: David Truby <david at truby.dev>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/AddComdats.h
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    A mlir/lib/Dialect/LLVMIR/Transforms/AddComdats.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    A mlir/test/Dialect/LLVMIR/add-linkonce-comdat.mlir

  Log Message:
  -----------
  [mlir] Add pass to add comdat to all linkonce functions (#65270)

This adds a new pass to add an Any comdat to each linkonce
and linkonce_odr function in the LLVM dialect. These comdats are
necessary on Windows
to allow the default system linker to link binaries containing these
functions.

(cherry picked from commit a6857156df9a73720fbd9633067d1a61c32dd74e)


  Commit: 12bbcd627f60342dbed87ce0bc064bcc27b6d169
      https://github.com/llvm/llvm-project/commit/12bbcd627f60342dbed87ce0bc064bcc27b6d169
  Author: David Truby <david at truby.dev>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/test/Fir/comdat.fir
    M flang/test/Intrinsics/math-codegen.fir

  Log Message:
  -----------
  [flang] Add comdats to functions with linkonce linkage (#66516)

This fixes a bug where functions generated by the MLIR Math dialect, for
example ipowi, would fail to link with link.exe on Windows due to having
linkonce linkage but no associated comdat. Adding the comdat on ELF also
allows linkers to perform better garbage collection in the binary.

Simply adding comdats to all functions with this linkage type should
also cover future cases where linkonce or linkonce_odr functions might
be necessary.

(cherry picked from commit 5f476b80e3d472f672f5f6a719eebe2c0aadf52c)


  Commit: a8046f72bfb3d0000f9427dd4d2e20d41ab591d7
      https://github.com/llvm/llvm-project/commit/a8046f72bfb3d0000f9427dd4d2e20d41ab591d7
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [OpenMP] record-replay use static-cast  (#70516)

[OpenMP] Fixes #69905

(cherry picked from commit 01828c4323172db5901ac3e959d52553b2bd74e5)


  Commit: 9d0ca259eed64c547b0a28fc7c5c46b9ca66ce9f
      https://github.com/llvm/llvm-project/commit/9d0ca259eed64c547b0a28fc7c5c46b9ca66ce9f
  Author: Brad Smith <brad at comstyle.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M openmp/runtime/src/kmp_runtime.cpp

  Log Message:
  -----------
  [OpenMP] Fix building for 32-bit DragonFly, NetBSD, OpenBSD (#70527)

Fixing ```#error "Unknown or unsupported OS"```

(cherry picked from commit 223852aecf3f01cea21c40ea128a26f6a194345d)


  Commit: 586481468a073b342a1d7940cc9f65b762a9a6ce
      https://github.com/llvm/llvm-project/commit/586481468a073b342a1d7940cc9f65b762a9a6ce
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-cxx20.cpp

  Log Message:
  -----------
  [clang-tidy] Fix crash in modernize-use-trailing-return-type (#70709)

Resolved the crash that occurred during the use of a user-defined
C-style string literal. The fix entails checking whether the identifier
is non-empty before attempting to read its name.

(cherry picked from commit a396fb247e0719f56a830a9e4aab0449be7f843a)


  Commit: c2eab59e622cde6989b5ee923a1f957f3afd7ad5
      https://github.com/llvm/llvm-project/commit/c2eab59e622cde6989b5ee923a1f957f3afd7ad5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp
    A llvm/test/Transforms/GVN/pr69301.ll

  Log Message:
  -----------
  [GVN] Fix use-after-free in load PRE with select available value (#69314)

replaceValuesPerBlockEntry() only handled simple and coerced load
values, however the load may also be referenced by a select value.

Additionally, I suspect that the previous code might have been incorrect
if a load had an offset, as it always constructed the AvailableValue
from scratch.

Fixes https://github.com/llvm/llvm-project/issues/69301.

(cherry picked from commit 7f1733a252cbbad74445bd54dc95aeec52bb3199)


  Commit: 9477268e4247c7689b8252659151837f9e11b9d0
      https://github.com/llvm/llvm-project/commit/9477268e4247c7689b8252659151837f9e11b9d0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    A llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-tail-call-fallback.ll

  Log Message:
  -----------
  [AArch64] Add test for #70207 (NFC)

(cherry picked from commit d9cfb82207035fc7382ad02ec827c0dbed96565c)


  Commit: 309d55140c46384b6de7a7573206cbeba3f7077f
      https://github.com/llvm/llvm-project/commit/309d55140c46384b6de7a7573206cbeba3f7077f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-10-31 (Tue, 31 Oct 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-tail-call-fallback.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix incorrect ABI when tail call not supported (#70215)

The check for whether a tail call is supported calls
determineAssignments(), which may modify argument flags. As such, even
though the check fails and a non-tail call will be emitted, it will not
have a different (incorrect) ABI.

Fix this by operating on a separate copy of the arguments.

Fixes https://github.com/llvm/llvm-project/issues/70207.

(cherry picked from commit 292f34b0d3cb2a04be5ebb85aaeb838b29f71323)


Compare: https://github.com/llvm/llvm-project/compare/3347c8441588...309d55140c46


More information about the All-commits mailing list