| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVBuiltins.cpp | 631 const SPIRV::IncomingCall *Call, in buildOpFromWrapper() argument 636 MIB.addDef(Call->ReturnRegister).addUse(TypeReg); 637 unsigned Sz = Call->Arguments.size() - ImmArgs.size(); 639 MIB.addUse(Call->Arguments[i]); 646 static bool buildAtomicInitInst(const SPIRV::IncomingCall *Call, in buildAtomicInitInst() argument 648 if (Call->isSpirvOp()) in buildAtomicInitInst() 649 return buildOpFromWrapper(MIRBuilder, SPIRV::OpStore, Call, Register(0)); in buildAtomicInitInst() 651 assert(Call->Arguments.size() == 2 && in buildAtomicInitInst() 654 .addUse(Call->Arguments[0]) in buildAtomicInitInst() 655 .addUse(Call->Arguments[1]); in buildAtomicInitInst() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | CastValueChecker.cpp | 34 class CastValueChecker : public Checker<check::DeadSymbols, eval::Call> { 38 std::function<void(const CastValueChecker *, const CallEvent &Call, 54 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 78 void evalCast(const CallEvent &Call, DefinedOrUnknownSVal DV, 80 void evalDynCast(const CallEvent &Call, DefinedOrUnknownSVal DV, 82 void evalCastOrNull(const CallEvent &Call, DefinedOrUnknownSVal DV, 84 void evalDynCastOrNull(const CallEvent &Call, DefinedOrUnknownSVal DV, 86 void evalCastAs(const CallEvent &Call, DefinedOrUnknownSVal DV, 88 void evalGetAs(const CallEvent &Call, DefinedOrUnknownSVal DV, 90 void evalIsa(const CallEvent &Call, DefinedOrUnknownSVal DV, [all …]
|
| H A D | SmartPtrModeling.cpp | 43 : public Checker<eval::Call, check::DeadSymbols, check::RegionChanges, 46 bool isBoolConversionMethod(const CallEvent &Call) const; 51 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 58 const LocationContext *LCtx, const CallEvent *Call) const; 64 void handleReset(const CallEvent &Call, CheckerContext &C) const; 65 void handleRelease(const CallEvent &Call, CheckerContext &C) const; 66 void handleSwapMethod(const CallEvent &Call, CheckerContext &C) const; 67 void handleGet(const CallEvent &Call, CheckerContext &C) const; 68 bool handleAssignOp(const CallEvent &Call, CheckerContext &C) const; 69 bool handleMoveCtr(const CallEvent &Call, CheckerContext &C, [all …]
|
| H A D | MismatchedIteratorChecker.cpp | 45 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 52 void MismatchedIteratorChecker::checkPreCall(const CallEvent &Call, in checkPreCall() argument 55 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); in checkPreCall() 62 if (const auto *InstCall = dyn_cast<CXXInstanceCall>(&Call)) { in checkPreCall() 63 if (Call.getNumArgs() < 1) in checkPreCall() 67 !isIteratorType(Call.getArgExpr(0)->getType())) in checkPreCall() 70 verifyMatch(C, InstCall->getCXXThisVal(), Call.getArgSVal(0)); in checkPreCall() 72 if (Call.getNumArgs() < 2) in checkPreCall() 75 if (!isIteratorType(Call.getArgExpr(0)->getType()) || in checkPreCall() 76 !isIteratorType(Call.getArgExpr(1)->getType())) in checkPreCall() [all …]
|
| H A D | PthreadLockChecker.cpp | 85 typedef void (PthreadLockChecker::*FnCheck)(const CallEvent &Call, 209 void InitAnyLock(const CallEvent &Call, CheckerContext &C, 211 void InitLockAux(const CallEvent &Call, CheckerContext &C, 216 void AcquirePthreadLock(const CallEvent &Call, CheckerContext &C, 218 void AcquireXNULock(const CallEvent &Call, CheckerContext &C, 220 void TryPthreadLock(const CallEvent &Call, CheckerContext &C, 222 void TryXNULock(const CallEvent &Call, CheckerContext &C, 224 void TryFuchsiaLock(const CallEvent &Call, CheckerContext &C, 226 void TryC11Lock(const CallEvent &Call, CheckerContext &C, 228 void AcquireLockAux(const CallEvent &Call, CheckerContext &C, [all …]
|
| H A D | StdVariantChecker.cpp | 33 getConstructorDeclarationForCall(const CallEvent &Call) { in getConstructorDeclarationForCall() argument 34 const auto *ConstructorCall = dyn_cast<CXXConstructorCall>(&Call); in getConstructorDeclarationForCall() 41 bool isCopyConstructorCall(const CallEvent &Call) { in isCopyConstructorCall() argument 43 getConstructorDeclarationForCall(Call)) in isCopyConstructorCall() 48 bool isCopyAssignmentCall(const CallEvent &Call) { in isCopyAssignmentCall() argument 49 const Decl *CopyAssignmentDecl = Call.getDecl(); in isCopyAssignmentCall() 57 bool isMoveConstructorCall(const CallEvent &Call) { in isMoveConstructorCall() argument 59 getConstructorDeclarationForCall(Call); in isMoveConstructorCall() 66 bool isMoveAssignmentCall(const CallEvent &Call) { in isMoveAssignmentCall() argument 67 const Decl *CopyAssignmentDecl = Call.getDecl(); in isMoveAssignmentCall() [all …]
|
| H A D | BlockInCriticalSectionChecker.cpp | 67 [[nodiscard]] bool matches(const CallEvent &Call, bool IsLock) const { in matches() argument 69 return LockFn.matches(Call); in matches() 71 return UnlockFn.matches(Call); in matches() 80 [[nodiscard]] const MemRegion *getRegion(const CallEvent &Call, bool) const { in getRegion() argument 81 return Call.getArgSVal(0).getAsRegion(); in getRegion() 90 [[nodiscard]] const MemRegion *getRegion(const CallEvent &Call, bool) const { in getRegion() argument 91 return cast<CXXMemberCall>(Call).getCXXThisVal().getAsRegion(); in getRegion() 100 void initIdentifierInfo(const CallEvent &Call) const { in initIdentifierInfo() 107 const auto &ASTCtx = Call.getState()->getStateManager().getContext(); in initIdentifierInfo() 112 template <typename T> bool matchesImpl(const CallEvent &Call) const { in matchesImpl() [all …]
|
| H A D | ErrnoTesterChecker.cpp | 28 class ErrnoTesterChecker : public Checker<eval::Call> { 30 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 35 static void evalSetErrno(CheckerContext &C, const CallEvent &Call); 38 static void evalGetErrno(CheckerContext &C, const CallEvent &Call); 44 static void evalSetErrnoIfError(CheckerContext &C, const CallEvent &Call); 49 const CallEvent &Call); 69 static void evalSetErrnoCheckState(CheckerContext &C, const CallEvent &Call); 88 const CallEvent &Call) { in evalSetErrno() argument 90 Call.getArgSVal(0), Irrelevant)); in evalSetErrno() 94 const CallEvent &Call) { in evalGetErrno() argument [all …]
|
| H A D | MallocChecker.cpp | 317 static bool isStandardNew(const CallEvent &Call) { in isStandardNew() argument 318 if (!Call.getDecl() || !isa<FunctionDecl>(Call.getDecl())) in isStandardNew() 320 return isStandardNew(cast<FunctionDecl>(Call.getDecl())); in isStandardNew() 324 static bool isStandardDelete(const CallEvent &Call) { in isStandardDelete() argument 325 if (!Call.getDecl() || !isa<FunctionDecl>(Call.getDecl())) in isStandardDelete() 327 return isStandardDelete(cast<FunctionDecl>(Call.getDecl())); in isStandardDelete() 387 check::PostCall, eval::Call, check::NewAllocator, 421 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 422 void checkPostCall(const CallEvent &Call, CheckerContext &C) const; 423 bool evalCall(const CallEvent &Call, CheckerContext &C) const; [all …]
|
| H A D | BuiltinFunctionChecker.cpp | 44 QualType getOverflowBuiltinResultType(const CallEvent &Call) { in getOverflowBuiltinResultType() argument 46 assert(Call.getNumArgs() == 3); in getOverflowBuiltinResultType() 48 return Call.getArgExpr(2)->getType()->getPointeeType(); in getOverflowBuiltinResultType() 51 QualType getOverflowBuiltinResultType(const CallEvent &Call, CheckerContext &C, in getOverflowBuiltinResultType() argument 54 assert(Call.getNumArgs() == 3); in getOverflowBuiltinResultType() 86 return getOverflowBuiltinResultType(Call); in getOverflowBuiltinResultType() 93 class BuiltinFunctionChecker : public Checker<eval::Call> { 95 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 96 void handleOverflowBuiltin(const CallEvent &Call, CheckerContext &C, 104 const CallEvent &Call, [all …]
|
| H A D | ChrootChecker.cpp | 51 class ChrootChecker final : public Checker<eval::Call, check::PreCall> { 53 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 54 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 57 bool evalChroot(const CallEvent &Call, CheckerContext &C) const; 58 bool evalChdir(const CallEvent &Call, CheckerContext &C) const; 65 bool ChrootChecker::evalCall(const CallEvent &Call, CheckerContext &C) const { in evalCall() argument 66 if (Chroot.matches(Call)) in evalCall() 67 return evalChroot(Call, C); in evalCall() 69 if (Chdir.matches(Call)) in evalCall() 70 return evalChdir(Call, C); in evalCall() [all …]
|
| H A D | IteratorModeling.cpp | 95 void handleOverloadedOperator(CheckerContext &C, const CallEvent &Call, 97 void handleAdvanceLikeFunction(CheckerContext &C, const CallEvent &Call, 152 void checkPostCall(const CallEvent &Call, CheckerContext &C) const; 169 const ExplodedNode *findCallEnter(const ExplodedNode *Node, const Expr *Call); 173 void IteratorModeling::checkPostCall(const CallEvent &Call, in checkPostCall() argument 176 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl()); in checkPostCall() 182 handleOverloadedOperator(C, Call, Op); in checkPostCall() 186 const auto *OrigExpr = Call.getOriginExpr(); in checkPostCall() 190 const AdvanceFn *Handler = AdvanceLikeFunctions.lookup(Call); in checkPostCall() 192 handleAdvanceLikeFunction(C, Call, OrigExpr, Handler); in checkPostCall() [all …]
|
| H A D | TaggedUnionModeling.h | 26 bool isCopyConstructorCall(const CallEvent &Call); 27 bool isCopyAssignmentCall(const CallEvent &Call); 28 bool isMoveAssignmentCall(const CallEvent &Call); 29 bool isMoveConstructorCall(const CallEvent &Call); 37 removeInformationStoredForDeadInstances(const CallEvent &Call, in removeInformationStoredForDeadInstances() argument 43 if (Call.isInSystemHeader()) in removeInformationStoredForDeadInstances() 53 void handleConstructorAndAssignment(const CallEvent &Call, CheckerContext &C, in handleConstructorAndAssignment() argument 55 ProgramStateRef State = Call.getState(); in handleConstructorAndAssignment() 60 auto ArgSVal = Call.getArgSVal(0); in handleConstructorAndAssignment() 65 bool IsCopy = isCopyConstructorCall(Call) || isCopyAssignmentCall(Call); in handleConstructorAndAssignment() [all …]
|
| H A D | StreamChecker.cpp | 220 SVal getStreamArg(const FnDescription *Desc, const CallEvent &Call) { in getStreamArg() argument 223 return Call.getArgSVal(Desc->StreamArgNo); in getStreamArg() 254 class StreamChecker : public Checker<check::PreCall, eval::Call, 270 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 271 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 275 const CallEvent *Call, 467 void evalFopen(const FnDescription *Desc, const CallEvent &Call, 470 void preFreopen(const FnDescription *Desc, const CallEvent &Call, 472 void evalFreopen(const FnDescription *Desc, const CallEvent &Call, 475 void evalFclose(const FnDescription *Desc, const CallEvent &Call, [all …]
|
| H A D | SetgidSetuidOrderChecker.cpp | 46 void checkPostCall(const CallEvent &Call, CheckerContext &C) const; 51 void processSetuid(ProgramStateRef State, const CallEvent &Call, 53 void processSetgid(ProgramStateRef State, const CallEvent &Call, 55 void processOther(ProgramStateRef State, const CallEvent &Call, 60 const CallEvent &Call) const; 78 void SetgidSetuidOrderChecker::checkPostCall(const CallEvent &Call, in REGISTER_TRAIT_WITH_PROGRAMSTATE() 81 if (SetuidDesc.matches(Call)) { in REGISTER_TRAIT_WITH_PROGRAMSTATE() 82 processSetuid(State, Call, C); in REGISTER_TRAIT_WITH_PROGRAMSTATE() 83 } else if (SetgidDesc.matches(Call)) { in REGISTER_TRAIT_WITH_PROGRAMSTATE() 84 processSetgid(State, Call, C); in REGISTER_TRAIT_WITH_PROGRAMSTATE() [all …]
|
| H A D | CStringChecker.cpp | 81 class CStringChecker : public Checker< eval::Call, 113 bool evalCall(const CallEvent &Call, CheckerContext &C) const; 124 const CallEvent *Call) const; 198 FnCheck identifyCall(const CallEvent &Call, CheckerContext &C) const; 199 void evalMemcpy(CheckerContext &C, const CallEvent &Call, CharKind CK) const; 200 void evalMempcpy(CheckerContext &C, const CallEvent &Call, CharKind CK) const; 201 void evalMemmove(CheckerContext &C, const CallEvent &Call, CharKind CK) const; 202 void evalBcopy(CheckerContext &C, const CallEvent &Call) const; 203 void evalCopyCommon(CheckerContext &C, const CallEvent &Call, 208 void evalMemcmp(CheckerContext &C, const CallEvent &Call, CharKind CK) const; [all …]
|
| H A D | SimpleStreamChecker.cpp | 64 const CallEvent &Call, 70 bool guaranteedNotToCloseFile(const CallEvent &Call) const; 74 void checkPostCall(const CallEvent &Call, CheckerContext &C) const; 76 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 83 const CallEvent *Call, 93 void SimpleStreamChecker::checkPostCall(const CallEvent &Call, in REGISTER_MAP_WITH_PROGRAMSTATE() 95 if (!OpenFn.matches(Call)) in REGISTER_MAP_WITH_PROGRAMSTATE() 99 SymbolRef FileDesc = Call.getReturnValue().getAsSymbol(); in REGISTER_MAP_WITH_PROGRAMSTATE() 109 void SimpleStreamChecker::checkPreCall(const CallEvent &Call, in checkPreCall() argument 111 if (!CloseFn.matches(Call)) in checkPreCall() [all …]
|
| H A D | NonNullParamChecker.cpp | 39 void checkPreCall(const CallEvent &Call, CheckerContext &C) const; 51 void setBitsAccordingToFunctionAttributes(const CallType &Call, in setBitsAccordingToFunctionAttributes() argument 53 const Decl *FD = Call.getDecl(); in setBitsAccordingToFunctionAttributes() 75 void setBitsAccordingToParameterAttributes(const CallType &Call, in setBitsAccordingToParameterAttributes() argument 77 for (const ParmVarDecl *Parameter : Call.parameters()) { in setBitsAccordingToParameterAttributes() 88 llvm::SmallBitVector getNonNullAttrsImpl(const CallType &Call, in getNonNullAttrsImpl() argument 92 setBitsAccordingToFunctionAttributes(Call, AttrNonNull); in getNonNullAttrsImpl() 93 setBitsAccordingToParameterAttributes(Call, AttrNonNull); in getNonNullAttrsImpl() 99 llvm::SmallBitVector getNonNullAttrs(const CallEvent &Call) { in getNonNullAttrs() argument 100 return getNonNullAttrsImpl(Call, Call.getNumArgs()); in getNonNullAttrs() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
| H A D | BPFPreserveStaticOffset.cpp | 129 if (auto *Call = dyn_cast<CallInst>(I)) in isIntrinsicCall() local 130 if (Function *Func = Call->getCalledFunction()) in isIntrinsicCall() 168 static void setParamElementType(CallInst *Call, unsigned ArgNo, Type *Type) { in setParamElementType() argument 169 LLVMContext &C = Call->getContext(); in setParamElementType() 170 Call->addParamAttr(ArgNo, Attribute::get(C, Attribute::ElementType, Type)); in setParamElementType() 173 static void setParamReadNone(CallInst *Call, unsigned ArgNo) { in setParamReadNone() argument 174 LLVMContext &C = Call->getContext(); in setParamReadNone() 175 Call->addParamAttr(ArgNo, Attribute::get(C, Attribute::ReadNone)); in setParamReadNone() 178 static void setParamReadOnly(CallInst *Call, unsigned ArgNo) { in setParamReadOnly() argument 179 LLVMContext &C = Call->getContext(); in setParamReadOnly() [all …]
|
| H A D | BPFAbstractMemberAccess.cpp | 164 void traceAICall(CallInst *Call, CallInfo &ParentInfo); 171 bool IsPreserveDIAccessIndexCall(const CallInst *Call, CallInfo &Cinfo); 182 Value *computeBaseAndAccessKey(CallInst *Call, CallInfo &CInfo, 184 MDNode *computeAccessKey(CallInst *Call, CallInfo &CInfo, 186 bool transformGEPChain(CallInst *Call, CallInfo &CInfo); 314 static Type *getBaseElementType(const CallInst *Call) { in getBaseElementType() argument 316 return Call->getParamElementType(0); in getBaseElementType() 326 bool BPFAbstractMemberAccess::IsPreserveDIAccessIndexCall(const CallInst *Call, in IsPreserveDIAccessIndexCall() argument 328 if (!Call) in IsPreserveDIAccessIndexCall() 331 const auto *GV = dyn_cast<GlobalValue>(Call->getCalledOperand()); in IsPreserveDIAccessIndexCall() [all …]
|
| H A D | BPFCheckAndAdjustIR.cpp | 116 auto *Call = dyn_cast<CallInst>(&I); in removePassThroughBuiltin() local 117 if (!Call) in removePassThroughBuiltin() 119 auto *GV = dyn_cast<GlobalValue>(Call->getCalledOperand()); in removePassThroughBuiltin() 125 Value *Arg = Call->getArgOperand(1); in removePassThroughBuiltin() 126 Call->replaceAllUsesWith(Arg); in removePassThroughBuiltin() 127 ToBeDeleted = Call; in removePassThroughBuiltin() 146 auto *Call = dyn_cast<CallInst>(&I); in removeCompareBuiltin() local 147 if (!Call) in removeCompareBuiltin() 149 auto *GV = dyn_cast<GlobalValue>(Call->getCalledOperand()); in removeCompareBuiltin() 156 Value *Arg0 = Call->getArgOperand(0); in removeCompareBuiltin() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/Sema/ |
| H A D | SemaOpenCL.cpp | 138 bool SemaOpenCL::checkSubgroupExt(CallExpr *Call) { in checkSubgroupExt() argument 146 Diag(Call->getBeginLoc(), diag::err_opencl_requires_extension) in checkSubgroupExt() 147 << 1 << Call->getDirectCallee() in checkSubgroupExt() 364 static bool checkPipeArg(Sema &S, CallExpr *Call) { in checkPipeArg() argument 365 const Expr *Arg0 = Call->getArg(0); in checkPipeArg() 368 S.Diag(Call->getBeginLoc(), diag::err_opencl_builtin_pipe_first_arg) in checkPipeArg() 369 << Call->getDirectCallee() << Arg0->getSourceRange(); in checkPipeArg() 378 switch (Call->getDirectCallee()->getBuiltinID()) { in checkPipeArg() 414 static bool checkPipePacketType(Sema &S, CallExpr *Call, unsigned Idx) { in checkPipePacketType() argument 415 const Expr *Arg0 = Call->getArg(0); in checkPipePacketType() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | InterpBuiltin.cpp | 147 const CallExpr *Call) { in interp__builtin_is_constant_evaluated() argument 165 S.report(Call->getExprLoc(), in interp__builtin_is_constant_evaluated() 167 << "__builtin_is_constant_evaluated" << Call->getSourceRange(); in interp__builtin_is_constant_evaluated() 178 const CallExpr *Call) { in interp__builtin_assume() argument 179 assert(Call->getNumArgs() == 1); in interp__builtin_assume() 180 discard(S.Stk, *S.getContext().classify(Call->getArg(0))); in interp__builtin_assume() 186 const CallExpr *Call, unsigned ID) { in interp__builtin_strcmp() argument 190 Limit = popToAPSInt(S.Stk, *S.getContext().classify(Call->getArg(2))) in interp__builtin_strcmp() 200 pushInteger(S, 0, Call->getType()); in interp__builtin_strcmp() 220 pushInteger(S, V, Call->getType()); in interp__builtin_strcmp() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | PartiallyInlineLibCalls.cpp | 35 static bool optimizeSQRT(CallInst *Call, Function *CalledFunc, in optimizeSQRT() argument 41 if (Call->onlyReadsMemory()) in optimizeSQRT() 59 Type *Ty = Call->getType(); in optimizeSQRT() 60 IRBuilder<> Builder(Call->getNextNode()); in optimizeSQRT() 65 Builder.getTrue(), Call->getNextNode(), /*Unreachable=*/false, in optimizeSQRT() 77 Call->replaceAllUsesWith(Phi); in optimizeSQRT() 83 Instruction *LibCall = Call->clone(); in optimizeSQRT() 88 Call->setDoesNotAccessMemory(); in optimizeSQRT() 93 ? Builder.CreateFCmpORD(Call, Call) in optimizeSQRT() 94 : Builder.CreateFCmpOGE(Call->getOperand(0), in optimizeSQRT() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExprEngineCallAndReturn.cpp | 185 static bool wasDifferentDeclUsedForInlining(CallEventRef<> Call, in wasDifferentDeclUsedForInlining() argument 188 const Decl *StaticDecl = Call->getDecl(); in wasDifferentDeclUsedForInlining() 198 const CallEvent &Call, const ProgramStateRef State, SValBuilder &SVB) { in getElementCountOfArrayBeingDestructed() argument 199 assert(isa<CXXDestructorCall>(Call) && in getElementCountOfArrayBeingDestructed() 202 const auto &DtorCall = cast<CXXDestructorCall>(Call); in getElementCountOfArrayBeingDestructed() 269 CallEventRef<> Call = CEMgr.getCaller(calleeCtx, state); in processCallExit() local 281 dyn_cast_or_null<CXXDestructorDecl>(Call->getDecl())) { in processCallExit() 297 if (wasDifferentDeclUsedForInlining(Call, calleeCtx)) { in processCallExit() 396 CallEventRef<> UpdatedCall = Call.cloneWithState(CEEState); in processCallExit() 415 if (const ObjCMethodCall *Msg = dyn_cast<ObjCMethodCall>(Call)) { in processCallExit() [all …]
|