Home
last modified time | relevance | path

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

/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/
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 …]
DHexagonMCShuffler.h32 MCSubtargetInfo const &STI, MCInst &MCB) in HexagonMCShuffler() argument
34 init(MCB); in HexagonMCShuffler()
38 MCSubtargetInfo const &STI, MCInst &MCB, in HexagonMCShuffler() argument
41 init(MCB, AddMI, InsertAtFront); in HexagonMCShuffler()
45 void copyTo(MCInst &MCB);
48 bool reshuffleTo(MCInst &MCB);
51 void init(MCInst &MCB);
52 void init(MCInst &MCB, MCInst const &AddMI, bool InsertAtFront);
57 MCSubtargetInfo const &STI, MCInst &MCB);
59 MCSubtargetInfo const &STI, MCInst &MCB,
[all …]
DHexagonMCChecker.cpp43 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { in init()
47 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { in init()
52 if (HexagonMCInstrInfo::isBundle(MCB)) in init()
54 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
63 init(MCB); in init()
200 : Context(Context), MCB(mcb), RI(ri), MCII(MCII), STI(STI), in HexagonMCChecker()
208 : Context(Other.Context), MCB(Other.MCB), RI(Other.RI), MCII(Other.MCII), in HexagonMCChecker()
289 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in checkAXOK()
296 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in checkAXOK()
311 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCII, MCB)) { in reportBranchErrors()
[all …]
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
134 HexagonMCInstrInfo::tryCompound(MCII, STI, Context, MCB); in canonicalizePacketImpl()
135 HexagonMCShuffle(Context, false, MCII, STI, MCB); in canonicalizePacketImpl()
142 HexagonMCInstrInfo::getDuplexPossibilties(MCII, STI, MCB); in canonicalizePacketImpl()
143 HexagonMCShuffle(Context, MCII, STI, MCB, possibleDuplexes); in canonicalizePacketImpl()
147 HexagonMCInstrInfo::padEndloop(MCB, Context); in canonicalizePacketImpl()
150 if (HexagonMCInstrInfo::bundleSize(MCB) > HEXAGON_PACKET_SIZE) { in canonicalizePacketImpl()
[all …]
DHexagonMCDuplexInfo.cpp1035 MCInst const &MCB) { in getDuplexPossibilties() argument
1036 assert(isBundle(MCB)); in getDuplexPossibilties()
1039 unsigned numInstrInPacket = MCB.getNumOperands(); in getDuplexPossibilties()
1048 if (isStoreInst(MCB.getOperand(j).getInst()->getOpcode()) && in getDuplexPossibilties()
1049 isStoreInst(MCB.getOperand(k).getInst()->getOpcode())) { in getDuplexPossibilties()
1054 if (HexagonMCInstrInfo::isMemReorderDisabled(MCB)) // }:mem_noshuf in getDuplexPossibilties()
1059 MCII, *MCB.getOperand(k).getInst(), in getDuplexPossibilties()
1060 HexagonMCInstrInfo::hasExtenderForIndex(MCB, k - 1), in getDuplexPossibilties()
1061 *MCB.getOperand(j).getInst(), in getDuplexPossibilties()
1062 HexagonMCInstrInfo::hasExtenderForIndex(MCB, j - 1), in getDuplexPossibilties()
[all …]
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()
DHexagonMCInstrInfo.h81 void addConstExtender(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
94 MCContext &Context, MCInst &MCB,
108 MCInst const *extenderForIndex(MCInst const &MCB, size_t Index);
109 void extendIfNeeded(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
126 MCInst const &MCB);
183 bool hasExtenderForIndex(MCInst const &MCB, size_t Index);
207 MCInst const &instruction(MCInst const &MCB, size_t Index);
DHexagonAsmBackend.cpp576 MCInst const &MCB = DF->getInst(); in fixupNeedsRelaxationAdvanced() local
577 assert(HexagonMCInstrInfo::isBundle(MCB)); in fixupNeedsRelaxationAdvanced()
581 MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); in fixupNeedsRelaxationAdvanced()
598 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
636 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
DHexagonMCCodeEmitter.h83 uint32_t parseBits(size_t Last, MCInst const &MCB, MCInst const &MCI) const;
DHexagonMCChecker.h36 MCInst &MCB; variable
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()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
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()
178 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI); in HexagonLowerToMC()
179 MCB.addOperand(MCOperand::createInst(MCI)); in HexagonLowerToMC()
DHexagonAsmPrinter.cpp59 MCInst &MCB, HexagonAsmPrinter &AP);
744 MCInst MCB; in emitInstruction() local
745 MCB.setOpcode(Hexagon::BUNDLE); in emitInstruction()
746 MCB.addOperand(MCOperand::createImm(0)); in emitInstruction()
755 HexagonLowerToMC(MCII, &*MII, MCB, *this); in emitInstruction()
757 HexagonLowerToMC(MCII, MI, MCB, *this); in emitInstruction()
763 HexagonMCInstrInfo::setMemReorderDisabled(MCB); in emitInstruction()
767 MCB, nullptr); in emitInstruction()
769 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) in emitInstruction()
771 OutStreamer->emitInstruction(MCB, getSubtargetInfo()); in emitInstruction()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/AsmParser/
DHexagonAsmParser.cpp95 MCInst MCB; member in __anon230fdfcc0111::HexagonAsmParser
129 bool matchOneInstruction(MCInst &MCB, SMLoc IDLoc,
165 MCB.setOpcode(Hexagon::BUNDLE); in HexagonAsmParser()
470 LLVM_DEBUG(MCB.dump_pretty(dbgs())); in finishBundle()
473 MCB.setLoc(IDLoc); in finishBundle()
479 MCInst OrigBundle = MCB; in finishBundle()
480 HexagonMCChecker Check(getContext(), MII, STI, MCB, *RI, true); in finishBundle()
483 MII, STI, getContext(), MCB, &Check, true); in finishBundle()
486 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) { in finishBundle()
487 assert(!HexagonMCInstrInfo::isInnerLoop(MCB)); in finishBundle()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/Disassembler/
DHexagonDisassembler.cpp54 DecodeStatus getSingleInstruction(MCInst &Instr, MCInst &MCB,
293 DecodeStatus HexagonDisassembler::getSingleInstruction(MCInst &MI, MCInst &MCB, in getSingleInstruction() argument
302 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB); in getSingleInstruction()
306 HexagonMCInstrInfo::setInnerLoop(MCB); in getSingleInstruction()
308 HexagonMCInstrInfo::setOuterLoop(MCB); in getSingleInstruction()
314 MCB, HexagonMCInstrInfo::bundleSize(MCB)); in getSingleInstruction()