Home
last modified time | relevance | path

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

/external/llvm/lib/Target/Hexagon/MCTargetDesc/
DHexagonMCShuffler.cpp31 void HexagonMCShuffler::init(MCInst &MCB) { in init() argument
32 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
35 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
48 BundleFlags = MCB.getOperand(0).getImm(); in init()
51 void HexagonMCShuffler::init(MCInst &MCB, MCInst const *AddMI, in init() argument
53 if (HexagonMCInstrInfo::isBundle(MCB)) { in init()
59 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
74 BundleFlags = MCB.getOperand(0).getImm(); in init()
77 void HexagonMCShuffler::copyTo(MCInst &MCB) { in copyTo() argument
78 MCB.clear(); in copyTo()
[all …]
DHexagonMCShuffler.h31 MCInst &MCB) in HexagonMCShuffler() argument
33 init(MCB); in HexagonMCShuffler()
36 MCInst &MCB, const MCInst *AddMI,
39 init(MCB, AddMI, bInsertAtFront); in HexagonShuffler()
43 void copyTo(MCInst &MCB);
45 bool reshuffleTo(MCInst &MCB);
51 void init(MCInst &MCB);
52 void init(MCInst &MCB, const MCInst *AddMI, bool bInsertAtFront = false);
DHexagonMCInstrInfo.cpp32 MCInstrInfo const &MCII, MCInst &MCB, in addConstExtender() argument
34 assert(HexagonMCInstrInfo::isBundle(MCB)); in addConstExtender()
42 MCB.addOperand(MCOperand::createInst(XMCI)); in addConstExtender()
60 MCContext &Context, MCInst &MCB, in canonicalizePacket() argument
65 HexagonMCInstrInfo::tryCompound(MCII, Context, MCB); in canonicalizePacket()
70 HexagonMCShuffle(MCII, STI, MCB); in canonicalizePacket()
73 MCInst InstBundlePreDuplex = MCInst(MCB); in canonicalizePacket()
76 possibleDuplexes = HexagonMCInstrInfo::getDuplexPossibilties(MCII, MCB); in canonicalizePacket()
77 HexagonMCShuffle(MCII, STI, Context, MCB, possibleDuplexes); in canonicalizePacket()
81 HexagonMCInstrInfo::padEndloop(Context, MCB); in canonicalizePacket()
[all …]
DHexagonMCELFStreamer.cpp41 MCInst *MCB; in EmitInstruction() local
45 MCB = &HMI; in EmitInstruction()
47 MCB = const_cast<MCInst *>(&MCK); in EmitInstruction()
51 HexagonMCInstrInfo::padEndloop(getContext(), *MCB); in EmitInstruction()
52 HexagonMCShuffle(*MCII, STI, *MCB); in EmitInstruction()
54 assert(HexagonMCInstrInfo::bundleSize(*MCB) <= HEXAGON_PACKET_SIZE); in EmitInstruction()
56 for (auto &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) { in EmitInstruction()
73 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) { in EmitInstruction()
77 MCObjectStreamer::EmitInstruction(*MCB, STI); in EmitInstruction()
DHexagonMCChecker.cpp38 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { in init()
42 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { in init()
47 if (HexagonMCInstrInfo::isBundle(MCB)) in init()
49 for (auto const&I : HexagonMCInstrInfo::bundleInstructions(MCB)) { in init()
53 init(MCB); in init()
228 : MCB(mcb), MCBDX(mcbdx), RI(ri), MCII(MCII), STI(STI), in HexagonMCChecker()
272 if (HexagonMCInstrInfo::isBundle(MCB)) { in checkBranches()
279 i < MCB.size(); ++i) { in checkBranches()
280 MCInst const &MCI = *MCB.begin()[i].getInst(); in checkBranches()
307 if (HexagonMCInstrInfo::isInnerLoop(MCB) || in checkBranches()
[all …]
DHexagonMCDuplexInfo.cpp1014 MCInst const &MCB) { in getDuplexPossibilties() argument
1015 assert(isBundle(MCB)); in getDuplexPossibilties()
1018 unsigned numInstrInPacket = MCB.getNumOperands(); in getDuplexPossibilties()
1027 if (isStoreInst(MCB.getOperand(j).getInst()->getOpcode()) && in getDuplexPossibilties()
1028 isStoreInst(MCB.getOperand(k).getInst()->getOpcode())) { in getDuplexPossibilties()
1033 if (HexagonMCInstrInfo::isMemReorderDisabled(MCB)) // }:mem_noshuf in getDuplexPossibilties()
1038 MCII, *MCB.getOperand(k).getInst(), in getDuplexPossibilties()
1039 HexagonMCInstrInfo::hasExtenderForIndex(MCB, k - 1), in getDuplexPossibilties()
1040 *MCB.getOperand(j).getInst(), in getDuplexPossibilties()
1041 HexagonMCInstrInfo::hasExtenderForIndex(MCB, j - 1), in getDuplexPossibilties()
[all …]
DHexagonMCInstrInfo.h56 void addConstExtender(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
67 MCContext &Context, MCInst &MCB,
76 MCInst const *extenderForIndex(MCInst const &MCB, size_t Index);
77 void extendIfNeeded(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
90 MCInst const *extenderForIndex(MCInst const &MCB, size_t Index);
109 MCInst const &MCB);
157 bool hasExtenderForIndex(MCInst const &MCB, size_t Index);
166 MCInst const &instruction(MCInst const &MCB, size_t Index);
277 void replaceDuplex(MCContext &Context, MCInst &MCB, DuplexCandidate Candidate);
DHexagonAsmBackend.cpp559 MCInst const &MCB = DF->getInst(); in fixupNeedsRelaxationAdvanced() local
560 assert(HexagonMCInstrInfo::isBundle(MCB)); in fixupNeedsRelaxationAdvanced()
564 MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); in fixupNeedsRelaxationAdvanced()
581 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
619 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { in fixupNeedsRelaxationAdvanced()
DHexagonMCCodeEmitter.h44 uint32_t parseBits(size_t Instruction, size_t Last, MCInst const &MCB,
DHexagonMCCodeEmitter.cpp41 MCInst const &MCB, in parseBits() argument
45 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { in parseBits()
52 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { in parseBits()
DHexagonMCChecker.h74 MCInst& MCB; variable
/external/llvm/lib/Target/Hexagon/
DHexagonMCInstLower.cpp31 MCInst &MCB, HexagonAsmPrinter &AP);
91 MCInst &MCB, HexagonAsmPrinter &AP) { in HexagonLowerToMC() argument
93 HexagonMCInstrInfo::setInnerLoop(MCB); in HexagonLowerToMC()
97 HexagonMCInstrInfo::setOuterLoop(MCB); in HexagonLowerToMC()
168 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI); in HexagonLowerToMC()
169 MCB.addOperand(MCOperand::createInst(MCI)); in HexagonLowerToMC()
DHexagonAsmPrinter.cpp60 MCInst &MCB, HexagonAsmPrinter &AP);
586 MCInst MCB = HexagonMCInstrInfo::createBundle(); in EmitInstruction() local
599 HexagonLowerToMC(MCII, &*MII, MCB, *this); in EmitInstruction()
602 HexagonLowerToMC(MCII, MI, MCB, *this); in EmitInstruction()
605 MCII, *Subtarget, OutStreamer->getContext(), MCB, nullptr); in EmitInstruction()
608 if(HexagonMCInstrInfo::bundleSize(MCB) == 0) in EmitInstruction()
610 OutStreamer->EmitInstruction(MCB, getSubtargetInfo()); in EmitInstruction()
/external/llvm/lib/Target/Hexagon/AsmParser/
DHexagonAsmParser.cpp82 MCInst MCB; member in __anon13e295d60111::HexagonAsmParser
108 bool matchOneInstruction(MCInst &MCB, SMLoc IDLoc,
141 MCII (MII), MCB(HexagonMCInstrInfo::createBundle()), InBrackets(false) { in HexagonAsmParser()
622 DEBUG(MCB.dump_pretty(dbgs())); in finishBundle()
627 HexagonMCChecker Check(MCII, getSTI(), MCB, MCB, *RI); in finishBundle()
630 getContext(), MCB, in finishBundle()
660 Twine N(HexagonMCInstrInfo::isInnerLoop(MCB) ? '0' : '1'); in finishBundle()
709 MCB.setLoc(IDLoc); in finishBundle()
710 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) { in finishBundle()
711 assert(!HexagonMCInstrInfo::isInnerLoop(MCB)); in finishBundle()
[all …]
/external/llvm/lib/Target/Hexagon/Disassembler/
DHexagonDisassembler.cpp49 DecodeStatus getSingleInstruction(MCInst &Instr, MCInst &MCB,
58 void adjustExtendedInstructions(MCInst &MCI, MCInst const &MCB) const;
192 MCInst &MI, MCInst &MCB, ArrayRef<uint8_t> Bytes, uint64_t Address, in getSingleInstruction() argument
199 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB); in getSingleInstruction()
203 HexagonMCInstrInfo::setInnerLoop(MCB); in getSingleInstruction()
205 HexagonMCInstrInfo::setOuterLoop(MCB); in getSingleInstruction()
393 adjustExtendedInstructions(MI, MCB); in getSingleInstruction()
395 HexagonMCInstrInfo::extenderForIndex(MCB, in getSingleInstruction()
396 HexagonMCInstrInfo::bundleSize(MCB)); in getSingleInstruction()
408 MCInst const &MCB) const { in adjustExtendedInstructions()
[all …]