[IR] Construct SmallVector with iterator ranges (NFC)

Note that arg_operands has been deprecated in favor of args.
This commit is contained in:
Kazu Hirata 2021-09-08 08:54:15 -07:00
parent 480a5a2d96
commit bcfbb3f9ec
1 changed files with 8 additions and 16 deletions

View File

@ -1779,8 +1779,7 @@ static bool upgradeAVX512MaskToSelect(StringRef Name, IRBuilder<> &Builder,
} else } else
return false; return false;
SmallVector<Value *, 4> Args(CI.arg_operands().begin(), SmallVector<Value *, 4> Args(CI.args());
CI.arg_operands().end());
Args.pop_back(); Args.pop_back();
Args.pop_back(); Args.pop_back();
Rep = Builder.CreateCall(Intrinsic::getDeclaration(CI.getModule(), IID), Rep = Builder.CreateCall(Intrinsic::getDeclaration(CI.getModule(), IID),
@ -2124,8 +2123,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
{ CI->getOperand(0), CI->getArgOperand(1) }); { CI->getOperand(0), CI->getArgOperand(1) });
Rep = ApplyX86MaskOn1BitsVec(Builder, Rep, CI->getArgOperand(2)); Rep = ApplyX86MaskOn1BitsVec(Builder, Rep, CI->getArgOperand(2));
} else if (IsX86 && Name.startswith("avx512.cmp.p")) { } else if (IsX86 && Name.startswith("avx512.cmp.p")) {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
Type *OpTy = Args[0]->getType(); Type *OpTy = Args[0]->getType();
unsigned VecWidth = OpTy->getPrimitiveSizeInBits(); unsigned VecWidth = OpTy->getPrimitiveSizeInBits();
unsigned EltWidth = OpTy->getScalarSizeInBits(); unsigned EltWidth = OpTy->getScalarSizeInBits();
@ -3686,8 +3684,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::arm_neon_vst2lane: case Intrinsic::arm_neon_vst2lane:
case Intrinsic::arm_neon_vst3lane: case Intrinsic::arm_neon_vst3lane:
case Intrinsic::arm_neon_vst4lane: { case Intrinsic::arm_neon_vst4lane: {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
NewCall = Builder.CreateCall(NewFn, Args); NewCall = Builder.CreateCall(NewFn, Args);
break; break;
} }
@ -3796,8 +3793,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::x86_xop_vpermil2ps: case Intrinsic::x86_xop_vpermil2ps:
case Intrinsic::x86_xop_vpermil2pd_256: case Intrinsic::x86_xop_vpermil2pd_256:
case Intrinsic::x86_xop_vpermil2ps_256: { case Intrinsic::x86_xop_vpermil2ps_256: {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
VectorType *FltIdxTy = cast<VectorType>(Args[2]->getType()); VectorType *FltIdxTy = cast<VectorType>(Args[2]->getType());
VectorType *IntIdxTy = VectorType::getInteger(FltIdxTy); VectorType *IntIdxTy = VectorType::getInteger(FltIdxTy);
Args[2] = Builder.CreateBitCast(Args[2], IntIdxTy); Args[2] = Builder.CreateBitCast(Args[2], IntIdxTy);
@ -3858,8 +3854,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::x86_avx2_mpsadbw: { case Intrinsic::x86_avx2_mpsadbw: {
// Need to truncate the last argument from i32 to i8 -- this argument models // Need to truncate the last argument from i32 to i8 -- this argument models
// an inherently 8-bit immediate operand to these x86 instructions. // an inherently 8-bit immediate operand to these x86 instructions.
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
// Replace the last argument with a trunc. // Replace the last argument with a trunc.
Args.back() = Builder.CreateTrunc(Args.back(), Type::getInt8Ty(C), "trunc"); Args.back() = Builder.CreateTrunc(Args.back(), Type::getInt8Ty(C), "trunc");
@ -3873,8 +3868,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::x86_avx512_mask_cmp_ps_128: case Intrinsic::x86_avx512_mask_cmp_ps_128:
case Intrinsic::x86_avx512_mask_cmp_ps_256: case Intrinsic::x86_avx512_mask_cmp_ps_256:
case Intrinsic::x86_avx512_mask_cmp_ps_512: { case Intrinsic::x86_avx512_mask_cmp_ps_512: {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
unsigned NumElts = unsigned NumElts =
cast<FixedVectorType>(Args[0]->getType())->getNumElements(); cast<FixedVectorType>(Args[0]->getType())->getNumElements();
Args[3] = getX86MaskVec(Builder, Args[3], NumElts); Args[3] = getX86MaskVec(Builder, Args[3], NumElts);
@ -3895,8 +3889,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::invariant_start: case Intrinsic::invariant_start:
case Intrinsic::invariant_end: { case Intrinsic::invariant_end: {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
NewCall = Builder.CreateCall(NewFn, Args); NewCall = Builder.CreateCall(NewFn, Args);
break; break;
} }
@ -3904,8 +3897,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
case Intrinsic::masked_store: case Intrinsic::masked_store:
case Intrinsic::masked_gather: case Intrinsic::masked_gather:
case Intrinsic::masked_scatter: { case Intrinsic::masked_scatter: {
SmallVector<Value *, 4> Args(CI->arg_operands().begin(), SmallVector<Value *, 4> Args(CI->args());
CI->arg_operands().end());
NewCall = Builder.CreateCall(NewFn, Args); NewCall = Builder.CreateCall(NewFn, Args);
NewCall->copyMetadata(*CI); NewCall->copyMetadata(*CI);
break; break;