|
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