[all-commits] [llvm/llvm-project] 6c9066: Recommit "[AArch64] Fix incorrect `isLegalAddressi...

Momchil Velikov via All-commits all-commits at lists.llvm.org
Fri Apr 21 08:21:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c9066fe2ecc3fa04d857db864ee9a4d08b30740
      https://github.com/llvm/llvm-project/commit/6c9066fe2ecc3fa04d857db864ee9a4d08b30740
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-04-21 (Fri, 21 Apr 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-pre-inc-offset-check.ll
    A llvm/unittests/Target/AArch64/AddressingModes.cpp
    M llvm/unittests/Target/AArch64/CMakeLists.txt

  Log Message:
  -----------
  Recommit "[AArch64] Fix incorrect `isLegalAddressingMode`"

This patch recommits 0827e2fa3fd15b49fd2d0fc676753f11abb60cab after
reverting it in ed7ada259f665a742561b88e9e6c078e9ea85224.  Added
workround for `Targetlowering::AddrMode` no longer being an aggregate
in C++20.

`AArch64TargetLowering::isLegalAddressingMode` has a number of
defects, including accepting an addressing mode, which consists of
only an immediate operand, or not checking the offset range for an
addressing mode in the form `1*ScaledReg + Offs`.

This patch fixes the above issues.

Reviewed By: dmgreen

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

Change-Id: I41a520c13ce21da503ca45019979bfceb8b648fa




More information about the All-commits mailing list