[PATCH] D123656: [CodeGen] Use ArrayRef in TargetLowering functions

LiqinWeng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 13 04:04:24 PDT 2022


Miss_Grape updated this revision to Diff 422464.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123656/new/

https://reviews.llvm.org/D123656

Files:
  llvm/include/llvm/CodeGen/TargetLowering.h


Index: llvm/include/llvm/CodeGen/TargetLowering.h
===================================================================
--- llvm/include/llvm/CodeGen/TargetLowering.h
+++ llvm/include/llvm/CodeGen/TargetLowering.h
@@ -2278,6 +2278,12 @@
     }
   }
 
+  void setLoadExtAction(ArrayRef<unsigned> ExtTypes, MVT ValVT,
+                        ArrayRef<MVT> MemVTs, LegalizeAction Action) {
+    for (auto MemVT : MemVTs)
+      setLoadExtAction(ExtTypes, ValVT, MemVT, Action);
+  }
+
   /// Indicate that the specified truncating store does not work with the
   /// specified type and indicate what to do about it.
   void setTruncStoreAction(MVT ValVT, MVT MemVT, LegalizeAction Action) {
@@ -2294,6 +2300,23 @@
     setIndexedModeAction(IdxMode, VT, IMAB_Load, Action);
   }
 
+  void setIndexedLoadAction(ArrayRef<unsigned> IdxModes, MVT VT,
+                            LegalizeAction Action) {
+    for (auto IdxMode : IdxModes)
+      setIndexedModeAction(IdxMode, VT, IMAB_Load, Action);
+  }
+
+  void setIndexedLoadAction(unsigned IdxMode, ArrayRef<MVT> VTs,
+                            LegalizeAction Action) {
+    for (auto VT : VTs)
+      setIndexedModeAction(IdxMode, VT, IMAB_Load, Action);
+  }
+
+  void setIndexedLoadAction(ArrayRef<unsigned> IdxModes, ArrayRef<MVT> VTs,
+                            LegalizeAction Action) {
+    for (auto VT : VTs)
+      setIndexedLoadAction(IdxModes, VT, Action);
+  }
   /// Indicate that the specified indexed store does or does not work with the
   /// specified type and indicate what to do about it.
   ///
@@ -2303,6 +2326,24 @@
     setIndexedModeAction(IdxMode, VT, IMAB_Store, Action);
   }
 
+  void setIndexedStoreAction(ArrayRef<unsigned> IdxModes, MVT VT,
+                             LegalizeAction Action) {
+    for (auto IdxMode : IdxModes)
+      setIndexedModeAction(IdxMode, VT, IMAB_Store, Action);
+  }
+
+  void setIndexedStoreAction(unsigned IdxMode, ArrayRef<MVT> VTs,
+                             LegalizeAction Action) {
+    for (auto VT : VTs)
+      setIndexedModeAction(IdxMode, VT, IMAB_Store, Action);
+  }
+
+  void setIndexedStoreAction(ArrayRef<unsigned> IdxModes, ArrayRef<MVT> VTs,
+                             LegalizeAction Action) {
+    for (auto VT : VTs)
+      setIndexedStoreAction(IdxModes, VT, Action);
+  }
+
   /// Indicate that the specified indexed masked load does or does not work with
   /// the specified type and indicate what to do about it.
   ///


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123656.422464.patch
Type: text/x-patch
Size: 2465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220413/f82a15b8/attachment.bin>


More information about the llvm-commits mailing list