[all-commits] [llvm/llvm-project] 5db527: [CostModel] Return an invalid cost for memory ops ...

kmclaughlin-arm via All-commits all-commits at lists.llvm.org
Tue Jun 8 04:08:10 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5db52751a594410d0166d606b305b01a03f0ca3f
      https://github.com/llvm/llvm-project/commit/5db52751a594410d0166d606b305b01a03f0ca3f
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2021-06-08 (Tue, 08 Jun 2021)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/sve-illegal-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
    A llvm/test/Transforms/VectorCombine/AArch64/extract-cmp-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp

  Log Message:
  -----------
  [CostModel] Return an invalid cost for memory ops with unsupported types

Fixes getTypeConversion to return `TypeScalarizeScalableVector` when a scalable vector
type cannot be legalized by widening/splitting. When this is the method of legalization
found, getTypeLegalizationCost will return an Invalid cost.

The getMemoryOpCost, getMaskedMemoryOpCost & getGatherScatterOpCost functions already call
getTypeLegalizationCost and will now also return an Invalid cost for unsupported types.

Reviewed By: sdesmalen, david-arm

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




More information about the All-commits mailing list