Home
last modified time | relevance | path

Searched refs:MCB (Results 1 – 15 of 15) sorted by relevance

/openbsd/gnu/llvm/llvm/lib/Target/Hexagon/MCTargetDesc/
H A DHexagonMCShuffler.cpp34 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
51 Loc = MCB.getLoc(); in init()
75 Loc = MCB.getLoc(); in init()
80 MCB.clear(); in copyTo()
82 MCB.setLoc(Loc); in copyTo()
96 copyTo(MCB); in reshuffleTo()
99 LLVM_DEBUG(MCB.dump()); in reshuffleTo()
127 return MCS.reshuffleTo(MCB); in HexagonMCShuffle()
156 MCInst Attempt(MCB); in HexagonMCShuffle()
161 MCS.copyTo(MCB); in HexagonMCShuffle()
[all …]
H A DHexagonMCShuffler.h33 MCInst &MCB) in HexagonMCShuffler() argument
35 init(MCB); in HexagonMCShuffler()
40 MCInst &MCB, MCInst const &AddMI, bool InsertAtFront) in HexagonMCShuffler() argument
42 init(MCB, AddMI, InsertAtFront); in HexagonMCShuffler()
46 void copyTo(MCInst &MCB);
49 bool reshuffleTo(MCInst &MCB);
52 void init(MCInst &MCB);
53 void init(MCInst &MCB, MCInst const &AddMI, bool InsertAtFront);
60 MCInst &MCB);
62 MCSubtargetInfo const &STI, MCInst &MCB,
[all …]
H A DHexagonMCChecker.cpp45 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { in init()
49 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { in init()
54 if (HexagonMCInstrInfo::isBundle(MCB)) in init()
65 init(MCB); in init()
212 : Context(Other.Context), MCB(Other.MCB), RI(Other.RI), MCII(Other.MCII), in HexagonMCChecker()
331 if (!HexagonMCInstrInfo::isInnerLoop(MCB) && in checkHWLoop()
332 !HexagonMCInstrInfo::isOuterLoop(MCB)) in checkHWLoop()
336 reportError(MCB.getLoc(), in checkHWLoop()
728 MCB.getLoc(), in checkValidTmpDst()
784 reportError(MCB.getLoc(), Msg); in reportError()
[all …]
H A DHexagonMCInstrInfo.cpp90 assert(HexagonMCInstrInfo::isBundle(MCB)); in addConstExtender()
99 MCB.addOperand(MCOperand::createInst(XMCI)); in addConstExtender()
132 MCInst OrigMCB = MCB; in canonicalizePacketImpl()
151 HexagonMCInstrInfo::padEndloop(MCB, Context); in canonicalizePacketImpl()
224 assert(Index <= bundleSize(MCB)); in extenderForIndex()
238 addConstExtender(Context, MCII, MCB, MCI); in extendIfNeeded()
527 assert(isBundle(MCB)); in instruction()
924 assert(isBundle(MCB)); in padEndloop()
925 while (LoopNeedsPadding(MCB)) in padEndloop()
997 assert(isBundle(MCB)); in replaceDuplex()
[all …]
H A DHexagonMCDuplexInfo.cpp1030 MCInst const &MCB) { in getDuplexPossibilties() argument
1031 assert(isBundle(MCB)); in getDuplexPossibilties()
1034 unsigned numInstrInPacket = MCB.getNumOperands(); in getDuplexPossibilties()
1043 if (isStoreInst(MCB.getOperand(j).getInst()->getOpcode()) && in getDuplexPossibilties()
1044 isStoreInst(MCB.getOperand(k).getInst()->getOpcode())) { in getDuplexPossibilties()
1054 MCII, *MCB.getOperand(k).getInst(), in getDuplexPossibilties()
1055 HexagonMCInstrInfo::hasExtenderForIndex(MCB, k - 1), in getDuplexPossibilties()
1056 *MCB.getOperand(j).getInst(), in getDuplexPossibilties()
1057 HexagonMCInstrInfo::hasExtenderForIndex(MCB, j - 1), in getDuplexPossibilties()
1079 MCII, *MCB.getOperand(j).getInst(), in getDuplexPossibilties()
[all …]
H A DHexagonMCELFStreamer.cpp62 void HexagonMCELFStreamer::emitInstruction(const MCInst &MCB, in emitInstruction() argument
64 assert(MCB.getOpcode() == Hexagon::BUNDLE); in emitInstruction()
65 assert(HexagonMCInstrInfo::bundleSize(MCB) <= HEXAGON_PACKET_SIZE); in emitInstruction()
66 assert(HexagonMCInstrInfo::bundleSize(MCB) > 0); in emitInstruction()
70 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in emitInstruction()
75 MCObjectStreamer::emitInstruction(MCB, STI); in emitInstruction()
H A DHexagonMCInstrInfo.h87 void addConstExtender(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
100 MCContext &Context, MCInst &MCB,
116 MCInst const *extenderForIndex(MCInst const &MCB, size_t Index);
117 void extendIfNeeded(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
134 MCInst const &MCB);
191 bool hasExtenderForIndex(MCInst const &MCB, size_t Index);
216 MCInst const &instruction(MCInst const &MCB, size_t Index);
319 bool LoopNeedsPadding(MCInst const &MCB);
H A DHexagonAsmBackend.cpp577 MCInst const &MCB = DF->getInst(); in fixupNeedsRelaxationAdvanced() local
578 assert(HexagonMCInstrInfo::isBundle(MCB)); in fixupNeedsRelaxationAdvanced()
582 MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); in fixupNeedsRelaxationAdvanced()
599 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
637 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
H A DHexagonMCCodeEmitter.h83 uint32_t parseBits(size_t Last, MCInst const &MCB, MCInst const &MCI) const;
H A DHexagonMCChecker.h36 MCInst &MCB; variable
H A DHexagonMCCodeEmitter.cpp340 uint32_t HexagonMCCodeEmitter::parseBits(size_t Last, MCInst const &MCB, in parseBits() argument
344 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { in parseBits()
351 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { in parseBits()
/openbsd/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonMCInstLower.cpp37 MCInst &MCB, HexagonAsmPrinter &AP);
98 MCInst &MCB, HexagonAsmPrinter &AP) { in HexagonLowerToMC() argument
100 HexagonMCInstrInfo::setInnerLoop(MCB); in HexagonLowerToMC()
104 HexagonMCInstrInfo::setOuterLoop(MCB); in HexagonLowerToMC()
190 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI); in HexagonLowerToMC()
191 MCB.addOperand(MCOperand::createInst(MCI)); in HexagonLowerToMC()
H A DHexagonAsmPrinter.cpp59 MCInst &MCB, HexagonAsmPrinter &AP);
749 MCInst MCB; in emitInstruction() local
750 MCB.setOpcode(Hexagon::BUNDLE); in emitInstruction()
751 MCB.addOperand(MCOperand::createImm(0)); in emitInstruction()
760 HexagonLowerToMC(MCII, &*MII, MCB, *this); in emitInstruction()
762 HexagonLowerToMC(MCII, MI, MCB, *this); in emitInstruction()
768 HexagonMCInstrInfo::setMemReorderDisabled(MCB); in emitInstruction()
772 MCB, nullptr); in emitInstruction()
774 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) in emitInstruction()
776 OutStreamer->emitInstruction(MCB, getSubtargetInfo()); in emitInstruction()
/openbsd/gnu/llvm/llvm/lib/Target/Hexagon/AsmParser/
H A DHexagonAsmParser.cpp95 MCInst MCB; member in __anondb6d46610111::HexagonAsmParser
160 MCB.setOpcode(Hexagon::BUNDLE); in HexagonAsmParser()
468 LLVM_DEBUG(MCB.dump_pretty(dbgs())); in finishBundle()
471 MCB.setLoc(IDLoc); in finishBundle()
477 MCInst OrigBundle = MCB; in finishBundle()
493 Out.emitInstruction(MCB, STI); in finishBundle()
512 HexagonMCInstrInfo::setInnerLoop(MCB); in matchBundleOptions()
513 HexagonMCInstrInfo::setOuterLoop(MCB); in matchBundleOptions()
515 HexagonMCInstrInfo::setInnerLoop(MCB); in matchBundleOptions()
517 HexagonMCInstrInfo::setOuterLoop(MCB); in matchBundleOptions()
[all …]
/openbsd/gnu/llvm/llvm/lib/Target/Hexagon/Disassembler/
H A DHexagonDisassembler.cpp54 DecodeStatus getSingleInstruction(MCInst &Instr, MCInst &MCB,
302 DecodeStatus HexagonDisassembler::getSingleInstruction(MCInst &MI, MCInst &MCB, in getSingleInstruction() argument
311 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB); in getSingleInstruction()
315 HexagonMCInstrInfo::setInnerLoop(MCB); in getSingleInstruction()
317 HexagonMCInstrInfo::setOuterLoop(MCB); in getSingleInstruction()
323 MCB, HexagonMCInstrInfo::bundleSize(MCB)); in getSingleInstruction()