[all-commits] [llvm/llvm-project] e2613c: [AArch64] add test for recursive libcall lowering; ...

Tobias Hieta via All-commits all-commits at lists.llvm.org
Mon Aug 22 02:36:52 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: e2613c5ea62143765e0770cf6a646bf4231819b6
      https://github.com/llvm/llvm-project/commit/e2613c5ea62143765e0770cf6a646bf4231819b6
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
    M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [AArch64] add test for recursive libcall lowering; NFC

Issue #56403

(cherry picked from commit 8eddd1ec6066fe958313a2b1cc4907b5ee7dfbee)


  Commit: 2950a43867616d3736b045098d90d4efeb8e3a56
      https://github.com/llvm/llvm-project/commit/2950a43867616d3736b045098d90d4efeb8e3a56
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [SDAG] avoid generating libcall to function with same name

This is a potentially better alternative to D131452 that also
should avoid the infinite loop bug from:
issue #56403

This is again a minimal fix to reduce merging pain for the
release. But if this makes sense, then we might want to guard
all of the RTLIB generation (and other libcalls?) with a
similar name check.

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

(cherry picked from commit 7f72a0f5bb3743428021df920d9a7c50f74f61ae)


  Commit: 89be541e31b04b07298ea86922550b09b90a7d1a
      https://github.com/llvm/llvm-project/commit/89be541e31b04b07298ea86922550b09b90a7d1a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
    A clang/test/CodeGen/RISCV/riscv-abi.cpp

  Log Message:
  -----------
  [clang][RISCV][test] Add test that shows incorrect ABI lowering

As reported in <https://github.com/llvm/llvm-project/issues/57084>,
under hard float ABIs there are issues with lowering structs that
inherit from other structs.

See <https://reviews.llvm.org/D131677> for a fix.

(cherry picked from commit d17de5479c6234f9e37fb4deca9e537bf8d3932e)


  Commit: 43fb0d7193ad13200db4048b3d266ecb8ba0fc2c
      https://github.com/llvm/llvm-project/commit/43fb0d7193ad13200db4048b3d266ecb8ba0fc2c
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/test/CodeGen/RISCV/riscv-abi.cpp

  Log Message:
  -----------
  [clang][RISCV] Fix incorrect ABI lowering for inherited structs under hard-float ABIs

The hard float ABIs have a rule that if a flattened struct contains
either a single fp value, or an int+fp, or fp+fp then it may be passed
in a pair of registers (if sufficient GPRs+FPRs are available).
detectFPCCEligibleStruct and the helper it calls,
detectFPCCEligibleStructHelper examine the type of the argument/return
value to determine if it complies with the requirements for this ABI
rule.

As reported in bug #57084, this logic produces incorrect results for C++
structs that inherit from other structs. This is because only the fields
of the struct were examined, but enumerating RD->fields misses any
fields in inherited C++ structs. This patch corrects that issue by
adding appropriate logic to enumerate any included base structs.

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

(cherry picked from commit bc538320809fb52af12ec0366118c82201af4f40)


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

  Changed paths:
    M mlir/lib/ExecutionEngine/JitRunner.cpp
    M mlir/test/CAPI/execution_engine.c
    M mlir/test/lit.cfg.py
    M mlir/test/mlir-cpu-runner/lit.local.cfg
    M mlir/test/python/execution_engine.py
    M mlir/unittests/ExecutionEngine/Invoke.cpp

  Log Message:
  -----------
  [mlir][test] Require JIT support in JIT tests

A number of mlir tests `FAIL` on Solaris/sparcv9 with `Target has no JIT
support`.  This patch fixes that by mimicing `clang/test/lit.cfg.py` which
implements a `host-supports-jit` keyword for this.  The gtest-based unit
tests don't support `REQUIRES:`, so lack of support needs to be hardcoded
there.

Tested on `amd64-pc-solaris2.11` (`check-mlir` results unchanged) and
`sparcv9-sun-solaris2.11` (only one unrelated failure left).

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

(cherry picked from commit ca98e0dd6cf59907f07201c4282dcafeeea11a91)


  Commit: 87c92cd2fc180428345083a273e730ec2a4b44b2
      https://github.com/llvm/llvm-project/commit/87c92cd2fc180428345083a273e730ec2a4b44b2
  Author: Martin Sebor <msebor at redhat.com>
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll

  Log Message:
  -----------
  [InstCombine] Correct strtol folding with nonnull endptr

Reflect in the pointer's offset the length of the leading part
of the consumed string preceding the first converted digit.

Reviewed By: efriedma

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

(cherry picked from commit bcef4d238d113c61127575bf5dd0328f97bda9e9)


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

  Changed paths:
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
    M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmRegOperand.ll
    M llvm/test/CodeGen/SPARC/constructor.ll

  Log Message:
  -----------
  [Sparc] Don't use SunStyleELFSectionSwitchSyntax

As discussed in D85414 <https://reviews.llvm.org/D85414>, two tests
currently `FAIL` on Sparc since that backend uses the Sun assembler syntax
for the `.section` directive, controlled by
`SunStyleELFSectionSwitchSyntax`.

Instead of adapting the affected tests, this patch changes that default.
The internal assembler still accepts both forms as input, only the output
syntax is affected.

Current support for the Sun syntax is cursory at best: the built-in
assembler cannot even assemble some of the directives emitted by GCC, and
the set supported by the Solaris assembler is even larger: SPARC Assembly
Language Reference Manual, 3.4 Pseudo-Op Attributes
<https://docs.oracle.com/cd/E37838_01/html/E61063/gmabi.html#scrolltoc>.

A few Sparc test cases need to be adjusted. At the same time, the patch
fixes the failures from D85414 <https://reviews.llvm.org/D85414>.

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

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

(cherry picked from commit d9993484ee40abaab6d9e96872d3a29044202aea)


Compare: https://github.com/llvm/llvm-project/compare/05c85020a5dd...b6889f0f1b2f


More information about the All-commits mailing list