git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165902
91177308-0d34-0410-b5e6-
96231b3b80d8
hasAttribute(Attributes::AddressSafety);
}
hasAttribute(Attributes::AddressSafety);
}
- bool isEmptyOrSingleton() const;
-
- // This is a "safe bool() operator".
bool operator == (const Attributes &A) const {
return Attrs.Bits == A.Attrs.Bits;
}
bool operator == (const Attributes &A) const {
return Attrs.Bits == A.Attrs.Bits;
}
uint64_t getAlignment() const;
uint64_t getStackAlignment() const;
uint64_t getAlignment() const;
uint64_t getStackAlignment() const;
- bool isEmptyOrSingleton() const;
-
static uint64_t getAttrMask(uint64_t Val);
void Profile(FoldingSetNodeID &ID) const {
static uint64_t getAttrMask(uint64_t Val);
void Profile(FoldingSetNodeID &ID) const {
return 1U << ((Attrs.getStackAlignment() >> 26) - 1);
}
return 1U << ((Attrs.getStackAlignment() >> 26) - 1);
}
-bool Attributes::isEmptyOrSingleton() const {
- return Attrs.isEmptyOrSingleton();
-}
-
uint64_t Attributes::Raw() const {
return Attrs.Bits;
}
uint64_t Attributes::Raw() const {
return Attrs.Bits;
}
return Bits & getAttrMask(Attributes::StackAlignment);
}
return Bits & getAttrMask(Attributes::StackAlignment);
}
-bool AttributesImpl::isEmptyOrSingleton() const {
- return (Bits & (Bits - 1)) == 0;
-}
-
//===----------------------------------------------------------------------===//
// AttributeListImpl Definition
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
// AttributeListImpl Definition
//===----------------------------------------------------------------------===//