[PATCH] D40405: Fix incorrect handling of unsized / void types in SITargetLowering::isLegalAddressingMode

Alex Voicu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 15 14:37:39 PDT 2018


AlexVlx added a comment.

I believe that we need to behave as is LegalAddressingMode is supposed to behave in general(see 469 in TargetTransformInfo.h):

  /// Return true if the addressing mode represented by AM is legal for
  /// this target, for a load/store of the specified type.
  /// The type may be VoidTy, in which case only return true if the addressing
  /// mode is legal for a load/store of any legal type.
  /// If target returns true in LSRWithInstrQueries(), I may be valid.

When I looked at it, it was the case that VoidTy is essentially a tag type in this case. Other targets such as AArch64 also acknowledge that an unsized type may be passed through all the way to isLegalAddressingMode.


Repository:
  rL LLVM

https://reviews.llvm.org/D40405





More information about the llvm-commits mailing list