forked from OSchip/llvm-project
add a Constant::getAllOnesValue helper function, which works on integers
AND vectors. llvm-svn: 37586
This commit is contained in:
parent
1edec381a5
commit
72e3958003
|
@ -48,6 +48,11 @@ public:
|
|||
///
|
||||
static Constant *getNullValue(const Type *Ty);
|
||||
|
||||
/// Static constructor to get a '-1' constant. This supports integers and
|
||||
/// vectors.
|
||||
///
|
||||
static Constant *getAllOnesValue(const Type *Ty);
|
||||
|
||||
/// isNullValue - Return true if this is the value that would be returned by
|
||||
/// getNullValue.
|
||||
virtual bool isNullValue() const = 0;
|
||||
|
|
|
@ -122,6 +122,11 @@ Constant *Constant::getNullValue(const Type *Ty) {
|
|||
}
|
||||
}
|
||||
|
||||
Constant *Constant::getAllOnesValue(const Type *Ty) {
|
||||
if (const IntegerType* ITy = dyn_cast<IntegerType>(Ty))
|
||||
return ConstantInt::get(APInt::getAllOnesValue(ITy->getBitWidth()));
|
||||
return ConstantVector::getAllOnesValue(cast<VectorType>(Ty));
|
||||
}
|
||||
|
||||
// Static constructor to create an integral constant with all bits set
|
||||
ConstantInt *ConstantInt::getAllOnesValue(const Type *Ty) {
|
||||
|
|
Loading…
Reference in New Issue