[all-commits] [llvm/llvm-project] 984111: [RISCV][NFC] Use defined variable instead some code.

Tom Stellard via All-commits all-commits at lists.llvm.org
Fri Aug 5 01:16:31 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 98411113094fe93e3124f2db9d7a99cf03b8bdb3
      https://github.com/llvm/llvm-project/commit/98411113094fe93e3124f2db9d7a99cf03b8bdb3
  Author: wanglian <Lian.Wang at streamcomputing.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV][NFC] Use defined variable instead some code.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D130687

(cherry picked from commit e208bab55fb11a69931a02dec8583a8ec5f94bbf)


  Commit: b5b435517a77d9e7c1b30b827b543d47e195adba
      https://github.com/llvm/llvm-project/commit/b5b435517a77d9e7c1b30b827b543d47e195adba
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/i64-icmp.ll

  Log Message:
  -----------
  [RISCV] Prevent infinite loop after D129980.

D129980 converts (seteq (i64 (and X, 0xffffffff)), C1) into
(seteq (i64 (sext_inreg X, i32)), C1). If bit 31 of X is 0, it
will be turned back into an 'and' by SimplifyDemandedBits which
can cause an infinite loop.

To prevent this, check if bit 31 is 0 with computeKnownBits before
doing the transformation.

Fixes PR56905.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D131113

(cherry picked from commit 53d560b22f5b5d91ae5296f030e0ca75a5d2c625)


  Commit: e7a776ef4a4588ccd0f69dcbbf2b45f0e23c9f3f
      https://github.com/llvm/llvm-project/commit/e7a776ef4a4588ccd0f69dcbbf2b45f0e23c9f3f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M lldb/source/Core/Disassembler.cpp

  Log Message:
  -----------
  [lldb] Silence a GCC warning about missing returns after a fully covered switch. NFC.

(cherry picked from commit b7c5683fac3de2f3349d57b9e133ac53204b1148)


  Commit: abf0175833e3692a1238982305014ed38921ae4b
      https://github.com/llvm/llvm-project/commit/abf0175833e3692a1238982305014ed38921ae4b
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/UnwindInfoSection.cpp

  Log Message:
  -----------
  [LLD] [MachO] Fix GCC build warnings

This fixes the following warnings produced by GCC 9:

    ../tools/lld/MachO/Arch/ARM64.cpp: In member function ‘void {anonymous}::OptimizationHintContext::applyAdrpLdr(const lld::macho::OptimizationHint&)’:
    ../tools/lld/MachO/Arch/ARM64.cpp:448:18: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
      448 |   if (ldr.offset != (rel1->referentVA & 0xfff))
          |       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../tools/lld/MachO/UnwindInfoSection.cpp: In function ‘bool canFoldEncoding(compact_unwind_encoding_t)’:
    ../tools/lld/MachO/UnwindInfoSection.cpp:404:44: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare]
      404 |   static_assert(UNWIND_X86_64_MODE_MASK == UNWIND_X86_MODE_MASK, "");
          |                                            ^~~~~~~~~~~~~~~~~~~~
    ../tools/lld/MachO/UnwindInfoSection.cpp:405:49: warning: comparison between ‘enum<unnamed>’ and ‘enum<unnamed>’ [-Wenum-compare]
      405 |   static_assert(UNWIND_X86_64_MODE_STACK_IND == UNWIND_X86_MODE_STACK_IND, "");
          |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~

Differential Revision: https://reviews.llvm.org/D130970

(cherry picked from commit 59c6f418fa3c5d6f5c8b75ebd817be8113de7931)


  Commit: bf03788dca951fc5e28a471ef6fdf210c1dd9e09
      https://github.com/llvm/llvm-project/commit/bf03788dca951fc5e28a471ef6fdf210c1dd9e09
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-blend.ll
    M llvm/test/CodeGen/X86/combine-sdiv.ll

  Log Message:
  -----------
  Revert "[X86][DAGISel] Don't widen shuffle element with AVX512"

This reverts commit 5fb41342105700949c81f68aefc85d9c46e9a1a6.

This patch is causing crashes when building llvm-test-suite when
optimizing for CPUs with AVX512.

Reproducer crashing with llc:

    target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
    target triple = "x86_64-apple-macosx"

    define i32 @test(<32 x i32> %0) #0 {
    entry:
      %1 = mul <32 x i32> %0, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
      %2 = tail call i32 @llvm.vector.reduce.add.v32i32(<32 x i32> %1)
      ret i32 %2
    }

    ; Function Attrs: nocallback nofree nosync nounwind readnone willreturn
    declare i32 @llvm.vector.reduce.add.v32i32(<32 x i32>) #1

    attributes #0 = { "min-legal-vector-width"="0" "target-cpu"="skylake-avx512" }
    attributes #1 = { nocallback nofree nosync nounwind readnone willreturn }

(cherry picked from commit f912bab111add1275fcaf5f24e4d3654127972d0)


  Commit: 3d39cecfe183790d67d81577492dbbff78bedc0a
      https://github.com/llvm/llvm-project/commit/3d39cecfe183790d67d81577492dbbff78bedc0a
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/modules-fprebuilt-mdoule-path.cpp

  Log Message:
  -----------
  [C++2b] [Modules] Handle HaveModules with C++2b

Closing https://github.com/llvm/llvm-project/issues/56803. The root
cause for this bug is that we lack a good method to detect the language
mdoe when parsing the command line. There is a FIXME too. Dut to we lack
a good solution now, keep the workaround.

(cherry picked from commit 834a878367f549c58313200ce2c3a0da1a29d842)


  Commit: e4ec381f2cf538ff9ed5f3deef6280d5912ace77
      https://github.com/llvm/llvm-project/commit/e4ec381f2cf538ff9ed5f3deef6280d5912ace77
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2022-08-05 (Fri, 05 Aug 2022)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/MPInt.h

  Log Message:
  -----------
  [mlir] Fix Analysis/Presburger/Utils.cpp compilation with GCC 11

As reported in Issue #56850, mlir/lib/Analysis/Presburger/Utils.cpp doesn't
compile on Solaris 11.4/SPARC with the bundled GCC 11, as seen when testing
LLVM 15.0.0 rc1:

  /var/llvm/reltest/llvm-15.0.0-rc1/rc1/llvm-project/mlir/include/mlir/Analysis/Presburger/MPInt.h:260:47:
error: inlining failed in call to ‘always_inline’ ‘int64_t
mlir::presburger::int64FromMPInt(const mlir::presburger::MPInt&)’: indirect
function call with a yet undetermined callee

This patch hacks around this and allowed the build to finish.

Tested on `sparcv9-sun-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D131060

(cherry picked from commit 75747e6e11aed9ed75d27527e9262cedb2e3f887)


Compare: https://github.com/llvm/llvm-project/compare/b8f8e4530c47...e4ec381f2cf5


More information about the All-commits mailing list