Value *HWAddressSanitizer::applyTagMask(IRBuilder<> &IRB, Value *OldTag) {
if (TagMaskByte == 0xFF)
return OldTag; // No need to clear the tag byte.
- return IRB.CreateAnd(OldTag, ConstantInt::get(IntptrTy, TagMaskByte));
+ return IRB.CreateAnd(OldTag,
+ ConstantInt::get(OldTag->getType(), TagMaskByte));
}
Value *HWAddressSanitizer::getNextTagWithCall(IRBuilder<> &IRB) {
unsigned AllocaNo) {
if (ClGenerateTagsWithCalls)
return getNextTagWithCall(IRB);
- return IRB.CreateXor(StackTag,
- ConstantInt::get(IntptrTy, retagMask(AllocaNo)));
+ return IRB.CreateXor(
+ StackTag, ConstantInt::get(StackTag->getType(), retagMask(AllocaNo)));
}
Value *HWAddressSanitizer::getUARTag(IRBuilder<> &IRB) {