| /freebsd/contrib/llvm-project/clang/lib/Analysis/ |
| H A D | ConstructionContext.cpp | 46 BumpVectorContext &C, const MaterializeTemporaryExpr *MTE, in createMaterializedTemporaryFromLayers() argument 49 assert(MTE); in createMaterializedTemporaryFromLayers() 54 if (!BTE && !(MTE->getType().getCanonicalType()->getAsCXXRecordDecl() in createMaterializedTemporaryFromLayers() 56 MTE->getStorageDuration() != SD_FullExpression)) { in createMaterializedTemporaryFromLayers() 63 if (MTE->getStorageDuration() != SD_FullExpression) { in createMaterializedTemporaryFromLayers() 84 return create<SimpleTemporaryObjectConstructionContext>(C, BTE, MTE); in createMaterializedTemporaryFromLayers() 87 C, BTE, MTE, ElidedCE, ElidedCC); in createMaterializedTemporaryFromLayers() 92 return create<SimpleTemporaryObjectConstructionContext>(C, BTE, MTE); in createMaterializedTemporaryFromLayers() 129 const auto *MTE = cast<MaterializeTemporaryExpr>(ParentItem.getStmt()); in createBoundTemporaryFromLayers() local 130 return createMaterializedTemporaryFromLayers(C, MTE, BTE, in createBoundTemporaryFromLayers() [all …]
|
| H A D | CFG.cpp | 628 CFGBlock *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE, 1602 auto *MTE = cast<MaterializeTemporaryExpr>(Child); in findConstructionContexts() local 1603 findConstructionContexts(withExtraLayer(MTE), MTE->getSubExpr()); in findConstructionContexts() 1869 if (const MaterializeTemporaryExpr *MTE in getReferenceInitTemporaryType() local 1871 Init = MTE->getSubExpr(); in getReferenceInitTemporaryType() 3789 CFGBuilder::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE, in VisitMaterializeTemporaryExpr() argument 3792 ConstructionContextLayer::create(cfg->getBumpVectorContext(), MTE), in VisitMaterializeTemporaryExpr() 3793 MTE->getSubExpr()); in VisitMaterializeTemporaryExpr() 3795 return VisitStmt(MTE, asc); in VisitMaterializeTemporaryExpr() 5099 const MaterializeTemporaryExpr* MTE = cast<MaterializeTemporaryExpr>(E); in VisitForTemporaryDtors() local [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/AST/ |
| H A D | IgnoreExpr.h | 66 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) in IgnoreImplicitCastsExtraSingleStep() local 67 return MTE->getSubExpr(); in IgnoreImplicitCastsExtraSingleStep() 82 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) in IgnoreCastsSingleStep() local 83 return MTE->getSubExpr(); in IgnoreCastsSingleStep() 116 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) in IgnoreImplicitSingleStep() local 117 return MTE->getSubExpr(); in IgnoreImplicitSingleStep()
|
| H A D | JSONNodeDumper.h | 314 void VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *MTE);
|
| /freebsd/contrib/llvm-project/clang/include/clang/Analysis/ |
| H A D | ConstructionContext.h | 99 ConstructionContextItem(const MaterializeTemporaryExpr *MTE) in ConstructionContextItem() argument 100 : Data(MTE), Kind(MaterializationKind) {} in ConstructionContextItem() 286 BumpVectorContext &C, const MaterializeTemporaryExpr *MTE, 488 const MaterializeTemporaryExpr *MTE; variable 493 const MaterializeTemporaryExpr *MTE) in TemporaryObjectConstructionContext() argument 494 : ConstructionContext(K), BTE(BTE), MTE(MTE) { in TemporaryObjectConstructionContext() 514 return MTE; in getMaterializedTemporaryExpr() 531 const CXXBindTemporaryExpr *BTE, const MaterializeTemporaryExpr *MTE) in SimpleTemporaryObjectConstructionContext() argument 533 ConstructionContext::SimpleTemporaryObjectKind, BTE, MTE) {} in SimpleTemporaryObjectConstructionContext() 557 const CXXBindTemporaryExpr *BTE, const MaterializeTemporaryExpr *MTE, in ElidedTemporaryObjectConstructionContext() argument [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/Sema/ |
| H A D | CheckExprLifetime.cpp | 752 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Init)) { in visitLocalsRetainedByReferenceBinding() local 753 if (Visit(Path, Local(MTE), RK)) in visitLocalsRetainedByReferenceBinding() 754 visitLocalsRetainedByInitializer(Path, MTE->getSubExpr(), Visit, true); in visitLocalsRetainedByReferenceBinding() 879 } else if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L)) { in visitLocalsRetainedByInitializer() local 880 if (MTE->getType().isConstQualified()) in visitLocalsRetainedByInitializer() 881 visitLocalsRetainedByInitializer(Path, MTE->getSubExpr(), in visitLocalsRetainedByInitializer() 1012 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(CCE->getArg(0))) { in visitLocalsRetainedByInitializer() local 1013 Expr *Arg = MTE->getSubExpr(); in visitLocalsRetainedByInitializer() 1265 auto *MTE = dyn_cast<MaterializeTemporaryExpr>(L); in analyzePathForGSLPointer() local 1268 MTE && !MTE->getExtendingDecl() && in analyzePathForGSLPointer() [all …]
|
| H A D | JumpDiagnostics.cpp | 579 MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(S); in BuildScopeInformation() local 580 if (MTE->getStorageDuration() == SD_Automatic) { in BuildScopeInformation() 582 MTE->getSubExpr()->skipRValueSubobjectAdjustments(); in BuildScopeInformation()
|
| H A D | SemaStmt.cpp | 2770 for (auto *MTE : LifetimeExtendTemps) in BuildCXXForRangeStmt() local 2771 MTE->setExtendingDecl(RangeVar, Entity.allocateManglingNumber()); in BuildCXXForRangeStmt() 3057 const MaterializeTemporaryExpr *MTE = in DiagnoseForRangeReferenceVariableCopies() local 3061 if (!MTE) in DiagnoseForRangeReferenceVariableCopies() 3064 const Expr *E = MTE->getSubExpr()->IgnoreImpCasts(); in DiagnoseForRangeReferenceVariableCopies() 3075 const MaterializeTemporaryExpr *MTE = cast<MaterializeTemporaryExpr>(E); in DiagnoseForRangeReferenceVariableCopies() local 3076 E = MTE->getSubExpr(); in DiagnoseForRangeReferenceVariableCopies()
|
| H A D | SemaInit.cpp | 7712 auto MTE = new (Context) in CreateMaterializeTemporaryExpr() local 7723 currentEvaluationContext().ForRangeLifetimeExtendTemps.push_back(MTE); in CreateMaterializeTemporaryExpr() 7724 return MTE; in CreateMaterializeTemporaryExpr() 8058 MaterializeTemporaryExpr *MTE = S.CreateMaterializeTemporaryExpr( in Perform() local 8060 CurInit = MTE; in Perform() 8064 if (MTE->getStorageDuration() == SD_Automatic && in Perform() 8065 MTE->getType().isDestructedType()) in Perform() 8539 MaterializeTemporaryExpr *MTE = S.CreateMaterializeTemporaryExpr( in Perform() local 8544 CurInit = new (S.Context) CXXStdInitializerListExpr(Step->Type, MTE); in Perform()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExprEngineCXX.cpp | 293 const MaterializeTemporaryExpr *MTE = TCC->getMaterializedTemporaryExpr(); in computeObjectUnderConstruction() local 296 if (MTE) { in computeObjectUnderConstruction() 297 if (const ValueDecl *VD = MTE->getExtendingDecl()) { in computeObjectUnderConstruction() 298 StorageDuration SD = MTE->getStorageDuration(); in computeObjectUnderConstruction() 316 assert(MTE->getStorageDuration() == SD_FullExpression); in computeObjectUnderConstruction() 481 if (const auto *MTE = TCC->getMaterializedTemporaryExpr()) in updateObjectsUnderConstruction() local 482 State = addObjectUnderConstruction(State, MTE, LCtx, V); in updateObjectsUnderConstruction() 495 if (const auto *MTE = TCC->getMaterializedTemporaryExpr()) in updateObjectsUnderConstruction() local 496 State = addObjectUnderConstruction(State, MTE, LCtx, V); in updateObjectsUnderConstruction()
|
| H A D | ExprEngine.cpp | 2007 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(ArgE)) { in Visit() local 2008 ArgE = MTE->getSubExpr(); in Visit() 2307 const auto *MTE = cast<MaterializeTemporaryExpr>(S); in Visit() local 2309 getCheckerManager().runCheckersForPreStmt(dstPrevisit, Pred, MTE, *this); in Visit() 2312 CreateCXXTemporaryObject(MTE, i, dstExpr); in Visit() 2313 getCheckerManager().runCheckersForPostStmt(Dst, dstExpr, MTE, *this); in Visit()
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | Disasm.cpp | 316 if (const auto *MTE = in dump() local 318 MTE && MTE->getLifetimeExtendedTemporaryDecl()) { in dump() 320 MTE->getLifetimeExtendedTemporaryDecl()->getValue()) { in dump()
|
| H A D | Interp.cpp | 216 const auto *MTE = dyn_cast_if_present<MaterializeTemporaryExpr>( in CheckTemporary() local 218 if (!MTE) in CheckTemporary() 224 if (!MTE->isUsableInConstantExpressions(S.getASTContext()) && in CheckTemporary()
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ |
| H A D | APValue.cpp | 92 if (const MaterializeTemporaryExpr *MTE = in getType() local 96 const Expr *Temp = MTE->getSubExpr(); in getType() 1190 auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E); in getLVForValue() local 1191 if (!MTE || MTE->getStorageDuration() == SD_FullExpression) in getLVForValue() 1193 if (MergeLV(getLVForDecl(MTE->getExtendingDecl(), computation))) in getLVForValue()
|
| H A D | JSONNodeDumper.cpp | 1570 const MaterializeTemporaryExpr *MTE) { in VisitMaterializeTemporaryExpr() argument 1571 if (const ValueDecl *VD = MTE->getExtendingDecl()) in VisitMaterializeTemporaryExpr() 1574 switch (MTE->getStorageDuration()) { in VisitMaterializeTemporaryExpr() 1592 attributeOnlyIfTrue("boundToLValueRef", MTE->isBoundToLvalueReference()); in VisitMaterializeTemporaryExpr()
|
| H A D | Expr.cpp | 57 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) { in getBestDynamicClassTypeExpr() local 58 E = MTE->getSubExpr(); in getBestDynamicClassTypeExpr() 3335 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(this)) in isConstantInitializer() local 3336 return MTE->getSubExpr()->isConstantInitializer(Ctx, false, Culprit); in isConstantInitializer()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | IteratorModeling.cpp | 156 void checkPostStmt(const MaterializeTemporaryExpr *MTE, 293 void IteratorModeling::checkPostStmt(const MaterializeTemporaryExpr *MTE, in checkPostStmt() argument 297 const auto *Pos = getIteratorPosition(State, C.getSVal(MTE->getSubExpr())); in checkPostStmt() 300 State = setIteratorPosition(State, C.getSVal(MTE), *Pos); in checkPostStmt()
|
| /freebsd/contrib/llvm-project/clang/lib/Analysis/FlowSensitive/ |
| H A D | DataflowEnvironment.cpp | 349 bool VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE) override { in VisitMaterializeTemporaryExpr() argument 350 if (MTE->getType()->isRecordType()) in VisitMaterializeTemporaryExpr() 352 MTE->getSubExpr(), in VisitMaterializeTemporaryExpr() 353 &cast<RecordStorageLocation>(DACtx.getStableStorageLocation(*MTE))); in VisitMaterializeTemporaryExpr()
|
| /freebsd/contrib/arm-optimized-routines/ |
| H A D | config.mk.dist | 54 # Enable MTE support.
|
| /freebsd/contrib/llvm-project/clang/include/clang/Basic/ |
| H A D | Sanitizers.def | 58 // A variant of AddressSanitizer using AArch64 MTE extension.
|
| H A D | BuiltinsAArch64.def | 72 // Memory Tagging Extensions (MTE)
|
| /freebsd/contrib/llvm-project/lld/ELF/ |
| H A D | Options.td | 843 // ARM's MTE on armv8.5+. A binary's desire for stack MTE can't be obtained 847 "Instruct the dynamic loader to prepare for MTE stack instrumentation", "">; 849 "Instruct the dynamic loader to enable MTE protection for the heap", "">; 851 "Instruct the dynamic loader to start under MTE mode {async, sync, none}">;
|
| /freebsd/sys/arm64/arm64/ |
| H A D | locore.S | 1070 CHECK_CPU_FEAT(x3, ID_AA64PFR1, MTE, MTE2, 1f)
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGExprAgg.cpp | 2103 if (auto *MTE = dyn_cast<MaterializeTemporaryExpr>(E)) in GetNumNonZeroBytesInInit() local 2104 E = MTE->getSubExpr(); in GetNumNonZeroBytesInInit()
|
| H A D | CGExprConstant.cpp | 1531 if (const auto *MTE = dyn_cast<MaterializeTemporaryExpr>(Arg)) in VisitCXXConstructExpr() local 1532 return Visit(MTE->getSubExpr(), Ty); in VisitCXXConstructExpr()
|