@@ -810,16 +810,20 @@ class TargetTransformInfo {
810810  LLVM_ABI AddressingModeKind
811811  getPreferredAddressingMode (const  Loop *L, ScalarEvolution *SE) const ;
812812
813-   // / Return true if the target supports masked store. A value of false for
814-   // / IsMaskConstant indicates that the mask could either be variable or
815-   // / constant. This is for targets that only support masked store with a
816-   // / constant mask.
817-   LLVM_ABI bool  isLegalMaskedStore (Type *DataType, Align Alignment,
818-                                    unsigned  AddressSpace,
819-                                    bool  IsMaskConstant = false ) const ;
813+   // / Some targets only support masked load/store with a constant mask.
814+   enum  MaskKind {
815+     VariableOrConstantMask,
816+     ConstantMask,
817+   };
818+ 
819+   // / Return true if the target supports masked store.
820+   LLVM_ABI bool 
821+   isLegalMaskedStore (Type *DataType, Align Alignment, unsigned  AddressSpace,
822+                      MaskKind MaskKind = VariableOrConstantMask) const ;
820823  // / Return true if the target supports masked load.
821-   LLVM_ABI bool  isLegalMaskedLoad (Type *DataType, Align Alignment,
822-                                   unsigned  AddressSpace) const ;
824+   LLVM_ABI bool 
825+   isLegalMaskedLoad (Type *DataType, Align Alignment, unsigned  AddressSpace,
826+                     MaskKind MaskKind = VariableOrConstantMask) const ;
823827
824828  // / Return true if the target supports nontemporal store.
825829  LLVM_ABI bool  isLegalNTStore (Type *DataType, Align Alignment) const ;
0 commit comments