[CodeGen] Use getSigned() for negative values
This commit is contained in:
parent
159f1c048e
commit
744552d870
@ -153,7 +153,8 @@ llvm::Value *CodeGen::emitRoundPointerUpToAlignment(CodeGenFunction &CGF,
|
||||
CGF.Builder.getInt8Ty(), Ptr, Align.getQuantity() - 1);
|
||||
return CGF.Builder.CreateIntrinsic(
|
||||
llvm::Intrinsic::ptrmask, {Ptr->getType(), CGF.IntPtrTy},
|
||||
{RoundUp, llvm::ConstantInt::get(CGF.IntPtrTy, -Align.getQuantity())},
|
||||
{RoundUp,
|
||||
llvm::ConstantInt::getSigned(CGF.IntPtrTy, -Align.getQuantity())},
|
||||
nullptr, Ptr->getName() + ".aligned");
|
||||
}
|
||||
|
||||
|
||||
@ -1627,7 +1627,7 @@ llvm::Value *ItaniumCXXABI::EmitTypeid(CodeGenFunction &CGF,
|
||||
// Load the type info.
|
||||
Value = CGF.Builder.CreateCall(
|
||||
CGM.getIntrinsic(llvm::Intrinsic::load_relative, {CGM.Int32Ty}),
|
||||
{Value, llvm::ConstantInt::get(CGM.Int32Ty, -4)});
|
||||
{Value, llvm::ConstantInt::getSigned(CGM.Int32Ty, -4)});
|
||||
} else {
|
||||
// Load the type info.
|
||||
Value =
|
||||
|
||||
@ -2641,7 +2641,7 @@ struct ResetGuardBit final : EHScopeStack::Cleanup {
|
||||
CGBuilderTy &Builder = CGF.Builder;
|
||||
llvm::LoadInst *LI = Builder.CreateLoad(Guard);
|
||||
llvm::ConstantInt *Mask =
|
||||
llvm::ConstantInt::get(CGF.IntTy, ~(1ULL << GuardNum));
|
||||
llvm::ConstantInt::getSigned(CGF.IntTy, ~(1ULL << GuardNum));
|
||||
Builder.CreateStore(Builder.CreateAnd(LI, Mask), Guard);
|
||||
}
|
||||
};
|
||||
|
||||
@ -971,7 +971,7 @@ RValue AArch64ABIInfo::EmitAAPCSVAArg(Address VAListAddr, QualType Ty,
|
||||
reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, Align - 1),
|
||||
"align_regoffs");
|
||||
reg_offs = CGF.Builder.CreateAnd(
|
||||
reg_offs, llvm::ConstantInt::get(CGF.Int32Ty, -Align),
|
||||
reg_offs, llvm::ConstantInt::getSigned(CGF.Int32Ty, -Align),
|
||||
"aligned_regoffs");
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user