[all-commits] [llvm/llvm-project] 85a6be: [GlobalISel] Add known bits and sign-bits handling...

David Green via All-commits all-commits at lists.llvm.org
Tue May 20 04:42:41 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85a6bedf00e9e655cc0cf690878af37820f94905
      https://github.com/llvm/llvm-project/commit/85a6bedf00e9e655cc0cf690878af37820f94905
  Author: David Green <david.green at arm.com>
  Date:   2025-05-20 (Tue, 20 May 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sve-splat.mir

  Log Message:
  -----------
  [GlobalISel] Add known bits and sign-bits handling for G_SPLAT_VECTOR (#140204)

This forwards the KnownBits / SignBits from the scalar operand through
to the vector elements. The value is implicitly truncated if it is
larger than the vector element size. The change in
GISelValueTracking::computeNumSignBits allows scalable sign-bits using a
single element demanded elts, and brings it in line with the code in
ValueTracking and SDAG (and GISelValueTracking::getKnownBits). That was
the main motivation for adding this opcode, to prevent scalable vector
asserts.



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