Lines Matching refs:MCI
56 void HexagonMCChecker::init(MCInst const& MCI) { in init() argument
57 const MCInstrDesc& MCID = HexagonMCInstrInfo::getDesc(MCII, MCI); in init()
63 if (MCI.getOperand(i).isReg()) { in init()
64 unsigned R = MCI.getOperand(i).getReg(); in init()
66 if (HexagonMCInstrInfo::isPredicated(MCII, MCI) && isPredicateRegister(R)) { in init()
69 isTrue = HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI); in init()
72 if (HexagonMCInstrInfo::isPredicatedNew(MCII, MCI)) in init()
108 HexagonMCInstrInfo::isPredicateLate(MCII, MCI)) in init()
117 unsigned R = MCI.getOperand(i).getReg(), in init()
149 else if (HexagonMCInstrInfo::isPredicateLate(MCII, MCI) && isPredicateRegister(*SRI)) in init()
152 … else if (i == 0 && llvm::HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeCVI_VM_CUR_LD) in init()
157 … else if (i == 0 && llvm::HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeCVI_VM_TMP_LD) in init()
164 else if (i <= 1 && llvm::HexagonMCInstrInfo::hasNewValue2(MCII, MCI) ) in init()
174 if (HexagonMCInstrInfo::hasNewValue(MCII, MCI)) { in init()
175 unsigned R = HexagonMCInstrInfo::getNewValueOperand(MCII, MCI).getReg(); in init()
177 if (HexagonMCInstrInfo::isCompound(MCII, MCI)) in init()
185 … NewDefs[*SRI].push_back(NewSense::Def(PredReg, HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI), in init()
186 HexagonMCInstrInfo::isFloat(MCII, MCI))); in init()
190 if (HexagonMCInstrInfo::hasNewValue2(MCII, MCI)) { in init()
191 unsigned R2 = HexagonMCInstrInfo::getNewValueOperand2(MCII, MCI).getReg(); in init()
197 … NewDefs[*SRI].push_back(NewSense::Def(PredReg, HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI), in init()
198 HexagonMCInstrInfo::isFloat(MCII, MCI))); in init()
203 if (HexagonMCInstrInfo::isPredicatedNew(MCII, MCI)) in init()
205 if (MCI.getOperand(i).isReg()) { in init()
206 unsigned P = MCI.getOperand(i).getReg(); in init()
213 if (HexagonMCInstrInfo::isNewValue(MCII, MCI)) { in init()
214 unsigned N = HexagonMCInstrInfo::getNewValueOperand(MCII, MCI).getReg(); in init()
219 … NewUses[N] = NewSense::Jmp(llvm::HexagonMCInstrInfo::getType(MCII, MCI) == HexagonII::TypeNV); in init()
221 NewUses[N] = NewSense::Use(PredReg, HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI)); in init()
251 MCInst const& MCI = *HMI.getInst(); in checkSlots() local
252 if (HexagonMCInstrInfo::isImmext(MCI)) in checkSlots()
254 if (HexagonMCInstrInfo::isDuplex(MCII, MCI)) in checkSlots()
280 MCInst const &MCI = *MCB.begin()[i].getInst(); in checkBranches() local
282 if (HexagonMCInstrInfo::isImmext(MCI)) in checkBranches()
284 if (HexagonMCInstrInfo::getDesc(MCII, MCI).isBranch() || in checkBranches()
285 HexagonMCInstrInfo::getDesc(MCII, MCI).isCall()) { in checkBranches()
287 if (HexagonMCInstrInfo::getDesc(MCII, MCI).isIndirectBranch() && in checkBranches()
288 HexagonMCInstrInfo::isPredicatedNew(MCII, MCI)) in checkBranches()
290 if (HexagonMCInstrInfo::isNewValue(MCII, MCI)) in checkBranches()
293 if (HexagonMCInstrInfo::isPredicated(MCII, MCI) || in checkBranches()
294 HexagonMCInstrInfo::isPredicatedNew(MCII, MCI)) { in checkBranches()
301 if (HexagonMCInstrInfo::getDesc(MCII, MCI).isReturn() && in checkBranches()
302 HexagonMCInstrInfo::getDesc(MCII, MCI).mayLoad()) in checkBranches()