[all-commits] [llvm/llvm-project] 5aa8e4: [VP] Add missing functional_intrinsic properties a...

Luke Lau via All-commits all-commits at lists.llvm.org
Mon Sep 18 08:18:50 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5aa8e43ccdb0b3c0661b75187cd0d78bbe7edc8e
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-09-18 (Mon, 18 Sep 2023)

  Changed paths:
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/IR/IntrinsicInst.cpp

  Log Message:
  [VP] Add missing functional_intrinsic properties and add static_assert. NFC (#66199)

Some VP intrinsic definitions were missing the
VP_PROPERTY_FUNCTIONAL_INTRINSIC property. This patch fills them in, and
adds a static_assert that all VP intrinsics have an equivalent opcode or
intrinsic defined so we don't forget them in future.

Some VP intrinsics don't have an equivalent, namely merge and strided
load/store. For those, a new property was added to mark that they don't
have a non-VP equivalent.

This adds a helper method to get the ID of the functionally equivalent
intrinsic, similar to the existing getFunctionalOpcodeForVP and
getConstrainedIntrinsicIDForVP method.

More information about the All-commits mailing list