Skip to content

Commit 7b8a244

Browse files
committed
[llvm] refactor MachineFunctionAnalysisManager definition to its own header
1 parent 8972ffc commit 7b8a244

File tree

3 files changed

+29
-6
lines changed

3 files changed

+29
-6
lines changed

llvm/include/llvm/CodeGen/MachineBasicBlock.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "llvm/ADT/SparseBitVector.h"
1919
#include "llvm/ADT/ilist.h"
2020
#include "llvm/ADT/iterator_range.h"
21+
#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"
2122
#include "llvm/CodeGen/MachineInstr.h"
2223
#include "llvm/CodeGen/MachineInstrBundleIterator.h"
2324
#include "llvm/IR/DebugLoc.h"
@@ -46,8 +47,6 @@ class LiveIntervals;
4647
class LiveVariables;
4748
class TargetRegisterClass;
4849
class TargetRegisterInfo;
49-
template <typename IRUnitT, typename... ExtraArgTs> class AnalysisManager;
50-
using MachineFunctionAnalysisManager = AnalysisManager<MachineFunction>;
5150

5251
// This structure uniquely identifies a basic block section.
5352
// Possible values are
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//===- llvm/CodeGen/MachineFunctionAnalysisManager.h ------------*- C++ -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
//
9+
// Typedef for MachineFunctionAnalysisManager as an explicit instantiation of
10+
// AnalysisManager<MachineFunction>.
11+
//
12+
//===----------------------------------------------------------------------===//
13+
#ifndef LLVM_CODEGEN_MACHINEFUNCTIONANALYSISMANAGER
14+
#define LLVM_CODEGEN_MACHINEFUNCTIONANALYSISMANAGER
15+
16+
#include "llvm/IR/PassManager.h"
17+
18+
namespace llvm {
19+
20+
class MachineFunction;
21+
22+
extern template class AnalysisManager<MachineFunction>;
23+
using MachineFunctionAnalysisManager = AnalysisManager<MachineFunction>;
24+
25+
} // namespace llvm
26+
27+
#endif

llvm/include/llvm/CodeGen/MachinePassManager.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,14 @@
2424
#include "llvm/ADT/FunctionExtras.h"
2525
#include "llvm/ADT/SmallVector.h"
2626
#include "llvm/CodeGen/MachineFunction.h"
27+
#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"
2728
#include "llvm/IR/PassManager.h"
2829
#include "llvm/IR/PassManagerInternal.h"
2930
#include "llvm/Support/Error.h"
3031

3132
namespace llvm {
3233
class Module;
3334
class Function;
34-
class MachineFunction;
35-
36-
extern template class AnalysisManager<MachineFunction>;
37-
using MachineFunctionAnalysisManager = AnalysisManager<MachineFunction>;
3835

3936
/// An RAII based helper class to modify MachineFunctionProperties when running
4037
/// pass. Define a MFPropsModifier in PassT::run to set

0 commit comments

Comments
 (0)