reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/IR/Verifier.cpp
 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);