1ULL << 64 is undefined, don't do it.

llvm-svn: 19365
This commit is contained in:
Chris Lattner 2005-01-08 06:24:30 +00:00
parent b923438fe6
commit 9a97e4d5b6
1 changed files with 3 additions and 2 deletions

View File

@ -218,7 +218,8 @@ SelectionDAG::~SelectionDAG() {
SDOperand SelectionDAG::getConstant(uint64_t Val, MVT::ValueType VT) {
assert(MVT::isInteger(VT) && "Cannot create FP integer constant!");
// Mask out any bits that are not valid for this constant.
Val &= (1ULL << MVT::getSizeInBits(VT)) - 1;
if (VT != MVT::i64)
Val &= ((uint64_t)1 << MVT::getSizeInBits(VT)) - 1;
SDNode *&N = Constants[std::make_pair(Val, VT)];
if (N) return SDOperand(N, 0);