Searched refs:HexagonMCInstrInfo (Results 1 - 18 of 18) sorted by relevance

/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/
H A DHexagonMCInstrInfo.cpp1 //===- 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 DHexagonInstPrinter.cpp15 #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 DHexagonMCShuffler.cpp17 #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 DHexagonMCChecker.cpp16 #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 DHexagonMCDuplexInfo.cpp14 #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 DHexagonMCCompound.cpp14 #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 DHexagonShuffler.cpp18 #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 DHexagonMCCodeEmitter.cpp13 #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 DHexagonAsmBackend.cpp13 #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 DHexagonMCELFStreamer.cpp16 #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 DHexagonMCChecker.h17 #include "MCTargetDesc/HexagonMCInstrInfo.h"
80 std::tuple<MCInst const *, unsigned, HexagonMCInstrInfo::PredicateInfo>
82 HexagonMCInstrInfo::PredicateInfo Predicated);
H A DHexagonMCTargetDesc.cpp19 #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 DHexagonShuffler.h17 #include "MCTargetDesc/HexagonMCInstrInfo.h"
177 return (BundleFlags & HexagonMCInstrInfo::memReorderDisabledMask) != 0;
H A DHexagonMCInstrInfo.h1 //===- 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 DHexagonMCInstLower.cpp17 #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 DHexagonAsmPrinter.cpp22 #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 DHexagonDisassembler.cpp13 #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 DHexagonAsmParser.cpp15 #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...]

Completed in 142 milliseconds