/external/llvm/lib/Target/Hexagon/MCTargetDesc/ |
H A D | HexagonMCShuffler.cpp | 31 void HexagonMCShuffler::init(MCInst &MCB) { argument 32 if (HexagonMCInstrInfo::isBundle(MCB)) { 35 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 48 BundleFlags = MCB.getOperand(0).getImm(); 51 void HexagonMCShuffler::init(MCInst &MCB, MCInst const *AddMI, argument 53 if (HexagonMCInstrInfo::isBundle(MCB)) { 59 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 74 BundleFlags = MCB.getOperand(0).getImm(); 77 void HexagonMCShuffler::copyTo(MCInst &MCB) { argument 78 MCB 91 reshuffleTo(MCInst &MCB) argument 101 HexagonMCShuffle(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &MCB) argument 151 HexagonMCShuffle(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCContext &Context, MCInst &MCB, SmallVector<DuplexCandidate, 8> possibleDuplexes) argument 204 HexagonMCShuffle(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &MCB, MCInst const *AddMI, int fixupCount) argument [all...] |
H A D | HexagonMCShuffler.h | 31 MCInst &MCB) 33 init(MCB); 36 MCInst &MCB, const MCInst *AddMI, 39 init(MCB, AddMI, bInsertAtFront); 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); 30 HexagonMCShuffler(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &MCB) argument 35 HexagonMCShuffler(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &MCB, const MCInst *AddMI, bool bInsertAtFront = false) argument
|
H A D | HexagonMCELFStreamer.cpp | 41 MCInst *MCB; local 45 MCB = &HMI; 47 MCB = const_cast<MCInst *>(&MCK); 51 HexagonMCInstrInfo::padEndloop(getContext(), *MCB); local 52 HexagonMCShuffle(*MCII, STI, *MCB); 54 assert(HexagonMCInstrInfo::bundleSize(*MCB) <= HEXAGON_PACKET_SIZE); 56 for (auto &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) { 71 // At this point, MCB is a bundle 73 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(*MCB)) { 77 MCObjectStreamer::EmitInstruction(*MCB, ST [all...] |
H A D | HexagonMCInstrInfo.cpp | 32 MCInstrInfo const &MCII, MCInst &MCB, 34 assert(HexagonMCInstrInfo::isBundle(MCB)); 42 MCB.addOperand(MCOperand::createInst(XMCI)); 60 MCContext &Context, MCInst &MCB, 65 HexagonMCInstrInfo::tryCompound(MCII, Context, MCB); 70 HexagonMCShuffle(MCII, STI, MCB); 73 MCInst InstBundlePreDuplex = MCInst(MCB); 76 possibleDuplexes = HexagonMCInstrInfo::getDuplexPossibilties(MCII, MCB); 77 HexagonMCShuffle(MCII, STI, Context, MCB, possibleDuplexes); 81 HexagonMCInstrInfo::padEndloop(Context, MCB); 31 addConstExtender(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB, MCInst const &MCI) argument 58 canonicalizePacket(MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCContext &Context, MCInst &MCB, HexagonMCChecker *Check) argument 149 extenderForIndex(MCInst const &MCB, size_t Index) argument 161 extendIfNeeded(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB, MCInst const &MCI) argument 397 hasExtenderForIndex(MCInst const &MCB, size_t Index) argument 415 instruction(MCInst const &MCB, size_t Index) argument 712 padEndloop(MCContext &Context, MCInst &MCB) argument 743 replaceDuplex(MCContext &Context, MCInst &MCB, DuplexCandidate Candidate) argument [all...] |
H A D | HexagonMCChecker.cpp | 38 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { 42 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { 47 if (HexagonMCInstrInfo::isBundle(MCB)) 49 for (auto const&I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 53 init(MCB); 228 : MCB(mcb), MCBDX(mcbdx), RI(ri), MCII(MCII), STI(STI), 272 if (HexagonMCInstrInfo::isBundle(MCB)) { 279 i < MCB.size(); ++i) { 280 MCInst const &MCI = *MCB.begin()[i].getInst(); 307 if (HexagonMCInstrInfo::isInnerLoop(MCB) || [all...] |
H A D | HexagonMCInstrInfo.h | 56 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); 276 // Replace the instructions inside MCB, represented by Candidate 277 void replaceDuplex(MCContext &Context, MCInst &MCB, DuplexCandidat [all...] |
H A D | HexagonMCDuplexInfo.cpp | 1014 MCInst const &MCB) { 1015 assert(isBundle(MCB)); 1018 unsigned numInstrInPacket = MCB.getNumOperands(); 1027 if (isStoreInst(MCB.getOperand(j).getInst()->getOpcode()) && 1028 isStoreInst(MCB.getOperand(k).getInst()->getOpcode())) { 1033 if (HexagonMCInstrInfo::isMemReorderDisabled(MCB)) // }:mem_noshuf 1038 MCII, *MCB.getOperand(k).getInst(), 1039 HexagonMCInstrInfo::hasExtenderForIndex(MCB, k - 1), 1040 *MCB.getOperand(j).getInst(), 1041 HexagonMCInstrInfo::hasExtenderForIndex(MCB, 1013 getDuplexPossibilties(MCInstrInfo const &MCII, MCInst const &MCB) argument [all...] |
H A D | HexagonMCCodeEmitter.h | 43 // Return parse bits for instruction `MCI' inside bundle `MCB' 44 uint32_t parseBits(size_t Instruction, size_t Last, MCInst const &MCB,
|
H A D | HexagonAsmBackend.cpp | 559 MCInst const &MCB = DF->getInst(); variable 560 assert(HexagonMCInstrInfo::isBundle(MCB)); 564 MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); 581 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) { 619 if (HexagonMCInstrInfo::bundleSize(MCB) < HEXAGON_PACKET_SIZE) {
|
H A D | HexagonMCChecker.h | 74 MCInst& MCB; member in class:llvm::HexagonMCChecker
|
H A D | HexagonMCCodeEmitter.cpp | 41 MCInst const &MCB, 45 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { 52 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { 40 parseBits(size_t Instruction, size_t Last, MCInst const &MCB, MCInst const &MCI) const argument
|
/external/llvm/lib/Target/Hexagon/ |
H A D | HexagonMCInstLower.cpp | 31 MCInst &MCB, HexagonAsmPrinter &AP); 91 MCInst &MCB, HexagonAsmPrinter &AP) { 93 HexagonMCInstrInfo::setInnerLoop(MCB); 97 HexagonMCInstrInfo::setOuterLoop(MCB); 168 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI); 169 MCB.addOperand(MCOperand::createInst(MCI)); 90 HexagonLowerToMC(const MCInstrInfo &MCII, const MachineInstr *MI, MCInst &MCB, HexagonAsmPrinter &AP) argument
|
H A D | HexagonAsmPrinter.cpp | 60 MCInst &MCB, HexagonAsmPrinter &AP); 586 MCInst MCB = HexagonMCInstrInfo::createBundle(); local 599 HexagonLowerToMC(MCII, &*MII, MCB, *this); 602 HexagonLowerToMC(MCII, MI, MCB, *this); 605 MCII, *Subtarget, OutStreamer->getContext(), MCB, nullptr); 608 if(HexagonMCInstrInfo::bundleSize(MCB) == 0) 610 OutStreamer->EmitInstruction(MCB, getSubtargetInfo());
|
/external/llvm/lib/Target/Hexagon/AsmParser/ |
H A D | HexagonAsmParser.cpp | 82 MCInst MCB; member in class:__anon12949::HexagonAsmParser 108 bool matchOneInstruction(MCInst &MCB, SMLoc IDLoc, 141 MCII (MII), MCB(HexagonMCInstrInfo::createBundle()), InBrackets(false) { 622 DEBUG(MCB.dump_pretty(dbgs())); 627 HexagonMCChecker Check(MCII, getSTI(), MCB, MCB, *RI); 630 getContext(), MCB, 660 Twine N(HexagonMCInstrInfo::isInnerLoop(MCB) ? '0' : '1'); 709 MCB.setLoc(IDLoc); 710 if (HexagonMCInstrInfo::bundleSize(MCB) [all...] |
/external/llvm/lib/Target/Hexagon/Disassembler/ |
H A D | HexagonDisassembler.cpp | 49 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, 199 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB); 203 HexagonMCInstrInfo::setInnerLoop(MCB); 205 HexagonMCInstrInfo::setOuterLoop(MCB); 393 adjustExtendedInstructions(MI, MCB); 395 HexagonMCInstrInfo::extenderForIndex(MCB, 396 HexagonMCInstrInfo::bundleSize(MCB)); 408 MCInst const &MCB) cons 191 getSingleInstruction( MCInst &MI, MCInst &MCB, ArrayRef<uint8_t> Bytes, uint64_t Address, raw_ostream &os, raw_ostream &cs, bool &Complete) const argument 625 fullValue(MCInstrInfo const &MCII, MCInst &MCB, MCInst &MI, int64_t Value) argument [all...] |