[all-commits] [llvm/llvm-project] a54712: [LSR] Make canHoistIVInc allow non-integer types (...

John Brawn via All-commits all-commits at lists.llvm.org
Mon Jun 16 07:24:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a54712c8ec25a94ab55a4783bfd9d5467d2ec968
      https://github.com/llvm/llvm-project/commit/a54712c8ec25a94ab55a4783bfd9d5467d2ec968
  Author: John Brawn <john.brawn at arm.com>
  Date:   2025-06-16 (Mon, 16 Jun 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/AArch64/postidx-load.ll

  Log Message:
  -----------
  [LSR] Make canHoistIVInc allow non-integer types (#143707)

canHoistIVInc was made to only allow integer types to avoid a crash in
isIndexedLoadLegal/isIndexedStoreLegal due to them failing an assertion
in getValueType (or rather in MVT::getVT which gets called from that)
when passed a struct type. Adjusting these functions to pass
AllowUnknown=true to getValueType means we don't get an assertion
failure (MVT::Other is returned which TLI->isIndexedLoadLegal should
then return false for), meaning we can remove this check for integer
type.



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