//===- bolt/Passes/DataflowInfoManager.h ------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef BOLT_PASSES_DATAFLOWINFOMANAGER_H #define BOLT_PASSES_DATAFLOWINFOMANAGER_H #include "bolt/Passes/DominatorAnalysis.h" #include "bolt/Passes/LivenessAnalysis.h" #include "bolt/Passes/ReachingDefOrUse.h" #include "bolt/Passes/ReachingInsns.h" #include "bolt/Passes/StackAllocationAnalysis.h" #include "bolt/Passes/StackPointerTracking.h" #include "bolt/Passes/StackReachingUses.h" namespace llvm { namespace bolt { class FrameAnalysis; class RegAnalysis; /// Manages instances for dataflow analyses and try to preserve the data /// calculated by each analysis as much as possible, saving the need to /// recompute it. Also provide an interface for data invalidation when the /// analysis is outdated after a transform pass modified the function. class DataflowInfoManager { … }; } // end namespace bolt } // end namespace llvm #endif