Lines Matching defs:RALinScan
92 struct RALinScan : public MachineFunctionPass { struct
93 static char ID;
94 RALinScan() : MachineFunctionPass(ID) { in RALinScan() function
114 typedef std::pair<LiveInterval*, LiveInterval::iterator> IntervalPtr;
115 typedef SmallVector<IntervalPtr, 32> IntervalPtrs;
120 EquivalenceClasses<const TargetRegisterClass*> RelatedRegClasses;
121 DenseMap<unsigned, const TargetRegisterClass*> OneClassForEachPhysReg;
126 DenseMap<unsigned, unsigned> NextReloadMap;
130 SmallSet<unsigned, 8> DowngradedRegs;
134 DenseMap<unsigned, unsigned> DowngradeMap;
136 MachineFunction* mf_;
137 MachineRegisterInfo* mri_;
138 const TargetMachine* tm_;
139 const TargetRegisterInfo* tri_;
140 const TargetInstrInfo* tii_;
141 BitVector allocatableRegs_;
142 BitVector reservedRegs_;
143 LiveIntervals* li_;
144 MachineLoopInfo *loopInfo;
145 RegisterClassInfo RegClassInfo;
149 std::vector<LiveInterval*> handled_;
153 IntervalPtrs fixed_;
157 IntervalPtrs active_;
161 IntervalPtrs inactive_;
165 greater_ptr<LiveInterval> > IntervalHeap;
166 IntervalHeap unhandled_;
169 SmallVector<unsigned, 32> regUse_;
170 SmallVector<unsigned, 32> regUseBackUp_;
173 VirtRegMap* vrm_;
175 std::auto_ptr<VirtRegRewriter> rewriter_;
177 std::auto_ptr<Spiller> spiller_;
180 SmallVector<unsigned, 4> RecentRegs;
181 SmallVector<unsigned, 4>::iterator RecentNext;
184 unsigned avoidWAW_;
187 void recordRecentlyUsed(unsigned reg) { in recordRecentlyUsed()
197 virtual const char* getPassName() const { in getPassName()
201 virtual void getAnalysisUsage(AnalysisUsage &AU) const { in getAnalysisUsage()
230 bool isRecentlyUsed(unsigned reg) const { in isRecentlyUsed()
291 void initRegUses() { in initRegUses()
296 void finalizeRegUses() { in finalizeRegUses()
313 void addRegUse(unsigned physReg) { in addRegUse()
321 void delRegUse(unsigned physReg) { in delRegUse()
332 bool isRegAvail(unsigned physReg) const { in isRegAvail()
338 void backUpRegUses() { in backUpRegUses()
342 void restoreRegUses() { in restoreRegUses()
361 unsigned getFirstNonReservedPhysReg(const TargetRegisterClass *RC) { in getFirstNonReservedPhysReg()
370 void printIntervals(const char* const str, ItTy i, ItTy e) const { in printIntervals()