//===--- Analysis.def -------------------------------------------*- 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 allows for metaprogramming with Analyses. By adding an analysis // name here, one is assured that all places in the compiler that the analysis // will have a kind created for it and that the analysis will be registered in // all locations where analyses are registered. // //===----------------------------------------------------------------------===// /// SIL_ANALYSIS(NAME) This represents the name of an analysis. It is assumed that /// the actual analysis is called `NAME ## Analysis'. #ifndef SIL_ANALYSIS #error "SIL_ANALYSIS macro must be defined" #endif SIL_ANALYSIS(AccessSummary) SIL_ANALYSIS(AccessStorage) SIL_ANALYSIS(Alias) SIL_ANALYSIS(BasicCallee) SIL_ANALYSIS(Caller) SIL_ANALYSIS(ClassHierarchy) SIL_ANALYSIS(ClosureScope) SIL_ANALYSIS(Destructor) SIL_ANALYSIS(DifferentiableActivity) SIL_ANALYSIS(Dominance) SIL_ANALYSIS(EpilogueARC) SIL_ANALYSIS(InductionVariable) SIL_ANALYSIS(Loop) SIL_ANALYSIS(LoopRegion) SIL_ANALYSIS(NonLocalAccessBlock) SIL_ANALYSIS(OptimizerStats) SIL_ANALYSIS(PostDominance) SIL_ANALYSIS(PostOrder) SIL_ANALYSIS(ProtocolConformance) SIL_ANALYSIS(RCIdentity) SIL_ANALYSIS(PassManagerVerifier) SIL_ANALYSIS(DeadEndBlocks) SIL_ANALYSIS(Region) #undef SIL_ANALYSIS