reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4233 Function *IF = Call.getCalledFunction(); 4279 for (Value *V : Call.args()) 4281 visitMetadataAsValue(*MD, Call.getCaller()); 4287 auto *InfoArg = Call.getArgOperand(3)->stripPointerCasts(); 4332 visitConstrainedFPIntrinsic(cast<ConstrainedFPIntrinsic>(Call)); 4335 Assert(isa<MetadataAsValue>(Call.getArgOperand(0)), 4336 "invalid llvm.dbg.declare intrinsic call 1", Call); 4337 visitDbgIntrinsic("declare", cast<DbgVariableIntrinsic>(Call)); 4340 visitDbgIntrinsic("addr", cast<DbgVariableIntrinsic>(Call)); 4343 visitDbgIntrinsic("value", cast<DbgVariableIntrinsic>(Call)); 4346 visitDbgLabelIntrinsic("label", cast<DbgLabelInst>(Call)); 4351 const auto *MI = cast<MemIntrinsic>(&Call); 4357 Call); 4361 Call); 4369 const auto *AMI = cast<AtomicMemIntrinsic>(&Call); 4377 Call); 4385 Call); 4393 "incorrect alignment of the destination argument", Call); 4397 "incorrect alignment of the source argument", Call); 4406 dyn_cast<AllocaInst>(Call.getArgOperand(0)->stripPointerCasts()); 4407 Assert(AI, "llvm.gcroot parameter #1 must be an alloca.", Call); 4408 Assert(isa<Constant>(Call.getArgOperand(1)), 4409 "llvm.gcroot parameter #2 must be a constant.", Call); 4411 Assert(!isa<ConstantPointerNull>(Call.getArgOperand(1)), 4414 Call); 4418 Assert(Call.getParent()->getParent()->hasGC(), 4419 "Enclosing function does not use GC.", Call); 4422 Assert(isa<Function>(Call.getArgOperand(1)->stripPointerCasts()), 4424 Call); 4427 Assert(cast<ConstantInt>(Call.getArgOperand(1))->getZExtValue() < 2 && 4428 cast<ConstantInt>(Call.getArgOperand(2))->getZExtValue() < 4, 4429 "invalid arguments to llvm.prefetch", Call); 4432 Assert(isa<AllocaInst>(Call.getArgOperand(1)->stripPointerCasts()), 4433 "llvm.stackprotector parameter #2 must resolve to an alloca.", Call); 4436 BasicBlock *BB = Call.getParent(); 4438 "llvm.localescape used outside of entry block", Call); 4440 "multiple calls to llvm.localescape in one function", Call); 4441 for (Value *Arg : Call.args()) { 4446 "llvm.localescape only accepts static allocas", Call); 4448 FrameEscapeInfo[BB->getParent()].first = Call.getNumArgOperands(); 4453 Value *FnArg = Call.getArgOperand(0)->stripPointerCasts(); 4458 Call); 4459 auto *IdxArg = cast<ConstantInt>(Call.getArgOperand(2)); 4467 if (auto *CI = dyn_cast<CallInst>(&Call)) 4470 Assert(Call.getParent()->getParent()->hasGC(), 4471 "Enclosing function does not use GC.", Call); 4473 verifyStatepoint(Call); 4476 Assert(Call.getParent()->getParent()->hasGC(), 4477 "Enclosing function does not use GC.", Call); 4479 const auto *StatepointCall = dyn_cast<CallBase>(Call.getArgOperand(0)); 4485 "gc.result operand #1 must be from a statepoint", Call, 4486 Call.getArgOperand(0)); 4492 Assert(Call.getType() == TargetFuncType->getReturnType(), 4493 "gc.result result type does not match wrapped callee", Call); 4497 Assert(Call.getNumArgOperands() == 3, "wrong number of arguments", Call); 4497 Assert(Call.getNumArgOperands() == 3, "wrong number of arguments", Call); 4499 Assert(isa<PointerType>(Call.getType()->getScalarType()), 4500 "gc.relocate must return a pointer or a vector of pointers", Call); 4506 dyn_cast<LandingPadInst>(Call.getArgOperand(0))) { 4523 auto Token = Call.getArgOperand(0); 4525 "gc relocate is incorrectly tied to the statepoint", Call, Token); 4530 *cast<CallBase>(cast<GCRelocateInst>(Call).getStatepoint()); 4533 Value *Base = Call.getArgOperand(1); 4535 "gc.relocate operand #2 must be integer offset", Call); 4537 Value *Derived = Call.getArgOperand(2); 4539 "gc.relocate operand #3 must be integer offset", Call); 4545 "gc.relocate: statepoint base index out of bounds", Call); 4547 "gc.relocate: statepoint derived index out of bounds", Call); 4577 Call); 4581 Call); 4587 GCRelocateInst &Relocate = cast<GCRelocateInst>(Call); 4589 "gc.relocate: relocated value must be a gc pointer", Call); 4591 auto ResultType = Call.getType(); 4595 Call); 4600 Call); 4605 Assert(isa<CatchPadInst>(Call.getArgOperand(0)), 4606 "eh.exceptionpointer argument must be a catchpad", Call); 4610 Assert(Call.getType()->isVectorTy(), "masked_load: must return a vector", 4611 Call); 4613 Value *Ptr = Call.getArgOperand(0); 4614 ConstantInt *Alignment = cast<ConstantInt>(Call.getArgOperand(1)); 4615 Value *Mask = Call.getArgOperand(2); 4616 Value *PassThru = Call.getArgOperand(3); 4618 Call); 4620 "masked_load: alignment must be a power of 2", Call); 4624 Assert(DataTy == Call.getType(), 4625 "masked_load: return must match pointer type", Call); 4627 "masked_load: pass through and data type must match", Call); 4630 "masked_load: vector mask must be same length as data", Call); 4634 Value *Val = Call.getArgOperand(0); 4635 Value *Ptr = Call.getArgOperand(1); 4636 ConstantInt *Alignment = cast<ConstantInt>(Call.getArgOperand(2)); 4637 Value *Mask = Call.getArgOperand(3); 4639 Call); 4641 "masked_store: alignment must be a power of 2", Call); 4646 "masked_store: storee must match pointer type", Call); 4649 "masked_store: vector mask must be same length as data", Call); 4654 Assert(isa<CallInst>(Call), "experimental_guard cannot be invoked", Call); 4654 Assert(isa<CallInst>(Call), "experimental_guard cannot be invoked", Call); 4655 Assert(Call.countOperandBundlesOfType(LLVMContext::OB_deopt) == 1, 4662 Assert(isa<CallInst>(Call), "experimental_deoptimize cannot be invoked", 4663 Call); 4664 Assert(Call.countOperandBundlesOfType(LLVMContext::OB_deopt) == 1, 4667 Assert(Call.getType() == Call.getFunction()->getReturnType(), 4667 Assert(Call.getType() == Call.getFunction()->getReturnType(), 4670 if (isa<CallInst>(Call)) { 4671 auto *RI = dyn_cast<ReturnInst>(Call.getNextNode()); 4675 if (!Call.getType()->isVoidTy() && RI) 4676 Assert(RI->getReturnValue() == &Call, 4687 Value *Op1 = Call.getArgOperand(0); 4688 Value *Op2 = Call.getArgOperand(1); 4701 Value *Op1 = Call.getArgOperand(0); 4702 Value *Op2 = Call.getArgOperand(1); 4710 auto *Op3 = cast<ConstantInt>(Call.getArgOperand(2)); 4729 Type *ValTy = Call.getArgOperand(0)->getType(); 4730 Type *ResultTy = Call.getType(); 4732 "Intrinsic does not support vectors", &Call);