[all-commits] [llvm/llvm-project] 057949: [NFC][LLVM] Refactor IIT_ANY payload for vector/el...

Rahul Joshi via All-commits all-commits at lists.llvm.org
Fri Jun 12 16:51:59 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0579490edf0599cc01e10885c2149d4cce8ec399
      https://github.com/llvm/llvm-project/commit/0579490edf0599cc01e10885c2149d4cce8ec399
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-06-12 (Fri, 12 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Intrinsics.cpp
    A llvm/test/TableGen/intrinsic-overload-index-oor.td
    M llvm/test/TableGen/intrinsic-struct.td
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [NFC][LLVM] Refactor IIT_ANY payload for vector/element constraint (#203506)

Change `IIT_ANY` payload from a single packed OverloadIndex + AnyKind
byte to 2 bytes:
- An 8 bit OverloadIndex
- An 8 pit packed vector + element type constraint.
This will enable `IIT_ANY` to express constraints on the overload type
is a more general fashion compared to a flat `AnyKind` enum.

Also fixed a latent bug in fixed encodings generated by the intrinsic
emitter (exposed by this change). Existing `encodePacked` packs the
type-signature as 8 nibbles into a 32-bit word and then checks if the
MSB bit position (i.e., bit 15) is 0 (to allow it's use in fixed
encoding). This effectively drop any 0 valued bytes in the encoding in
the upper 4 nibbles. Fix this by changing `encodePacked` to use the
actual fixed encoding type and its size.



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