Home | History | Annotate | Download | only in IR

Lines Matching refs:Intrinsic

305     void visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI);
315 bool PerformTypeCheck(Intrinsic::ID ID, Function *F, Type *Ty,
318 ArrayRef<Intrinsic::IITDescriptor> &Infos,
459 "invalid linkage for intrinsic global variable", &GV);
469 "wrong type for intrinsic global variable", &GV);
476 "invalid linkage for intrinsic global variable", &GV);
480 Assert1(PTy, "wrong type for intrinsic global variable", &GV);
484 Assert1(InitArray, "wrong initalizer for intrinsic global variable",
1031 "Function takes metadata but isn't an intrinsic", I, &F);
1057 // If this function is actually an intrinsic, verify that it is only used in
1062 Assert1(0, "Invalid user of intrinsic instruction!", U);
1531 // Verify that there's no metadata unless it's a direct call to an intrinsic.
1537 "Function has metadata parameter but isn't an intrinsic", I);
1555 if (Intrinsic::ID ID = (Intrinsic::ID)F->getIntrinsicID())
2034 // Check to make sure that the "address of" an intrinsic function is never
2037 "Cannot take the address of an intrinsic!", &I);
2039 F->getIntrinsicID() == Intrinsic::donothing,
2108 /// intrinsic argument or return value) matches the type constraints specified
2113 ArrayRef<Intrinsic::IITDescriptor> &Infos,
2115 using namespace Intrinsic;
2190 void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
2192 Assert1(IF->isDeclaration(), "Intrinsic functions should never be defined!",
2195 // Verify that the intrinsic prototype lines up with what the .td files
2198 Assert1(!IFTy->isVarArg(), "Intrinsic prototypes are not varargs", IF);
2200 SmallVector<Intrinsic::IITDescriptor, 8> Table;
2202 ArrayRef<Intrinsic::IITDescriptor> TableRef = Table;
2206 "Intrinsic has incorrect return type!", IF);
2209 "Intrinsic has incorrect argument type!", IF);
2210 Assert1(TableRef.empty(), "Intrinsic has too few arguments!", IF);
2212 // Now that we have the intrinsic ID and the actual argument types (and we
2213 // know they are legal for the intrinsic!) get the intrinsic name through the
2216 Assert1(Intrinsic::getName(ID, ArgTys) == IF->getName(),
2217 "Intrinsic name not mangled correctly for type arguments!", IF);
2219 // If the intrinsic takes MDNode arguments, verify that they are either global
2228 case Intrinsic::ctlz: // llvm.ctlz
2229 case Intrinsic::cttz: // llvm.cttz
2234 case Intrinsic::dbg_declare: { // llvm.dbg.declare
2236 "invalid llvm.dbg.declare intrinsic call 1", &CI);
2239 "invalid llvm.dbg.declare intrinsic call 2", &CI);
2243 case Intrinsic::dbg_value: { //llvm.dbg.value
2246 "invalid llvm.dbg.value intrinsic call 1", &CI);
2251 case Intrinsic::memcpy:
2252 case Intrinsic::memmove:
2253 case Intrinsic::memset:
2261 case Intrinsic::gcroot:
2262 case Intrinsic::gcwrite:
2263 case Intrinsic::gcread:
2264 if (ID == Intrinsic::gcroot) {
2280 case Intrinsic::init_trampoline:
2285 case Intrinsic::prefetch:
2293 case Intrinsic::stackprotector:
2298 case Intrinsic::lifetime_start:
2299 case Intrinsic::lifetime_end:
2300 case Intrinsic::invariant_start:
2305 case Intrinsic::invariant_end: