[CodeGen] Use ArrayRef in TargetLowering functions

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D123656
This commit is contained in:
Liqin.Weng 2022-05-16 13:30:58 +00:00
parent 06400a0142
commit ff3f4988ed
1 changed files with 26 additions and 4 deletions

View File

@ -2282,6 +2282,12 @@ protected:
}
}
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,8 +2300,16 @@ protected:
///
/// NOTE: All indexed mode loads are initialized to Expand in
/// TargetLowering.cpp
void setIndexedLoadAction(unsigned IdxMode, MVT VT, LegalizeAction Action) {
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(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
@ -2303,8 +2317,16 @@ protected:
///
/// NOTE: All indexed mode stores are initialized to Expand in
/// TargetLowering.cpp
void setIndexedStoreAction(unsigned IdxMode, MVT VT, LegalizeAction Action) {
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(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