[all-commits] [llvm/llvm-project] c95498: [GISel] Add support for scalable vectors in getGCD...

Michael Maitland via All-commits all-commits at lists.llvm.org
Wed Feb 7 07:32:23 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c954986fec97ab22a9658b496731d0c280938a64
      https://github.com/llvm/llvm-project/commit/c954986fec97ab22a9658b496731d0c280938a64
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-02-07 (Wed, 07 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp

  Log Message:
  -----------
  [GISel] Add support for scalable vectors in getGCDType (#80307)

This function can be called from buildCopyToRegs where at least one of
the types is a scalable vector type. This function crashed because it
did not know how to handle scalable vector types.

This patch extends the functionality of getGCDType to handle when at
least one of the types is a scalable vector. getGCDType between a fixed
and scalable vector is not implemented since the docstring of the
function explains that getGCDType is used to build MERGE/UNMERGE
instructions and we will never build a MERGE/UNMERGE between fixed and
scalable vectors.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>




More information about the All-commits mailing list