/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/ |
H A D | HexagonMCInstrInfo.cpp | 1 //===- HexagonMCInstrInfo.cpp - Hexagon sub-class of MCInst ---------------===// 13 #include "MCTargetDesc/HexagonMCInstrInfo.h" 34 bool HexagonMCInstrInfo::PredicateInfo::isPredicated() const { 41 HexagonMCInstrInfo::bundleInstructionsOffset), 62 if (HexagonMCInstrInfo::isDuplex(MCII, Inst)) { 81 void HexagonMCInstrInfo::addConstant(MCInst &MI, uint64_t Value, 86 void HexagonMCInstrInfo::addConstExtender(MCContext &Context, 89 assert(HexagonMCInstrInfo::isBundle(MCB)); 91 MCI.getOperand(HexagonMCInstrInfo::getExtendableOp(MCII, MCI)); 95 new (Context) MCInst(HexagonMCInstrInfo [all...] |
H A D | HexagonInstPrinter.cpp | 15 #include "MCTargetDesc/HexagonMCInstrInfo.h" 36 assert(HexagonMCInstrInfo::isBundle(*MI)); 37 assert(HexagonMCInstrInfo::bundleSize(*MI) <= HEXAGON_PACKET_SIZE); 38 assert(HexagonMCInstrInfo::bundleSize(*MI) > 0); 40 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(*MI)) { 42 if (HexagonMCInstrInfo::isDuplex(MII, MCI)) { 49 HasExtender = HexagonMCInstrInfo::isImmext(MCI); 53 bool IsLoop0 = HexagonMCInstrInfo::isInnerLoop(*MI); 54 bool IsLoop1 = HexagonMCInstrInfo::isOuterLoop(*MI); 64 if (HexagonMCInstrInfo [all...] |
H A D | HexagonMCShuffler.cpp | 17 #include "MCTargetDesc/HexagonMCInstrInfo.h" 34 if (HexagonMCInstrInfo::isBundle(MCB)) { 37 for (const auto &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 41 assert(!HexagonMCInstrInfo::getDesc(MCII, MI).isPseudo()); 43 if (!HexagonMCInstrInfo::isImmext(MI)) { 44 append(MI, Extender, HexagonMCInstrInfo::getUnits(MCII, STI, MI)); 57 if (HexagonMCInstrInfo::isBundle(MCB)) { 59 append(AddMI, nullptr, HexagonMCInstrInfo::getUnits(MCII, STI, AddMI)); 62 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 63 assert(!HexagonMCInstrInfo [all...] |
H A D | HexagonMCChecker.cpp | 16 #include "MCTargetDesc/HexagonMCInstrInfo.h" 43 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { 47 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { 52 if (HexagonMCInstrInfo::isBundle(MCB)) 54 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) { 56 if (HexagonMCInstrInfo::isDuplex(MCII, Inst)) { 68 if (HexagonMCInstrInfo::isPredicated(MCII, MCI) && isPredicateRegister(R)) { 71 isTrue = HexagonMCInstrInfo::isPredicatedTrue(MCII, MCI); 74 if (HexagonMCInstrInfo::isPredicatedNew(MCII, MCI)) 87 const MCInstrDesc &MCID = HexagonMCInstrInfo [all...] |
H A D | HexagonMCDuplexInfo.cpp | 14 #include "MCTargetDesc/HexagonMCInstrInfo.h" 90 bool HexagonMCInstrInfo::isDuplexPairMatch(unsigned Ga, unsigned Gb) { 115 unsigned HexagonMCInstrInfo::iClassOfDuplexPair(unsigned Ga, unsigned Gb) { 190 unsigned HexagonMCInstrInfo::getDuplexCandidateGroup(MCInst const &MCI) { 206 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg)) { 207 if (HexagonMCInstrInfo::isIntReg(SrcReg) && 212 if (HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) && 222 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && 223 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) && 243 if (HexagonMCInstrInfo [all...] |
H A D | HexagonMCCompound.cpp | 14 #include "MCTargetDesc/HexagonMCInstrInfo.h" 100 HexagonMCInstrInfo::isIntRegForSubInst(Src1Reg) && 101 HexagonMCInstrInfo::isIntRegForSubInst(Src2Reg)) 113 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) && 114 (HexagonMCInstrInfo::inRange<5>(MI, 2) || 115 HexagonMCInstrInfo::minConstant(MI, 2) == -1)) 124 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && 125 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg)) 133 if (HexagonMCInstrInfo::minConstant(MI, 1) <= 63 && 134 HexagonMCInstrInfo [all...] |
H A D | HexagonShuffler.cpp | 18 #include "MCTargetDesc/HexagonMCInstrInfo.h" 148 unsigned T = HexagonMCInstrInfo::getType(MCII, *id); 155 setLoad(HexagonMCInstrInfo::getDesc(MCII, *id).mayLoad()); 156 setStore(HexagonMCInstrInfo::getDesc(MCII, *id).mayStore()); 230 if (HexagonMCInstrInfo::isRestrictSlot1AOK(MCII, Inst)) { 238 unsigned Type = HexagonMCInstrInfo::getType(MCII, Inst); 261 if (HexagonMCInstrInfo::isRestrictNoSlot1Store(MCII, Inst)) { 270 if (HexagonMCInstrInfo::getDesc(MCII, Inst).mayStore()) { 317 if (HexagonMCInstrInfo::prefersSlot3(MCII, ID)) { 321 reservedSlots |= HexagonMCInstrInfo [all...] |
H A D | HexagonMCCodeEmitter.cpp | 13 #include "MCTargetDesc/HexagonMCInstrInfo.h" 342 bool Duplex = HexagonMCInstrInfo::isDuplex(MCII, MCI); 344 if (HexagonMCInstrInfo::isInnerLoop(MCB)) { 351 if (HexagonMCInstrInfo::isOuterLoop(MCB)) { 372 assert(HexagonMCInstrInfo::isBundle(HMB)); 378 size_t Last = HexagonMCInstrInfo::bundleSize(HMB) - 1; 381 for (auto &I : HexagonMCInstrInfo::bundleInstructions(HMB)) { 386 State.Extended = HexagonMCInstrInfo::isImmext(HMI); 409 assert(!HexagonMCInstrInfo::isBundle(MI)); 414 assert(!HexagonMCInstrInfo [all...] |
H A D | HexagonAsmBackend.cpp | 13 #include "MCTargetDesc/HexagonMCInstrInfo.h" 536 const MCInstrDesc &MCID = HexagonMCInstrInfo::getDesc(*MCII, HMI); 539 if (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeJ || 540 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeCJ && 542 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeNCJ && 544 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeCR && 546 if (HexagonMCInstrInfo::isExtendable(*MCII, HMI)) { 549 HMI.getOperand(HexagonMCInstrInfo::getExtendableOp(*MCII, HMI)); 550 if (HexagonMCInstrInfo::mustNotExtend(*Operand.getExpr())) 574 assert(HexagonMCInstrInfo [all...] |
H A D | HexagonMCELFStreamer.cpp | 16 #include "MCTargetDesc/HexagonMCInstrInfo.h" 64 assert(HexagonMCInstrInfo::bundleSize(MCB) <= HEXAGON_PACKET_SIZE); 65 assert(HexagonMCInstrInfo::bundleSize(MCB) > 0); 69 for (auto const &I : HexagonMCInstrInfo::bundleInstructions(MCB)) {
|
H A D | HexagonMCChecker.h | 17 #include "MCTargetDesc/HexagonMCInstrInfo.h" 80 std::tuple<MCInst const *, unsigned, HexagonMCInstrInfo::PredicateInfo> 82 HexagonMCInstrInfo::PredicateInfo Predicated);
|
H A D | HexagonMCTargetDesc.cpp | 19 #include "MCTargetDesc/HexagonMCInstrInfo.h" 143 assert(HexagonMCInstrInfo::isBundle(Inst)); 144 assert(HexagonMCInstrInfo::bundleSize(Inst) <= HEXAGON_PACKET_SIZE); 170 if (HexagonMCInstrInfo::isMemReorderDisabled(Inst)) 429 //assert(!HexagonMCInstrInfo::isBundle(Inst)); 434 //assert(!HexagonMCInstrInfo::isBundle(Inst)); 440 //assert(!HexagonMCInstrInfo::isBundle(Inst)); 441 if(!HexagonMCInstrInfo::isExtendable(*Info, Inst)) 443 auto const &Extended(HexagonMCInstrInfo::getExtendableOperand(*Info, Inst));
|
H A D | HexagonShuffler.h | 17 #include "MCTargetDesc/HexagonMCInstrInfo.h" 177 return (BundleFlags & HexagonMCInstrInfo::memReorderDisabledMask) != 0;
|
H A D | HexagonMCInstrInfo.h | 1 //===- HexagonMCInstrInfo.cpp - Utility functions on Hexagon MCInsts ------===// 64 namespace HexagonMCInstrInfo { namespace in namespace:llvm 331 } // end namespace HexagonMCInstrInfo
|
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonMCInstLower.cpp | 17 #include "MCTargetDesc/HexagonMCInstrInfo.h" 92 HexagonMCInstrInfo::setMustExtend(*ME, MustExtend); 100 HexagonMCInstrInfo::setInnerLoop(MCB); 104 HexagonMCInstrInfo::setOuterLoop(MCB); 137 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend); 144 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend); 152 HexagonMCInstrInfo::setMustExtend(*Expr, MustExtend); 178 HexagonMCInstrInfo::extendIfNeeded(AP.OutContext, MCII, MCB, *MCI);
|
H A D | HexagonAsmPrinter.cpp | 22 #include "MCTargetDesc/HexagonMCInstrInfo.h" 281 HexagonMCInstrInfo::setMustNotExtend(*S16.getExpr()); 282 HexagonMCInstrInfo::setS27_2_reloc(*S16.getExpr()); 763 HexagonMCInstrInfo::setMemReorderDisabled(MCB); 766 bool Ok = HexagonMCInstrInfo::canonicalizePacket(MCII, *Subtarget, Ctx, 769 if (HexagonMCInstrInfo::bundleSize(MCB) == 0)
|
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/Disassembler/ |
H A D | HexagonDisassembler.cpp | 13 #include "MCTargetDesc/HexagonMCInstrInfo.h" 67 MI.size() != HexagonMCInstrInfo::getExtendableOp(MCII, MI)) 69 unsigned Alignment = HexagonMCInstrInfo::getExtentAlignment(MCII, MI); 89 HexagonMCInstrInfo::addConstant(MI, Extended, Disassembler.getContext()); 197 for (auto I: HexagonMCInstrInfo::bundleInstructions(Instr)) { 299 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB); 303 HexagonMCInstrInfo::setInnerLoop(MCB); 305 HexagonMCInstrInfo::setOuterLoop(MCB); 310 CurrentExtender = HexagonMCInstrInfo::extenderForIndex( 311 MCB, HexagonMCInstrInfo [all...] |
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/AsmParser/ |
H A D | HexagonAsmParser.cpp | 15 #include "MCTargetDesc/HexagonMCInstrInfo.h" 268 const MCExpr *myMCExpr = &HexagonMCInstrInfo::getExpr(*getImm()); 269 if (HexagonMCInstrInfo::mustExtend(*Imm.Val) && !Extendable) 474 bool CheckOk = HexagonMCInstrInfo::canonicalizePacket(MII, getSTI(), 479 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) { 480 assert(!HexagonMCInstrInfo::isInnerLoop(MCB)); 481 assert(!HexagonMCInstrInfo::isOuterLoop(MCB)); 489 if (HexagonMCInstrInfo::bundleSize(MCB) > HEXAGON_PACKET_SIZE) { 510 HexagonMCInstrInfo::setInnerLoop(MCB); 511 HexagonMCInstrInfo [all...] |