Lines Matching refs:Call

508   void visitCallBase(CallBase &Call);
533 void visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call);
554 void verifySwiftErrorCall(CallBase &Call, const Value *SwiftErrorVal);
569 void verifyInlineAsmCall(const CallBase &Call);
570 void verifyStatepoint(const CallBase &Call);
589 void verifyAttachedCallBundle(const CallBase &Call,
2205 void Verifier::verifyInlineAsmCall(const CallBase &Call) { in verifyInlineAsmCall() argument
2206 const InlineAsm *IA = cast<InlineAsm>(Call.getCalledOperand()); in verifyInlineAsmCall()
2220 const Value *Arg = Call.getArgOperand(ArgNo); in verifyInlineAsmCall()
2222 "Operand for indirect constraint must have pointer type", &Call); in verifyInlineAsmCall()
2224 Check(Call.getParamElementType(ArgNo), in verifyInlineAsmCall()
2226 &Call); in verifyInlineAsmCall()
2228 Check(!Call.paramHasAttr(ArgNo, Attribute::ElementType), in verifyInlineAsmCall()
2231 &Call); in verifyInlineAsmCall()
2237 if (auto *CallBr = dyn_cast<CallBrInst>(&Call)) { in verifyInlineAsmCall()
2240 &Call); in verifyInlineAsmCall()
2243 &Call); in verifyInlineAsmCall()
2248 void Verifier::verifyStatepoint(const CallBase &Call) { in verifyStatepoint() argument
2249 assert(Call.getCalledFunction() && in verifyStatepoint()
2250 Call.getCalledFunction()->getIntrinsicID() == in verifyStatepoint()
2253 Check(!Call.doesNotAccessMemory() && !Call.onlyReadsMemory() && in verifyStatepoint()
2254 !Call.onlyAccessesArgMemory(), in verifyStatepoint()
2257 Call); in verifyStatepoint()
2260 cast<ConstantInt>(Call.getArgOperand(1))->getSExtValue(); in verifyStatepoint()
2265 Call); in verifyStatepoint()
2267 Type *TargetElemType = Call.getParamElementType(2); in verifyStatepoint()
2269 "gc.statepoint callee argument must have elementtype attribute", Call); in verifyStatepoint()
2272 "gc.statepoint callee elementtype must be function type", Call); in verifyStatepoint()
2274 const int NumCallArgs = cast<ConstantInt>(Call.getArgOperand(3))->getZExtValue(); in verifyStatepoint()
2278 Call); in verifyStatepoint()
2282 "gc.statepoint mismatch in number of vararg call args", Call); in verifyStatepoint()
2288 Call); in verifyStatepoint()
2291 "gc.statepoint mismatch in number of call args", Call); in verifyStatepoint()
2294 = cast<ConstantInt>(Call.getArgOperand(4))->getZExtValue(); in verifyStatepoint()
2296 "unknown flag used in gc.statepoint flags argument", Call); in verifyStatepoint()
2300 AttributeList Attrs = Call.getAttributes(); in verifyStatepoint()
2303 Type *ArgType = Call.getArgOperand(5 + i)->getType(); in verifyStatepoint()
2307 Call); in verifyStatepoint()
2312 "Attribute 'sret' cannot be used for vararg call arguments!", Call); in verifyStatepoint()
2318 const Value *NumTransitionArgsV = Call.getArgOperand(EndCallArgsInx + 1); in verifyStatepoint()
2322 Call); in verifyStatepoint()
2326 "gc.statepoint w/inline transition bundle is deprecated", Call); in verifyStatepoint()
2329 const Value *NumDeoptArgsV = Call.getArgOperand(EndTransitionArgsInx + 1); in verifyStatepoint()
2333 Call); in verifyStatepoint()
2336 "gc.statepoint w/inline deopt operands is deprecated", Call); in verifyStatepoint()
2339 Check(ExpectedNumArgs == (int)Call.arg_size(), in verifyStatepoint()
2340 "gc.statepoint too many arguments", Call); in verifyStatepoint()
2345 for (const User *U : Call.users()) { in verifyStatepoint()
2347 Check(UserCall, "illegal use of statepoint token", Call, U); in verifyStatepoint()
2353 Call, U); in verifyStatepoint()
2355 Check(UserCall->getArgOperand(0) == &Call, in verifyStatepoint()
2356 "gc.result connected to wrong gc.statepoint", Call, UserCall); in verifyStatepoint()
2357 } else if (isa<GCRelocateInst>(Call)) { in verifyStatepoint()
2358 Check(UserCall->getArgOperand(0) == &Call, in verifyStatepoint()
2359 "gc.relocate connected to wrong gc.statepoint", Call, UserCall); in verifyStatepoint()
3153 void Verifier::visitCallBase(CallBase &Call) { in visitCallBase() argument
3154 Check(Call.getCalledOperand()->getType()->isPointerTy(), in visitCallBase()
3155 "Called function must be a pointer!", Call); in visitCallBase()
3156 PointerType *FPTy = cast<PointerType>(Call.getCalledOperand()->getType()); in visitCallBase()
3158 Check(FPTy->isOpaqueOrPointeeTypeMatches(Call.getFunctionType()), in visitCallBase()
3159 "Called function is not the same type as the call!", Call); in visitCallBase()
3161 FunctionType *FTy = Call.getFunctionType(); in visitCallBase()
3165 Check(Call.arg_size() >= FTy->getNumParams(), in visitCallBase()
3166 "Called function requires more parameters than were provided!", Call); in visitCallBase()
3168 Check(Call.arg_size() == FTy->getNumParams(), in visitCallBase()
3169 "Incorrect number of arguments passed to called function!", Call); in visitCallBase()
3173 Check(Call.getArgOperand(i)->getType() == FTy->getParamType(i), in visitCallBase()
3175 Call.getArgOperand(i), FTy->getParamType(i), Call); in visitCallBase()
3177 AttributeList Attrs = Call.getAttributes(); in visitCallBase()
3179 Check(verifyAttributeCount(Attrs, Call.arg_size()), in visitCallBase()
3180 "Attribute after last parameter!", Call); in visitCallBase()
3188 "Incorrect alignment of " + Message + " to called function!", Call); in visitCallBase()
3198 dyn_cast<Function>(Call.getCalledOperand()->stripPointerCasts()); in visitCallBase()
3202 "Intrinsic called with incompatible signature", Call); in visitCallBase()
3208 "speculatable attribute may not apply to call sites", Call); in visitCallBase()
3212 Check(Call.getCalledFunction()->getIntrinsicID() == in visitCallBase()
3219 verifyFunctionAttrs(FTy, Attrs, &Call, IsIntrinsic, Call.isInlineAsm()); in visitCallBase()
3224 if (Call.hasInAllocaArgument()) { in visitCallBase()
3225 Value *InAllocaArg = Call.getArgOperand(FTy->getNumParams() - 1); in visitCallBase()
3228 "inalloca argument for call has mismatched alloca", AI, Call); in visitCallBase()
3235 if (Call.paramHasAttr(i, Attribute::SwiftError)) { in visitCallBase()
3236 Value *SwiftErrorArg = Call.getArgOperand(i); in visitCallBase()
3239 "swifterror argument for call has mismatched alloca", AI, Call); in visitCallBase()
3244 SwiftErrorArg, Call); in visitCallBase()
3247 Call); in visitCallBase()
3254 "immarg may not apply only to call sites", Call.getArgOperand(i), in visitCallBase()
3255 Call); in visitCallBase()
3258 if (Call.paramHasAttr(i, Attribute::ImmArg)) { in visitCallBase()
3259 Value *ArgVal = Call.getArgOperand(i); in visitCallBase()
3261 "immarg operand has non-immediate parameter", ArgVal, Call); in visitCallBase()
3264 if (Call.paramHasAttr(i, Attribute::Preallocated)) { in visitCallBase()
3265 Value *ArgVal = Call.getArgOperand(i); in visitCallBase()
3267 Call.countOperandBundlesOfType(LLVMContext::OB_preallocated) != 0; in visitCallBase()
3268 bool isMustTail = Call.isMustTailCall(); in visitCallBase()
3272 ArgVal, Call); in visitCallBase()
3289 for (unsigned Idx = FTy->getNumParams(); Idx < Call.arg_size(); ++Idx) { in visitCallBase()
3290 Type *Ty = Call.getArgOperand(Idx)->getType(); in visitCallBase()
3292 verifyParameterAttrs(ArgAttrs, Ty, &Call); in visitCallBase()
3295 Check(!SawNest, "More than one parameter has attribute nest!", Call); in visitCallBase()
3301 Call); in visitCallBase()
3305 Call); in visitCallBase()
3311 if (!Call.getCalledFunction() || in visitCallBase()
3312 Call.getCalledFunction()->getIntrinsicID() != in visitCallBase()
3316 Call); in visitCallBase()
3319 Check(Idx == Call.arg_size() - 1, in visitCallBase()
3320 "inalloca isn't on the last argument!", Call); in visitCallBase()
3328 "Function has metadata parameter but isn't an intrinsic", Call); in visitCallBase()
3330 "Function has token parameter but isn't an intrinsic", Call); in visitCallBase()
3335 if (!Call.getCalledFunction()) { in visitCallBase()
3342 if (Function *F = Call.getCalledFunction()) in visitCallBase()
3344 visitIntrinsicCall(ID, Call); in visitCallBase()
3354 for (unsigned i = 0, e = Call.getNumOperandBundles(); i < e; ++i) { in visitCallBase()
3355 OperandBundleUse BU = Call.getOperandBundleAt(i); in visitCallBase()
3358 Check(!FoundDeoptBundle, "Multiple deopt operand bundles", Call); in visitCallBase()
3362 Call); in visitCallBase()
3365 Check(!FoundFuncletBundle, "Multiple funclet operand bundles", Call); in visitCallBase()
3368 "Expected exactly one funclet bundle operand", Call); in visitCallBase()
3371 Call); in visitCallBase()
3374 Call); in visitCallBase()
3377 "Expected exactly one cfguardtarget bundle operand", Call); in visitCallBase()
3379 Check(!FoundPtrauthBundle, "Multiple ptrauth operand bundles", Call); in visitCallBase()
3382 "Expected exactly two ptrauth bundle operands", Call); in visitCallBase()
3385 "Ptrauth bundle key operand must be an i32 constant", Call); in visitCallBase()
3387 "Ptrauth bundle discriminator operand must be an i64", Call); in visitCallBase()
3390 Call); in visitCallBase()
3393 "Expected exactly one preallocated bundle operand", Call); in visitCallBase()
3399 Call); in visitCallBase()
3401 Check(!FoundGCLiveBundle, "Multiple gc-live operand bundles", Call); in visitCallBase()
3405 "Multiple \"clang.arc.attachedcall\" operand bundles", Call); in visitCallBase()
3407 verifyAttachedCallBundle(Call, BU); in visitCallBase()
3412 Check(!(Call.getCalledFunction() && FoundPtrauthBundle), in visitCallBase()
3413 "Direct call cannot have a ptrauth bundle", Call); in visitCallBase()
3418 if (Call.getFunction()->getSubprogram() && Call.getCalledFunction() && in visitCallBase()
3419 Call.getCalledFunction()->getSubprogram()) in visitCallBase()
3420 CheckDI(Call.getDebugLoc(), in visitCallBase()
3423 Call); in visitCallBase()
3425 if (Call.isInlineAsm()) in visitCallBase()
3426 verifyInlineAsmCall(Call); in visitCallBase()
3428 visitInstruction(Call); in visitCallBase()
3880 void Verifier::verifySwiftErrorCall(CallBase &Call, in verifySwiftErrorCall() argument
3882 for (const auto &I : llvm::enumerate(Call.args())) { in verifySwiftErrorCall()
3884 Check(Call.paramHasAttr(I.index(), Attribute::SwiftError), in verifySwiftErrorCall()
3887 SwiftErrorVal, Call); in verifySwiftErrorCall()
3907 if (auto *Call = dyn_cast<CallBase>(U)) in verifySwiftErrorValue() local
3908 verifySwiftErrorCall(*const_cast<CallBase *>(Call), SwiftErrorVal); in verifySwiftErrorValue()
4822 void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) { in visitIntrinsicCall() argument
4823 Function *IF = Call.getCalledFunction(); in visitIntrinsicCall()
4870 for (Value *V : Call.args()) { in visitIntrinsicCall()
4872 visitMetadataAsValue(*MD, Call.getCaller()); in visitIntrinsicCall()
4882 for (auto &Elem : Call.bundle_op_infos()) { in visitIntrinsicCall()
4885 "tags must be valid attribute names", Call); in visitIntrinsicCall()
4891 "alignment assumptions should have 2 or 3 arguments", Call); in visitIntrinsicCall()
4892 Check(Call.getOperand(Elem.Begin)->getType()->isPointerTy(), in visitIntrinsicCall()
4893 "first argument should be a pointer", Call); in visitIntrinsicCall()
4894 Check(Call.getOperand(Elem.Begin + 1)->getType()->isIntegerTy(), in visitIntrinsicCall()
4895 "second argument should be an integer", Call); in visitIntrinsicCall()
4897 Check(Call.getOperand(Elem.Begin + 2)->getType()->isIntegerTy(), in visitIntrinsicCall()
4898 "third argument should be an integer if present", Call); in visitIntrinsicCall()
4901 Check(ArgCount <= 2, "too many arguments", Call); in visitIntrinsicCall()
4905 Check(ArgCount == 2, "this attribute should have 2 arguments", Call); in visitIntrinsicCall()
4906 Check(isa<ConstantInt>(Call.getOperand(Elem.Begin + 1)), in visitIntrinsicCall()
4907 "the second argument should be a constant integral value", Call); in visitIntrinsicCall()
4909 Check((ArgCount) == 1, "this attribute should have one argument", Call); in visitIntrinsicCall()
4911 Check((ArgCount) == 0, "this attribute has no argument", Call); in visitIntrinsicCall()
4917 auto *InfoArg = Call.getArgOperand(3)->stripPointerCasts(); in visitIntrinsicCall()
4933 auto *MAV = dyn_cast<MetadataAsValue>(Call.getOperand(1)); in visitIntrinsicCall()
4937 Check(MD != nullptr, "missing rounding mode argument", Call); in visitIntrinsicCall()
4947 "unsupported rounding mode argument", Call); in visitIntrinsicCall()
4952 visitVPIntrinsic(cast<VPIntrinsic>(Call)); in visitIntrinsicCall()
4957 visitConstrainedFPIntrinsic(cast<ConstrainedFPIntrinsic>(Call)); in visitIntrinsicCall()
4960 Check(isa<MetadataAsValue>(Call.getArgOperand(0)), in visitIntrinsicCall()
4961 "invalid llvm.dbg.declare intrinsic call 1", Call); in visitIntrinsicCall()
4962 visitDbgIntrinsic("declare", cast<DbgVariableIntrinsic>(Call)); in visitIntrinsicCall()
4965 visitDbgIntrinsic("addr", cast<DbgVariableIntrinsic>(Call)); in visitIntrinsicCall()
4968 visitDbgIntrinsic("value", cast<DbgVariableIntrinsic>(Call)); in visitIntrinsicCall()
4971 visitDbgLabelIntrinsic("label", cast<DbgLabelInst>(Call)); in visitIntrinsicCall()
4978 const auto *MI = cast<MemIntrinsic>(&Call); in visitIntrinsicCall()
4984 Call); in visitIntrinsicCall()
4988 Call); in visitIntrinsicCall()
4996 const auto *AMI = cast<AtomicMemIntrinsic>(&Call); in visitIntrinsicCall()
5004 Call); in visitIntrinsicCall()
5011 "incorrect alignment of the destination argument", Call); in visitIntrinsicCall()
5015 "incorrect alignment of the source argument", Call); in visitIntrinsicCall()
5020 auto *NumArgs = dyn_cast<ConstantInt>(Call.getArgOperand(0)); in visitIntrinsicCall()
5024 for (User *U : Call.users()) { in visitIntrinsicCall()
5059 Call, *UseCall); in visitIntrinsicCall()
5072 Check(PreallocatedBundle->Inputs.front().get() == &Call, in visitIntrinsicCall()
5080 auto *Token = dyn_cast<CallBase>(Call.getArgOperand(0)); in visitIntrinsicCall()
5085 Check(Call.hasFnAttr(Attribute::Preallocated), in visitIntrinsicCall()
5091 auto *Token = dyn_cast<CallBase>(Call.getArgOperand(0)); in visitIntrinsicCall()
5103 dyn_cast<AllocaInst>(Call.getArgOperand(0)->stripPointerCasts()); in visitIntrinsicCall()
5104 Check(AI, "llvm.gcroot parameter #1 must be an alloca.", Call); in visitIntrinsicCall()
5105 Check(isa<Constant>(Call.getArgOperand(1)), in visitIntrinsicCall()
5106 "llvm.gcroot parameter #2 must be a constant.", Call); in visitIntrinsicCall()
5108 Check(!isa<ConstantPointerNull>(Call.getArgOperand(1)), in visitIntrinsicCall()
5111 Call); in visitIntrinsicCall()
5115 Check(Call.getParent()->getParent()->hasGC(), in visitIntrinsicCall()
5116 "Enclosing function does not use GC.", Call); in visitIntrinsicCall()
5119 Check(isa<Function>(Call.getArgOperand(1)->stripPointerCasts()), in visitIntrinsicCall()
5121 Call); in visitIntrinsicCall()
5124 Check(cast<ConstantInt>(Call.getArgOperand(1))->getZExtValue() < 2 && in visitIntrinsicCall()
5125 cast<ConstantInt>(Call.getArgOperand(2))->getZExtValue() < 4, in visitIntrinsicCall()
5126 "invalid arguments to llvm.prefetch", Call); in visitIntrinsicCall()
5129 Check(isa<AllocaInst>(Call.getArgOperand(1)->stripPointerCasts()), in visitIntrinsicCall()
5130 "llvm.stackprotector parameter #2 must resolve to an alloca.", Call); in visitIntrinsicCall()
5133 BasicBlock *BB = Call.getParent(); in visitIntrinsicCall()
5135 "llvm.localescape used outside of entry block", Call); in visitIntrinsicCall()
5137 Call); in visitIntrinsicCall()
5138 for (Value *Arg : Call.args()) { in visitIntrinsicCall()
5143 "llvm.localescape only accepts static allocas", Call); in visitIntrinsicCall()
5145 FrameEscapeInfo[BB->getParent()].first = Call.arg_size(); in visitIntrinsicCall()
5150 Value *FnArg = Call.getArgOperand(0)->stripPointerCasts(); in visitIntrinsicCall()
5155 Call); in visitIntrinsicCall()
5156 auto *IdxArg = cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5164 if (auto *CI = dyn_cast<CallInst>(&Call)) in visitIntrinsicCall()
5167 Check(Call.getParent()->getParent()->hasGC(), in visitIntrinsicCall()
5168 "Enclosing function does not use GC.", Call); in visitIntrinsicCall()
5170 verifyStatepoint(Call); in visitIntrinsicCall()
5173 Check(Call.getParent()->getParent()->hasGC(), in visitIntrinsicCall()
5174 "Enclosing function does not use GC.", Call); in visitIntrinsicCall()
5176 const auto *StatepointCall = dyn_cast<CallBase>(Call.getArgOperand(0)); in visitIntrinsicCall()
5182 "gc.result operand #1 must be from a statepoint", Call, in visitIntrinsicCall()
5183 Call.getArgOperand(0)); in visitIntrinsicCall()
5188 Check(Call.getType() == TargetFuncType->getReturnType(), in visitIntrinsicCall()
5189 "gc.result result type does not match wrapped callee", Call); in visitIntrinsicCall()
5193 Check(Call.arg_size() == 3, "wrong number of arguments", Call); in visitIntrinsicCall()
5195 Check(isa<PointerType>(Call.getType()->getScalarType()), in visitIntrinsicCall()
5196 "gc.relocate must return a pointer or a vector of pointers", Call); in visitIntrinsicCall()
5202 dyn_cast<LandingPadInst>(Call.getArgOperand(0))) { in visitIntrinsicCall()
5219 auto *Token = Call.getArgOperand(0); in visitIntrinsicCall()
5221 "gc relocate is incorrectly tied to the statepoint", Call, Token); in visitIntrinsicCall()
5225 const Value &StatepointCall = *cast<GCRelocateInst>(Call).getStatepoint(); in visitIntrinsicCall()
5228 Value *Base = Call.getArgOperand(1); in visitIntrinsicCall()
5230 "gc.relocate operand #2 must be integer offset", Call); in visitIntrinsicCall()
5232 Value *Derived = Call.getArgOperand(2); in visitIntrinsicCall()
5234 "gc.relocate operand #3 must be integer offset", Call); in visitIntrinsicCall()
5245 "gc.relocate: statepoint base index out of bounds", Call); in visitIntrinsicCall()
5247 "gc.relocate: statepoint derived index out of bounds", Call); in visitIntrinsicCall()
5254 GCRelocateInst &Relocate = cast<GCRelocateInst>(Call); in visitIntrinsicCall()
5256 "gc.relocate: relocated value must be a gc pointer", Call); in visitIntrinsicCall()
5258 auto ResultType = Call.getType(); in visitIntrinsicCall()
5262 Call); in visitIntrinsicCall()
5267 Call); in visitIntrinsicCall()
5272 Check(isa<CatchPadInst>(Call.getArgOperand(0)), in visitIntrinsicCall()
5273 "eh.exceptionpointer argument must be a catchpad", Call); in visitIntrinsicCall()
5277 Check(Call.getType()->isVectorTy(), in visitIntrinsicCall()
5280 Call); in visitIntrinsicCall()
5281 auto *ElemTy = Call.getType()->getScalarType(); in visitIntrinsicCall()
5285 Call); in visitIntrinsicCall()
5289 Check(Call.getType()->isVectorTy(), "masked_load: must return a vector", in visitIntrinsicCall()
5290 Call); in visitIntrinsicCall()
5292 Value *Ptr = Call.getArgOperand(0); in visitIntrinsicCall()
5293 ConstantInt *Alignment = cast<ConstantInt>(Call.getArgOperand(1)); in visitIntrinsicCall()
5294 Value *Mask = Call.getArgOperand(2); in visitIntrinsicCall()
5295 Value *PassThru = Call.getArgOperand(3); in visitIntrinsicCall()
5297 Call); in visitIntrinsicCall()
5299 "masked_load: alignment must be a power of 2", Call); in visitIntrinsicCall()
5302 Check(PtrTy->isOpaqueOrPointeeTypeMatches(Call.getType()), in visitIntrinsicCall()
5303 "masked_load: return must match pointer type", Call); in visitIntrinsicCall()
5304 Check(PassThru->getType() == Call.getType(), in visitIntrinsicCall()
5305 "masked_load: pass through and return type must match", Call); in visitIntrinsicCall()
5307 cast<VectorType>(Call.getType())->getElementCount(), in visitIntrinsicCall()
5308 "masked_load: vector mask must be same length as return", Call); in visitIntrinsicCall()
5312 Value *Val = Call.getArgOperand(0); in visitIntrinsicCall()
5313 Value *Ptr = Call.getArgOperand(1); in visitIntrinsicCall()
5314 ConstantInt *Alignment = cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5315 Value *Mask = Call.getArgOperand(3); in visitIntrinsicCall()
5317 Call); in visitIntrinsicCall()
5319 "masked_store: alignment must be a power of 2", Call); in visitIntrinsicCall()
5323 "masked_store: storee must match pointer type", Call); in visitIntrinsicCall()
5326 "masked_store: vector mask must be same length as value", Call); in visitIntrinsicCall()
5332 cast<ConstantInt>(Call.getArgOperand(1))->getValue(); in visitIntrinsicCall()
5334 "masked_gather: alignment must be 0 or a power of 2", Call); in visitIntrinsicCall()
5339 cast<ConstantInt>(Call.getArgOperand(2))->getValue(); in visitIntrinsicCall()
5341 "masked_scatter: alignment must be 0 or a power of 2", Call); in visitIntrinsicCall()
5346 Check(isa<CallInst>(Call), "experimental_guard cannot be invoked", Call); in visitIntrinsicCall()
5347 Check(Call.countOperandBundlesOfType(LLVMContext::OB_deopt) == 1, in visitIntrinsicCall()
5354 Check(isa<CallInst>(Call), "experimental_deoptimize cannot be invoked", in visitIntrinsicCall()
5355 Call); in visitIntrinsicCall()
5356 Check(Call.countOperandBundlesOfType(LLVMContext::OB_deopt) == 1, in visitIntrinsicCall()
5359 Check(Call.getType() == Call.getFunction()->getReturnType(), in visitIntrinsicCall()
5362 if (isa<CallInst>(Call)) { in visitIntrinsicCall()
5363 auto *RI = dyn_cast<ReturnInst>(Call.getNextNode()); in visitIntrinsicCall()
5367 if (!Call.getType()->isVoidTy() && RI) in visitIntrinsicCall()
5368 Check(RI->getReturnValue() == &Call, in visitIntrinsicCall()
5384 Type *ArgTy = Call.getArgOperand(0)->getType(); in visitIntrinsicCall()
5391 Type *ArgTy = Call.getArgOperand(0)->getType(); in visitIntrinsicCall()
5400 Type *ArgTy = Call.getArgOperand(1)->getType(); in visitIntrinsicCall()
5413 Value *Op1 = Call.getArgOperand(0); in visitIntrinsicCall()
5414 Value *Op2 = Call.getArgOperand(1); in visitIntrinsicCall()
5422 auto *Op3 = cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5442 Type *ValTy = Call.getArgOperand(0)->getType(); in visitIntrinsicCall()
5443 Type *ResultTy = Call.getType(); in visitIntrinsicCall()
5445 "Intrinsic does not support vectors", &Call); in visitIntrinsicCall()
5449 Type *Ty = Call.getType(); in visitIntrinsicCall()
5451 Check(Size % 16 == 0, "bswap must be an even number of bytes", &Call); in visitIntrinsicCall()
5455 ConstantInt *InvariantSize = dyn_cast<ConstantInt>(Call.getArgOperand(0)); in visitIntrinsicCall()
5459 &Call); in visitIntrinsicCall()
5466 Function *IF = Call.getCalledFunction(); in visitIntrinsicCall()
5475 NumRows = cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5476 NumColumns = cast<ConstantInt>(Call.getArgOperand(4)); in visitIntrinsicCall()
5477 ResultTy = cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5479 cast<VectorType>(Call.getArgOperand(0)->getType())->getElementType(); in visitIntrinsicCall()
5481 cast<VectorType>(Call.getArgOperand(1)->getType())->getElementType(); in visitIntrinsicCall()
5484 NumRows = cast<ConstantInt>(Call.getArgOperand(1)); in visitIntrinsicCall()
5485 NumColumns = cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5486 ResultTy = cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5488 cast<VectorType>(Call.getArgOperand(0)->getType())->getElementType(); in visitIntrinsicCall()
5491 Stride = dyn_cast<ConstantInt>(Call.getArgOperand(1)); in visitIntrinsicCall()
5492 NumRows = cast<ConstantInt>(Call.getArgOperand(3)); in visitIntrinsicCall()
5493 NumColumns = cast<ConstantInt>(Call.getArgOperand(4)); in visitIntrinsicCall()
5494 ResultTy = cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5497 cast<PointerType>(Call.getArgOperand(0)->getType()); in visitIntrinsicCall()
5503 Stride = dyn_cast<ConstantInt>(Call.getArgOperand(2)); in visitIntrinsicCall()
5504 NumRows = cast<ConstantInt>(Call.getArgOperand(4)); in visitIntrinsicCall()
5505 NumColumns = cast<ConstantInt>(Call.getArgOperand(5)); in visitIntrinsicCall()
5506 ResultTy = cast<VectorType>(Call.getArgOperand(0)->getType()); in visitIntrinsicCall()
5508 cast<VectorType>(Call.getArgOperand(0)->getType())->getElementType(); in visitIntrinsicCall()
5511 cast<PointerType>(Call.getArgOperand(1)->getType()); in visitIntrinsicCall()
5547 VectorType *VecTy = cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5548 int64_t Idx = cast<ConstantInt>(Call.getArgOperand(2))->getSExtValue(); in visitIntrinsicCall()
5550 if (Call.getParent() && Call.getParent()->getParent()) { in visitIntrinsicCall()
5551 AttributeList Attrs = Call.getParent()->getParent()->getAttributes(); in visitIntrinsicCall()
5561 &Call); in visitIntrinsicCall()
5565 VectorType *VecTy = dyn_cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5570 &Call); in visitIntrinsicCall()
5574 Value *Vec = Call.getArgOperand(0); in visitIntrinsicCall()
5575 Value *SubVec = Call.getArgOperand(1); in visitIntrinsicCall()
5576 Value *Idx = Call.getArgOperand(2); in visitIntrinsicCall()
5587 &Call); in visitIntrinsicCall()
5604 Value *Vec = Call.getArgOperand(0); in visitIntrinsicCall()
5605 Value *Idx = Call.getArgOperand(1); in visitIntrinsicCall()
5608 VectorType *ResultTy = cast<VectorType>(Call.getType()); in visitIntrinsicCall()
5617 &Call); in visitIntrinsicCall()
5633 NoAliasScopeDecls.push_back(cast<IntrinsicInst>(&Call)); in visitIntrinsicCall()
5642 Type *ElemTy = Call.getParamElementType(0); in visitIntrinsicCall()
5644 &Call); in visitIntrinsicCall()
5651 Type *ElemTy = Call.getAttributes().getParamElementType(1); in visitIntrinsicCall()
5654 &Call); in visitIntrinsicCall()
6096 void Verifier::verifyAttachedCallBundle(const CallBase &Call, in verifyAttachedCallBundle() argument
6098 FunctionType *FTy = Call.getFunctionType(); in verifyAttachedCallBundle()
6101 (Call.doesNotReturn() && FTy->getReturnType()->isVoidTy())), in verifyAttachedCallBundle()
6105 Call); in verifyAttachedCallBundle()
6110 Call); in verifyAttachedCallBundle()
6118 "invalid function argument", Call); in verifyAttachedCallBundle()
6123 "invalid function argument", Call); in verifyAttachedCallBundle()