[all-commits] [llvm/llvm-project] 775d0f: [GVN] Handle scalable vectors with the same size i...

David Green via All-commits all-commits at lists.llvm.org
Thu Jan 23 10:44:13 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 775d0f36f74851172f84074d90cde29e181b3edd
      https://github.com/llvm/llvm-project/commit/775d0f36f74851172f84074d90cde29e181b3edd
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/VNCoercion.cpp
    M llvm/test/Transforms/GVN/vscale.ll

  Log Message:
  -----------
  [GVN] Handle scalable vectors with the same size in VNCoercion (#123984)

This allows us to forward to a load even if the types do not match
(nxv4i32 vs nxv2i64 for example). Scalable types are allowed in
canCoerceMustAliasedValueToLoad so long as the size (minelts *
scalarsize) is the same, and some follow-on code is adjusted to make
sure it handles scalable sizes correctly. Methods like
analyzeLoadFromClobberingWrite and analyzeLoadFromClobberingStore still
do nothing for scalable vectors, as Offsets and mismatching types are
not supported.



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