Lines Matching refs:MCInst

1 //===- HexagonMCInstrInfo.cpp - Hexagon sub-class of MCInst ---------------===//
23 #include "llvm/MC/MCInst.h"
40 MCInst const &Inst)
46 MCInst const &Inst, std::nullptr_t)
62 MCInst const &Inst = *BundleCurrent->getInst();
71 MCInst const &Hexagon::PacketIterator::operator*() const {
82 void HexagonMCInstrInfo::addConstant(MCInst &MI, uint64_t Value,
88 MCInstrInfo const &MCII, MCInst &MCB,
89 MCInst const &MCI) {
95 MCInst *XMCI =
96 new (Context) MCInst(HexagonMCInstrInfo::deriveExtender(MCII, MCI, exOp));
104 MCInst const &MCI) {
110 iterator_range<MCInst::const_iterator>
111 HexagonMCInstrInfo::bundleInstructions(MCInst const &MCI) {
116 size_t HexagonMCInstrInfo::bundleSize(MCInst const &MCI) {
125 MCContext &Context, MCInst &MCB,
132 MCInst OrigMCB = MCB;
173 MCContext &Context, MCInst &MCB,
191 MCInst HexagonMCInstrInfo::deriveExtender(MCInstrInfo const &MCII,
192 MCInst const &Inst,
197 MCInst XMI;
208 MCInst *HexagonMCInstrInfo::deriveDuplex(MCContext &Context, unsigned iClass,
209 MCInst const &inst0,
210 MCInst const &inst1) {
212 MCInst *duplexInst = new (Context) MCInst;
215 MCInst *SubInst0 = new (Context) MCInst(deriveSubInst(inst0));
216 MCInst *SubInst1 = new (Context) MCInst(deriveSubInst(inst1));
222 MCInst const *HexagonMCInstrInfo::extenderForIndex(MCInst const &MCB,
227 MCInst const *Inst =
235 MCInstrInfo const &MCII, MCInst &MCB,
236 MCInst const &MCI) {
242 MCInst const &MCI) {
249 MCInst const &MCI) {
256 MCInst const &MCI) {
317 MCInst const &MCI) {
324 MCInst const &MCI) {
335 MCInst const &MCI) {
341 MCInst const &MCI) {
347 MCInst const &MCI) {
354 MCInst const &MCI) {
365 MCInst const &MCI) {
375 MCInst const &MCI) {
380 MCInst const &MCI) {
386 MCInst const &MCI) {
405 MCInst const &MCI) {
412 MCInst const &MCI) {
424 MCInst const &MCI) {
432 MCInst const &MCI) {
452 MCInst const &MCI) {
463 MCInst const &MCI) {
484 bool HexagonMCInstrInfo::hasDuplex(MCInstrInfo const &MCII, MCInst const &MCI) {
496 bool HexagonMCInstrInfo::hasExtenderForIndex(MCInst const &MCB, size_t Index) {
500 bool HexagonMCInstrInfo::hasImmExt(MCInst const &MCI) {
514 MCInst const &MCI) {
521 MCInst const &MCI) {
526 MCInst const &HexagonMCInstrInfo::instruction(MCInst const &MCB, size_t Index) {
534 MCInst const &MCI) {
539 bool HexagonMCInstrInfo::isBundle(MCInst const &MCI) {
546 MCInst const &MCI) {
587 bool HexagonMCInstrInfo::isCanon(MCInstrInfo const &MCII, MCInst const &MCI) {
592 bool HexagonMCInstrInfo::isCofMax1(MCInstrInfo const &MCII, MCInst const &MCI) {
598 MCInst const &MCI) {
604 MCInst const &MCI) {
610 MCInst const &MCI) {
614 bool HexagonMCInstrInfo::isCVINew(MCInstrInfo const &MCII, MCInst const &MCI) {
624 bool HexagonMCInstrInfo::isDuplex(MCInstrInfo const &MCII, MCInst const &MCI) {
629 MCInst const &MCI) {
635 MCInst const &MCI) {
640 bool HexagonMCInstrInfo::isFloat(MCInstrInfo const &MCII, MCInst const &MCI) {
645 bool HexagonMCInstrInfo::isHVX(MCInstrInfo const &MCII, MCInst const &MCI) {
650 bool HexagonMCInstrInfo::isImmext(MCInst const &MCI) {
654 bool HexagonMCInstrInfo::isInnerLoop(MCInst const &MCI) {
671 MCInst const &MCI) {
677 MCInst const &MCI) {
684 MCInst const &MCI, unsigned short O) {
688 bool HexagonMCInstrInfo::isOuterLoop(MCInst const &MCI) {
734 MCInst const &MCI) {
739 bool HexagonMCInstrInfo::isPrefix(MCInstrInfo const &MCII, MCInst const &MCI) {
744 MCInst const &MCI) {
751 MCInst const &MCI) {
757 MCInst const &MCI) {
769 MCInst const &Inst, unsigned I) {
777 bool HexagonMCInstrInfo::isSoloAX(MCInstrInfo const &MCII, MCInst const &MCI) {
784 MCInst const &MCI) {
791 MCInst const &MCI) {
798 bool HexagonMCInstrInfo::isSolo(MCInstrInfo const &MCII, MCInst const &MCI) {
803 bool HexagonMCInstrInfo::isMemReorderDisabled(MCInst const &MCI) {
809 bool HexagonMCInstrInfo::isSubInstruction(MCInst const &MCI) {
869 bool HexagonMCInstrInfo::isVector(MCInstrInfo const &MCII, MCInst const &MCI) {
874 int64_t HexagonMCInstrInfo::minConstant(MCInst const &MCI, size_t Index) {
929 void HexagonMCInstrInfo::padEndloop(MCInst &MCB, MCContext &Context) {
930 MCInst Nop;
934 MCB.addOperand(MCOperand::createInst(new (Context) MCInst(Nop)));
938 HexagonMCInstrInfo::predicateInfo(MCInstrInfo const &MCII, MCInst const &MCI) {
949 MCInst const &MCI) {
954 bool HexagonMCInstrInfo::hasTmpDst(MCInstrInfo const &MCII, MCInst const &MCI) {
969 bool HexagonMCInstrInfo::hasHvxTmp(MCInstrInfo const &MCII, MCInst const &MCI) {
975 MCInst const &MCI) {
987 MCInst const &MCI) {
990 MCInst const &MCI = *HMI.getInst();
1001 void HexagonMCInstrInfo::replaceDuplex(MCContext &Context, MCInst &MCB,
1006 MCInst *Duplex =
1015 void HexagonMCInstrInfo::setInnerLoop(MCInst &MCI) {
1021 void HexagonMCInstrInfo::setMemReorderDisabled(MCInst &MCI) {
1028 void HexagonMCInstrInfo::setOuterLoop(MCInst &MCI) {
1048 bool HexagonMCInstrInfo::LoopNeedsPadding(MCInst const &MCB) {
1058 MCInst const &I) {