[all-commits] [llvm/llvm-project] 5c296d: [ValueTypes] Add EVT::isFixedLengthVector

Cullen Rhodes via All-commits all-commits at lists.llvm.org
Thu Mar 19 03:21:18 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5c296df0c0a4dea364c17bb1d7bc5360c3ce36fd
      https://github.com/llvm/llvm-project/commit/5c296df0c0a4dea364c17bb1d7bc5360c3ce36fd
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/lib/CodeGen/ValueTypes.cpp

  Log Message:
  -----------
  [ValueTypes] Add EVT::isFixedLengthVector

Summary:
Related to D75672, this patch adds EVT::isFixedLengthVector to determine
if the underlying vector type is of fixed length.

An assert is introduced in EVT::getVectorNumElements that triggers for
types that aren't fixed length. This is currently guarded by a flag
added D75297 that is off by default and has been renamed to the more
generic ENABLE_STRICT_FIXED_SIZE_VECTORS.

Ideally we want to get rid of getVectorNumElements but a quick grep
shows there are >350 uses in lib/CodeGen and 75 in lib/Target/AArch64
alone. All of these probably aren't EVT::getVectorNumElements (some may
be the MVT equivalent), but there are many places to fixup and having
the assert on by default would make the SVE upstreaming effort
difficult.

Reviewers: sdesmalen, efriedma, ctetreau, huntergr, rengolin

Reviewed By: efriedma

Subscribers: mgorny, kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list