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 ExtTypes, MVT ValVT, + ArrayRef 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 IdxModes, MVT VT, + LegalizeAction Action) { + for (auto IdxMode : IdxModes) + setIndexedModeAction(IdxMode, VT, IMAB_Load, Action); + } + + void setIndexedLoadAction(unsigned IdxMode, ArrayRef VTs, + LegalizeAction Action) { + for (auto VT : VTs) + setIndexedModeAction(IdxMode, VT, IMAB_Load, Action); + } + + void setIndexedLoadAction(ArrayRef IdxModes, ArrayRef 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 IdxModes, MVT VT, + LegalizeAction Action) { + for (auto IdxMode : IdxModes) + setIndexedModeAction(IdxMode, VT, IMAB_Store, Action); + } + + void setIndexedStoreAction(unsigned IdxMode, ArrayRef VTs, + LegalizeAction Action) { + for (auto VT : VTs) + setIndexedModeAction(IdxMode, VT, IMAB_Store, Action); + } + + void setIndexedStoreAction(ArrayRef IdxModes, ArrayRef 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. ///