[all-commits] [llvm/llvm-project] 98c6bb: [TableGen] Refactor Intrinsics record (#106986)

Rahul Joshi via All-commits all-commits at lists.llvm.org
Wed Sep 4 15:04:31 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98c6bbfe1f3a348633e5e4c192a0134891fe3849
      https://github.com/llvm/llvm-project/commit/98c6bbfe1f3a348633e5e4c192a0134891fe3849
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/TableGen/intrinsic-attrs.td
    M llvm/test/TableGen/intrinsic-long-name.td
    M llvm/test/TableGen/intrinsic-struct.td
    M llvm/test/TableGen/searchabletables-intrinsic.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [TableGen] Refactor Intrinsics record (#106986)

Eliminate unused `isTarget` field in Intrinsic record.

Eliminate `isOverloaded`, `Types` and `TypeSig` fields from the record,
as they are already available through the `TypeInfo` field. Change
intrinsic emitter code to look for this info using fields of the
`TypeInfo` record attached to the `Intrinsic` record.

Fix several intrinsic related unit tests to source the `Intrinsic` class
def from Intrinsics.td as opposed to defining a skeleton in the test.

This eliminates some duplication of information in the Intrinsic class,
as well as reduces the memory allocated for record fields, resulting in
~2% reduction (though that's not the main goal).



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