llvm/bolt/include/bolt/Passes/DataflowInfoManager.h

//===- 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