@@ -791,9 +791,11 @@ class TargetTransformInfo {
791791 ScalarEvolution *SE) const ;
792792
793793 // / Return true if the target supports masked store.
794- bool isLegalMaskedStore (Type *DataType, Align Alignment) const ;
794+ bool isLegalMaskedStore (Type *DataType, Align Alignment,
795+ unsigned AddressSpace) const ;
795796 // / Return true if the target supports masked load.
796- bool isLegalMaskedLoad (Type *DataType, Align Alignment) const ;
797+ bool isLegalMaskedLoad (Type *DataType, Align Alignment,
798+ unsigned AddressSpace) const ;
797799
798800 // / Return true if the target supports nontemporal store.
799801 bool isLegalNTStore (Type *DataType, Align Alignment) const ;
@@ -2015,8 +2017,10 @@ class TargetTransformInfo::Concept {
20152017 TargetLibraryInfo *LibInfo) = 0;
20162018 virtual AddressingModeKind
20172019 getPreferredAddressingMode (const Loop *L, ScalarEvolution *SE) const = 0 ;
2018- virtual bool isLegalMaskedStore (Type *DataType, Align Alignment) = 0;
2019- virtual bool isLegalMaskedLoad (Type *DataType, Align Alignment) = 0;
2020+ virtual bool isLegalMaskedStore (Type *DataType, Align Alignment,
2021+ unsigned AddressSpace) = 0;
2022+ virtual bool isLegalMaskedLoad (Type *DataType, Align Alignment,
2023+ unsigned AddressSpace) = 0;
20202024 virtual bool isLegalNTStore (Type *DataType, Align Alignment) = 0;
20212025 virtual bool isLegalNTLoad (Type *DataType, Align Alignment) = 0;
20222026 virtual bool isLegalBroadcastLoad (Type *ElementTy,
@@ -2562,11 +2566,13 @@ class TargetTransformInfo::Model final : public TargetTransformInfo::Concept {
25622566 ScalarEvolution *SE) const override {
25632567 return Impl.getPreferredAddressingMode (L, SE);
25642568 }
2565- bool isLegalMaskedStore (Type *DataType, Align Alignment) override {
2566- return Impl.isLegalMaskedStore (DataType, Alignment);
2569+ bool isLegalMaskedStore (Type *DataType, Align Alignment,
2570+ unsigned AddressSpace) override {
2571+ return Impl.isLegalMaskedStore (DataType, Alignment, AddressSpace);
25672572 }
2568- bool isLegalMaskedLoad (Type *DataType, Align Alignment) override {
2569- return Impl.isLegalMaskedLoad (DataType, Alignment);
2573+ bool isLegalMaskedLoad (Type *DataType, Align Alignment,
2574+ unsigned AddressSpace) override {
2575+ return Impl.isLegalMaskedLoad (DataType, Alignment, AddressSpace);
25702576 }
25712577 bool isLegalNTStore (Type *DataType, Align Alignment) override {
25722578 return Impl.isLegalNTStore (DataType, Alignment);
0 commit comments