|
33 | 33 | #include "llvm/CodeGen/SpillPlacement.h"
|
34 | 34 | #include "llvm/CodeGen/Spiller.h"
|
35 | 35 | #include "llvm/CodeGen/TargetRegisterInfo.h"
|
36 |
| -#include "llvm/IR/PassManager.h" |
37 | 36 | #include <algorithm>
|
38 | 37 | #include <cstdint>
|
39 | 38 | #include <memory>
|
@@ -61,29 +60,7 @@ class VirtRegMap;
|
61 | 60 | class LLVM_LIBRARY_VISIBILITY RAGreedy : public RegAllocBase,
|
62 | 61 | private LiveRangeEdit::Delegate {
|
63 | 62 | public:
|
64 |
| - struct RequiredAnalyses { |
65 |
| - VirtRegMap *VRM = nullptr; |
66 |
| - LiveIntervals *LIS = nullptr; |
67 |
| - LiveRegMatrix *LRM = nullptr; |
68 |
| - SlotIndexes *Indexes = nullptr; |
69 |
| - MachineBlockFrequencyInfo *MBFI = nullptr; |
70 |
| - MachineDominatorTree *DomTree = nullptr; |
71 |
| - MachineLoopInfo *Loops = nullptr; |
72 |
| - MachineOptimizationRemarkEmitter *ORE = nullptr; |
73 |
| - EdgeBundles *Bundles = nullptr; |
74 |
| - SpillPlacement *SpillPlacer = nullptr; |
75 |
| - LiveDebugVariables *DebugVars = nullptr; |
76 |
| - |
77 |
| - // Used by InlineSpiller |
78 |
| - LiveStacks *LSS; |
79 |
| - // Proxies for eviction and priority advisors |
80 |
| - RegAllocEvictionAdvisorProvider *EvictProvider; |
81 |
| - RegAllocPriorityAdvisorProvider *PriorityProvider; |
82 |
| - |
83 |
| - RequiredAnalyses() {} |
84 |
| - RequiredAnalyses(Pass &P); |
85 |
| - RequiredAnalyses(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM); |
86 |
| - }; |
| 63 | + struct RequiredAnalyses; |
87 | 64 |
|
88 | 65 | // Interface to eviction advisers
|
89 | 66 | /// Track allocation stage and eviction loop prevention during allocation.
|
|
0 commit comments