Home
last modified time | relevance | path

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

/openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/MCTargetDesc/
H A DHexagonMCShuffler.cpp33 void HexagonMCShuffler::init(MCInst &MCB) { in init() argument
34 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
37 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
51 Loc = MCB.getLoc(); in init()
52 BundleFlags = MCB.getOperand(0).getImm(); in init()
55 void HexagonMCShuffler::init(MCInst &MCB, MCInst const &AddMI, in init() argument
57 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
62 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
75 Loc = MCB.getLoc(); in init()
76 BundleFlags = MCB.getOperand(0).getImm(); in init()
[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()
56 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
65 init(MCB); in init()
204 : Context(Context), MCB(mcb), RI(ri), MCII(MCII), STI(STI), in HexagonMCChecker()
212 : Context(Other.Context), MCB(Other.MCB), RI(Other.RI), MCII(Other.MCII), in HexagonMCChecker()
302 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in checkAXOK()
309 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in checkAXOK()
324 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in reportBranchErrors()
[all …]
H A DHexagonMCInstrInfo.cpp88 MCInstrInfo const &MCII, MCInst &MCB, in addConstExtender() argument
90 assert(HexagonMCInstrInfo::isBundle(MCB)); in addConstExtender()
99 MCB.addOperand(MCOperand::createInst(XMCI)); in addConstExtender()
125 MCContext &Context, MCInst &MCB, in canonicalizePacketImpl() argument
132 MCInst OrigMCB = MCB; in canonicalizePacketImpl()
137 HexagonMCInstrInfo::tryCompound(MCII, STI, Context, MCB); in canonicalizePacketImpl()
138 HexagonMCShuffle(Context, false, MCII, STI, MCB); in canonicalizePacketImpl()
142 ? HexagonMCInstrInfo::getDuplexPossibilties(MCII, STI, MCB) in canonicalizePacketImpl()
147 HexagonMCShuffle(Context, MCII, STI, MCB, possibleDuplexes); in canonicalizePacketImpl()
151 HexagonMCInstrInfo::padEndloop(MCB, Context); in canonicalizePacketImpl()
[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()
1049 if (HexagonMCInstrInfo::isMemReorderDisabled(MCB)) // }:mem_noshuf 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()
[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-src/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-src/gnu/llvm/llvm/lib/Target/Hexagon/AsmParser/
H A DHexagonAsmParser.cpp95 MCInst MCB; member in __anona3a8dbab0111::HexagonAsmParser
130 bool matchOneInstruction(MCInst &MCB, SMLoc IDLoc,
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()
478 HexagonMCChecker Check(getContext(), MII, STI, MCB, *RI, true); in finishBundle()
481 MII, STI, getContext(), MCB, &Check, true); in finishBundle()
484 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) { in finishBundle()
485 assert(!HexagonMCInstrInfo::isInnerLoop(MCB)); in finishBundle()
[all …]
/openbsd-src/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()