Lines Matching defs:MachineVerifier
90 struct MachineVerifier { struct
91 MachineVerifier(Pass *pass, const char *b) : PASS(pass), Banner(b) {} in MachineVerifier() argument
95 Pass *const PASS;
96 const char *Banner;
97 const MachineFunction *MF;
98 const TargetMachine *TM;
99 const TargetInstrInfo *TII;
100 const TargetRegisterInfo *TRI;
101 const MachineRegisterInfo *MRI;
102 const RegisterBankInfo *RBI;
104 unsigned foundErrors;
107 bool isFunctionRegBankSelected;
108 bool isFunctionSelected;
109 bool isFunctionTracksDebugUserValues;
111 using RegVector = SmallVector<Register, 16>;
112 using RegMaskVector = SmallVector<const uint32_t *, 4>;
113 using RegSet = DenseSet<Register>;
114 using RegMap = DenseMap<Register, const MachineInstr *>;
115 using BlockSet = SmallPtrSet<const MachineBasicBlock *, 8>;
117 const MachineInstr *FirstNonPHI;
118 const MachineInstr *FirstTerminator;
119 BlockSet FunctionBlocks;
121 BitVector regsReserved;
122 RegSet regsLive;
123 RegVector regsDefined, regsDead, regsKilled;
124 RegMaskVector regMasks;
126 SlotIndex lastIndex;
129 void addRegWithSubRegs(RegVector &RV, Register Reg) { in addRegWithSubRegs()
135 struct BBInfo {
198 DenseMap<const MachineBasicBlock*, BBInfo> MBBInfoMap;
200 bool isReserved(Register Reg) { in isReserved()
204 bool isAllocatable(Register Reg) const { in isAllocatable()
210 LiveVariables *LiveVars;
211 LiveIntervals *LiveInts;
212 LiveStacks *LiveStks;
213 SlotIndexes *Indexes;