type MaskSet … // NewEmptyMaskSet builds an empty register mask set. func NewEmptyMaskSet() MaskSet { … } // NewMaskSetFromRegisters forms a mask set from the given register list. func NewMaskSetFromRegisters(rs []Register) MaskSet { … } // Clone returns a copy of s. func (s MaskSet) Clone() MaskSet { … } // Add mask to the given register ID. // Reports whether this made any change to the set. func (s MaskSet) Add(id ID, mask uint16) bool { … } // AddRegister is a convenience for adding the register's (ID, mask) to the set. // Reports whether this made any change to the set. func (s MaskSet) AddRegister(r Register) bool { … } // Discard clears masked bits from register ID. // Reports whether this made any change to the set. func (s MaskSet) Discard(id ID, mask uint16) bool { … } // DiscardRegister is a convenience for discarding the register's (ID, mask) from the set. // Reports whether this made any change to the set. func (s MaskSet) DiscardRegister(r Register) bool { … } // Update adds masks in t to s. // Reports whether this made any change to the set. func (s MaskSet) Update(t MaskSet) bool { … } // Difference returns the set of registers in s but not t. func (s MaskSet) Difference(t MaskSet) MaskSet { … } // DifferenceUpdate removes every element of t from s. func (s MaskSet) DifferenceUpdate(t MaskSet) bool { … } // Equals returns true if s and t contain the same masks. func (s MaskSet) Equals(t MaskSet) bool { … } // OfKind returns the set of elements of s with kind k. func (s MaskSet) OfKind(k Kind) MaskSet { … }