Lines Matching defs:MachineVerifier
87 struct MachineVerifier { struct
88 MachineVerifier(Pass *pass, const char *b) : PASS(pass), Banner(b) {} in MachineVerifier() argument
92 Pass *const PASS;
93 const char *Banner;
94 const MachineFunction *MF;
95 const TargetMachine *TM;
96 const TargetInstrInfo *TII;
97 const TargetRegisterInfo *TRI;
98 const MachineRegisterInfo *MRI;
100 unsigned foundErrors;
103 bool isFunctionRegBankSelected;
104 bool isFunctionSelected;
106 using RegVector = SmallVector<unsigned, 16>;
107 using RegMaskVector = SmallVector<const uint32_t *, 4>;
108 using RegSet = DenseSet<unsigned>;
109 using RegMap = DenseMap<unsigned, const MachineInstr *>;
110 using BlockSet = SmallPtrSet<const MachineBasicBlock *, 8>;
112 const MachineInstr *FirstNonPHI;
113 const MachineInstr *FirstTerminator;
114 BlockSet FunctionBlocks;
116 BitVector regsReserved;
117 RegSet regsLive;
118 RegVector regsDefined, regsDead, regsKilled;
119 RegMaskVector regMasks;
121 SlotIndex lastIndex;
124 void addRegWithSubRegs(RegVector &RV, unsigned Reg) { in addRegWithSubRegs()
131 struct BBInfo {
214 DenseMap<const MachineBasicBlock*, BBInfo> MBBInfoMap;
216 bool isReserved(unsigned Reg) { in isReserved()
220 bool isAllocatable(unsigned Reg) const { in isAllocatable()
226 LiveVariables *LiveVars;
227 LiveIntervals *LiveInts;
228 LiveStacks *LiveStks;
229 SlotIndexes *Indexes;