//===--- Statistics.def - Statistics Macro Metaprogramming Database -*- C++ -*-===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See https://swift.org/LICENSE.txt for license information // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// // // This file defines the database of always-available statistic counters. // // DRIVER_STATISTIC(Id) // - Id is an identifier suitable for use in C++ // // FRONTEND_STATISTIC(Subsystem, Id) // - Subsystem is a token to be stringified as a name prefix // - Id is an identifier suitable for use in C++ //===----------------------------------------------------------------------===// /// Driver statistics are collected for driver processes #ifdef DRIVER_STATISTIC DRIVER_STATISTIC(NumDriverJobsRun) DRIVER_STATISTIC(NumDriverJobsSkipped) DRIVER_STATISTIC(DriverDepCascadingTopLevel) DRIVER_STATISTIC(DriverDepCascadingDynamic) DRIVER_STATISTIC(DriverDepCascadingNominal) DRIVER_STATISTIC(DriverDepCascadingMember) DRIVER_STATISTIC(DriverDepCascadingExternal) DRIVER_STATISTIC(DriverDepTopLevel) DRIVER_STATISTIC(DriverDepDynamic) DRIVER_STATISTIC(DriverDepNominal) DRIVER_STATISTIC(DriverDepMember) DRIVER_STATISTIC(DriverDepExternal) DRIVER_STATISTIC(ChildrenMaxRSS) #endif /// Driver statistics are collected for frontend processes #ifdef FRONTEND_STATISTIC FRONTEND_STATISTIC(AST, NumSourceBuffers) FRONTEND_STATISTIC(AST, NumSourceLines) FRONTEND_STATISTIC(AST, NumSourceLinesPerSecond) FRONTEND_STATISTIC(AST, NumLinkLibraries) FRONTEND_STATISTIC(AST, NumLoadedModules) FRONTEND_STATISTIC(AST, NumImportedExternalDefinitions) FRONTEND_STATISTIC(AST, NumTotalClangImportedEntities) FRONTEND_STATISTIC(AST, NumASTBytesAllocated) FRONTEND_STATISTIC(AST, NumDependencies) FRONTEND_STATISTIC(AST, NumReferencedTopLevelNames) FRONTEND_STATISTIC(AST, NumReferencedDynamicNames) FRONTEND_STATISTIC(AST, NumReferencedMemberNames) FRONTEND_STATISTIC(AST, NumDecls) FRONTEND_STATISTIC(AST, NumLocalTypeDecls) FRONTEND_STATISTIC(AST, NumObjCMethods) FRONTEND_STATISTIC(AST, NumInfixOperators) FRONTEND_STATISTIC(AST, NumPostfixOperators) FRONTEND_STATISTIC(AST, NumPrefixOperators) FRONTEND_STATISTIC(AST, NumPrecedenceGroups) FRONTEND_STATISTIC(AST, NumUsedConformances) FRONTEND_STATISTIC(Sema, NumConformancesDeserialized) FRONTEND_STATISTIC(Sema, NumConstraintScopes) FRONTEND_STATISTIC(Sema, NumDeclsDeserialized) FRONTEND_STATISTIC(Sema, NumDeclsValidated) FRONTEND_STATISTIC(Sema, NumFunctionsTypechecked) FRONTEND_STATISTIC(Sema, NumGenericSignatureBuilders) FRONTEND_STATISTIC(Sema, NumLazyGenericEnvironments) FRONTEND_STATISTIC(Sema, NumLazyGenericEnvironmentsLoaded) FRONTEND_STATISTIC(Sema, NumLazyIterableDeclContexts) FRONTEND_STATISTIC(Sema, NominalTypeLookupDirectCount) FRONTEND_STATISTIC(Sema, NumTypesDeserialized) FRONTEND_STATISTIC(Sema, NumTypesValidated) FRONTEND_STATISTIC(Sema, NumUnloadedLazyIterableDeclContexts) FRONTEND_STATISTIC(SILModule, NumSILGenFunctions) FRONTEND_STATISTIC(SILModule, NumSILGenVtables) FRONTEND_STATISTIC(SILModule, NumSILGenWitnessTables) FRONTEND_STATISTIC(SILModule, NumSILGenDefaultWitnessTables) FRONTEND_STATISTIC(SILModule, NumSILGenGlobalVariables) FRONTEND_STATISTIC(SILModule, NumSILOptFunctions) FRONTEND_STATISTIC(SILModule, NumSILOptVtables) FRONTEND_STATISTIC(SILModule, NumSILOptWitnessTables) FRONTEND_STATISTIC(SILModule, NumSILOptDefaultWitnessTables) FRONTEND_STATISTIC(SILModule, NumSILOptGlobalVariables) FRONTEND_STATISTIC(IRModule, NumIRGlobals) FRONTEND_STATISTIC(IRModule, NumIRFunctions) FRONTEND_STATISTIC(IRModule, NumIRAliases) FRONTEND_STATISTIC(IRModule, NumIRIFuncs) FRONTEND_STATISTIC(IRModule, NumIRNamedMetaData) FRONTEND_STATISTIC(IRModule, NumIRValueSymbols) FRONTEND_STATISTIC(IRModule, NumIRComdatSymbols) FRONTEND_STATISTIC(IRModule, NumIRBasicBlocks) FRONTEND_STATISTIC(IRModule, NumIRInsts) FRONTEND_STATISTIC(LLVM, NumLLVMBytesOutput) #endif /// Frontend timers for recursive routines #ifdef FRONTEND_RECURSIVE_SHARED_TIMER FRONTEND_RECURSIVE_SHARED_TIMER(NominalTypeDecl__lookupDirect) FRONTEND_RECURSIVE_SHARED_TIMER(ClangImporter__Implementation__loadAllMembers) #endif