Lines Matching defs:MachineVerifier
86 struct MachineVerifier { struct
87 MachineVerifier(Pass *pass, const char *b) : PASS(pass), Banner(b) {} in MachineVerifier() argument
91 Pass *const PASS;
92 const char *Banner;
93 const MachineFunction *MF;
94 const TargetMachine *TM;
95 const TargetInstrInfo *TII;
96 const TargetRegisterInfo *TRI;
97 const MachineRegisterInfo *MRI;
99 unsigned foundErrors;
102 bool isFunctionRegBankSelected;
103 bool isFunctionSelected;
105 using RegVector = SmallVector<Register, 16>;
106 using RegMaskVector = SmallVector<const uint32_t *, 4>;
107 using RegSet = DenseSet<Register>;
108 using RegMap = DenseMap<Register, const MachineInstr *>;
109 using BlockSet = SmallPtrSet<const MachineBasicBlock *, 8>;
111 const MachineInstr *FirstNonPHI;
112 const MachineInstr *FirstTerminator;
113 BlockSet FunctionBlocks;
115 BitVector regsReserved;
116 RegSet regsLive;
117 RegVector regsDefined, regsDead, regsKilled;
118 RegMaskVector regMasks;
120 SlotIndex lastIndex;
123 void addRegWithSubRegs(RegVector &RV, Register Reg) { in addRegWithSubRegs()
129 struct BBInfo {
192 DenseMap<const MachineBasicBlock*, BBInfo> MBBInfoMap;
194 bool isReserved(Register Reg) { in isReserved()
198 bool isAllocatable(Register Reg) const { in isAllocatable()
204 LiveVariables *LiveVars;
205 LiveIntervals *LiveInts;
206 LiveStacks *LiveStks;
207 SlotIndexes *Indexes;