Add two utility methods into ConstantInt.

llvm-svn: 35501
This commit is contained in:
Zhou Sheng 2007-03-30 03:22:55 +00:00
parent ef01c47512
commit 12b3549f5d
1 changed files with 16 additions and 0 deletions

View File

@ -174,6 +174,22 @@ public:
return Val.isMinValue();
}
/// This function will return true iff this constant represents a value with
/// active bits bigger than 64 bits or a value greater than the given uint64_t
/// value.
/// @returns true iff this constant is greater or equal to the given number.
/// @brief Determine if the value is greater or equal to the given number.
bool greaterOrEqual(uint64_t Num) {
return Val.getActiveBits() > 64 || Val.getZExtValue() > Num;
}
/// @returns the 64-bit value of this constant if its active bits number is
/// not greater than 64, otherwise, just return the given uint64_t number.
/// @brief Get the constant's value if possible.
uint64_t getLimitedValue(uint64_t Limit) {
return (Val.getActiveBits() > 64) ? Limit : Val.getZExtValue();
}
/// @returns the value for an integer constant of the given type that has all
/// its bits set to true.
/// @brief Get the all ones value