Lines Matching defs:ArgValue
1021 Value *CodeGenFunction::EmitVAStartEnd(Value *ArgValue, bool IsStart) {
1023 return Builder.CreateCall(CGM.getIntrinsic(inst, {ArgValue->getType()}),
1024 ArgValue);
2047 Value *ArgValue = EmitScalarExpr(E->getArg(1));
2049 llvm::Type *ArgType = ArgValue->getType();
2063 Value *IsZero = Builder.CreateICmpEQ(ArgValue, ArgZero);
2072 Value *ZeroCount = Builder.CreateCall(F, {ArgValue, Builder.getTrue()});
2080 Value *ZeroCount = Builder.CreateCall(F, {ArgValue, Builder.getTrue()});
2237 Value *ArgValue = EmitScalarExpr(E);
2239 return ArgValue;
2243 ArgValue, llvm::Constant::getNullValue(ArgValue->getType()));
2249 return ArgValue;
2253 Value *ArgValue = EvaluateExprAsBool(E);
2255 return ArgValue;
2259 std::make_pair(ArgValue, SanitizerKind::SO_Builtin),
2264 return ArgValue;
2267 static Value *EmitAbs(CodeGenFunction &CGF, Value *ArgValue, bool HasNSW) {
2269 Intrinsic::abs, ArgValue,
2275 Value *ArgValue = CGF.EmitScalarExpr(E->getArg(0));
2278 if (const auto *VCI = dyn_cast<llvm::ConstantInt>(ArgValue)) {
2280 return EmitAbs(CGF, ArgValue, true);
2285 Constant *Zero = Constant::getNullValue(ArgValue->getType());
2287 Intrinsic::ssub_with_overflow, Zero, ArgValue);
2298 {ArgValue});
2302 Value *CmpResult = CGF.Builder.CreateICmpSLT(ArgValue, Zero, "abscond");
2303 return CGF.Builder.CreateSelect(CmpResult, Result, ArgValue, "abs");
3500 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3502 llvm::Type *ArgType = ArgValue->getType();
3507 Value *IsNeg = Builder.CreateICmpSLT(ArgValue, Zero, "isneg");
3508 Value *Inverse = Builder.CreateNot(ArgValue, "not");
3509 Value *Tmp = Builder.CreateSelect(IsNeg, Inverse, ArgValue);
3524 Value *ArgValue =
3528 llvm::Type *ArgType = ArgValue->getType();
3534 Value *Result = Builder.CreateCall(F, {ArgValue, ZeroUndef});
3542 Value *IsZero = Builder.CreateICmpEQ(ArgValue, Zero, "iszero");
3556 Value *ArgValue =
3560 llvm::Type *ArgType = ArgValue->getType();
3566 Value *Result = Builder.CreateCall(F, {ArgValue, ZeroUndef});
3574 Value *IsZero = Builder.CreateICmpEQ(ArgValue, Zero, "iszero");
3584 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3586 llvm::Type *ArgType = ArgValue->getType();
3591 Builder.CreateAdd(Builder.CreateCall(F, {ArgValue, Builder.getTrue()}),
3594 Value *IsZero = Builder.CreateICmpEQ(ArgValue, Zero, "iszero");
3605 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3607 llvm::Type *ArgType = ArgValue->getType();
3611 Value *Tmp = Builder.CreateCall(F, ArgValue);
3621 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3623 llvm::Type *ArgType = ArgValue->getType();
3627 Value *Result = Builder.CreateCall(F, {ArgValue, Builder.getFalse()});
3640 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3642 llvm::Type *ArgType = ArgValue->getType();
3646 Value *Result = Builder.CreateCall(F, ArgValue);
3659 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3660 llvm::Type *ArgType = ArgValue->getType();
3667 return RValue::get(ArgValue);
3671 Builder.CreateCall(FnExpect, {ArgValue, ExpectedValue}, "expval");
3675 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3676 llvm::Type *ArgType = ArgValue->getType();
3693 return RValue::get(ArgValue);
3698 FnExpect, {ArgValue, ExpectedValue, Confidence}, "expval");
3723 Value *ArgValue = EmitCheckedArgForAssume(E->getArg(0));
3725 Builder.CreateCall(FnAssume, ArgValue);
3773 Value *ArgValue = EmitScalarExpr(E->getArg(0));
3776 Builder.CreateArithmeticFence(ArgValue, ConvertType(ArgType)));
3777 return RValue::get(ArgValue);
3835 Value *ArgValue = EmitScalarExpr(Arg);
3840 ArgValue = Builder.CreateBitCast(ArgValue, ConvertType(ArgType));
3844 Value *Result = Builder.CreateCall(F, ArgValue);
6487 Value *ArgValue = EmitScalarOrConstFoldImmArg(ICEArguments, i, E);
6491 if (PTy != ArgValue->getType()) {
6495 ArgValue->getType()->getPointerAddressSpace()) {
6496 ArgValue = Builder.CreateAddrSpaceCast(
6497 ArgValue, llvm::PointerType::get(getLLVMContext(),
6505 ArgValue = Builder.CreateIntrinsic(Intrinsic::x86_cast_vector_to_tile,
6506 {ArgValue->getType()}, {ArgValue});
6508 ArgValue = Builder.CreateBitCast(ArgValue, PTy);
6511 Args.push_back(ArgValue);
8926 llvm::Value *ArgValue = CGF.EmitScalarExpr(E->getArg(1));
8929 ArgValue = Builder.CreateZExt(ArgValue, RegisterType);
8930 return Builder.CreateCall(F, { Metadata, ArgValue });
8934 // Have VoidPtrTy ArgValue but want to return an i32/i64.
8935 ArgValue = Builder.CreatePtrToInt(ArgValue, RegisterType);
8936 return Builder.CreateCall(F, { Metadata, ArgValue });
8939 return Builder.CreateCall(F, { Metadata, ArgValue });
11799 llvm::Value *ArgValue = EmitScalarExpr(E->getArg(1));
11801 return Builder.CreateCall(F, { Metadata, ArgValue });
11975 Value *ArgValue = EmitScalarExpr(E->getArg(0));
11976 llvm::Type *ArgType = ArgValue->getType();
11979 Value *Result = Builder.CreateCall(F, ArgValue);
18932 Value *ArgValue = EmitScalarExpr(E->getArg(0));
18933 llvm::Type *ArgType = ArgValue->getType();
18935 return Builder.CreateCall(F, {ArgValue}, "popcntb");
21472 auto *ArgValue = CGF.EmitScalarExpr(E->getArg(i));
21474 if (PTy != ArgValue->getType())
21475 ArgValue = CGF.Builder.CreateBitCast(ArgValue, PTy);
21476 Args.push_back(ArgValue);