Add two helpers to IRBuilder to flesh the interface out to N-width

integers. Complements the interfaces it is wrapping.

llvm-svn: 202251
This commit is contained in:
Chandler Carruth 2014-02-26 10:08:11 +00:00
parent f4dcf77623
commit ca4caa8746
1 changed files with 11 additions and 0 deletions

View File

@ -282,6 +282,12 @@ public:
return ConstantInt::get(getInt64Ty(), C);
}
/// \brief Get a constant N-bit value, zero extended or truncated from
/// a 64-bit value.
ConstantInt *getIntN(unsigned N, uint64_t C) {
return ConstantInt::get(getIntNTy(N), C);
}
/// \brief Get a constant integer value.
ConstantInt *getInt(const APInt &AI) {
return ConstantInt::get(Context, AI);
@ -316,6 +322,11 @@ public:
return Type::getInt64Ty(Context);
}
/// \brief Fetch the type representing an N-bit integer.
IntegerType *getIntNTy(unsigned N) {
return Type::getIntNTy(Context, N);
}
/// \brief Fetch the type representing a 32-bit floating point value.
Type *getFloatTy() {
return Type::getFloatTy(Context);