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

/freebsd-13-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"
35 bool HexagonMCInstrInfo::PredicateInfo::isPredicated() const {
42 HexagonMCInstrInfo::bundleInstructionsOffset),
63 if (HexagonMCInstrInfo::isDuplex(MCII, Inst)) {
82 void HexagonMCInstrInfo::addConstant(MCInst &MI, uint64_t Value,
87 void HexagonMCInstrInfo::addConstExtender(MCContext &Context,
90 assert(HexagonMCInstrInfo::isBundle(MCB));
92 MCI.getOperand(HexagonMCInstrInfo::getExtendableOp(MCII, MCI));
96 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))
85 if (HexagonMCInstrInfo
[all...]
H A DHexagonMCDuplexInfo.cpp15 #include "MCTargetDesc/HexagonMCInstrInfo.h"
89 bool HexagonMCInstrInfo::isDuplexPairMatch(unsigned Ga, unsigned Gb) {
114 unsigned HexagonMCInstrInfo::iClassOfDuplexPair(unsigned Ga, unsigned Gb) {
189 unsigned HexagonMCInstrInfo::getDuplexCandidateGroup(MCInst const &MCI) {
205 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg)) {
206 if (HexagonMCInstrInfo::isIntReg(SrcReg) &&
211 if (HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) &&
221 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) &&
222 HexagonMCInstrInfo::isIntRegForSubInst(SrcReg) &&
242 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"
114 const unsigned ItinUnits = HexagonMCInstrInfo::getCVIResources(MCII, STI, *id);
130 setLoad(HexagonMCInstrInfo::getDesc(MCII, *id).mayLoad());
131 setStore(HexagonMCInstrInfo::getDesc(MCII, *id).mayStore());
198 const unsigned Type = HexagonMCInstrInfo::getType(MCII, Inst);
230 if (HexagonMCInstrInfo::getDesc(MCII, Inst).mayStore()) {
312 const bool RequiresSlot = HexagonMCInstrInfo::requiresSlot(STI, *ISJ.ID);
371 if (HexagonMCInstrInfo::getDesc(MCII, ID).mayLoad()) {
404 if (HexagonMCInstrInfo::getDesc(MCII, ID).mayStore()) {
448 if (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);
395 HexagonMCInstrInfo::IsSingleConsumerRefPairProducer(Producer,
403 assert(!HexagonMCInstrInfo
[all...]
H A DHexagonAsmBackend.cpp13 #include "MCTargetDesc/HexagonMCInstrInfo.h"
67 Extender(nullptr), MaxPacketSize(HexagonMCInstrInfo::packetSize(CPU))
539 const MCInstrDesc &MCID = HexagonMCInstrInfo::getDesc(*MCII, HMI);
542 if (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeJ ||
543 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeCJ &&
545 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeNCJ &&
547 (llvm::HexagonMCInstrInfo::getType(*MCII, HMI) == HexagonII::TypeCR &&
549 if (HexagonMCInstrInfo::isExtendable(*MCII, HMI)) {
552 HMI.getOperand(HexagonMCInstrInfo::getExtendableOp(*MCII, HMI));
553 if (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"
84 std::tuple<MCInst const *, unsigned, HexagonMCInstrInfo::PredicateInfo>
86 HexagonMCInstrInfo::PredicateInfo Predicated);
H A DHexagonMCTargetDesc.cpp18 #include "MCTargetDesc/HexagonMCInstrInfo.h"
208 assert(HexagonMCInstrInfo::isBundle(Inst));
209 assert(HexagonMCInstrInfo::bundleSize(Inst) <= HEXAGON_PACKET_SIZE);
235 if (HexagonMCInstrInfo::isMemReorderDisabled(Inst))
544 //assert(!HexagonMCInstrInfo::isBundle(Inst));
549 //assert(!HexagonMCInstrInfo::isBundle(Inst));
559 //assert(!HexagonMCInstrInfo::isBundle(Inst));
560 if(!HexagonMCInstrInfo::isExtendable(*Info, Inst))
562 auto const &Extended(HexagonMCInstrInfo::getExtendableOperand(*Info, Inst));
H A DHexagonShuffler.h17 #include "MCTargetDesc/HexagonMCInstrInfo.h"
215 return (BundleFlags & HexagonMCInstrInfo::memReorderDisabledMask) != 0;
H A DHexagonMCInstrInfo.h1 //===- HexagonMCInstrInfo.cpp - Utility functions on Hexagon MCInsts ------===//
65 namespace HexagonMCInstrInfo { namespace in namespace:llvm
368 } // end namespace HexagonMCInstrInfo
/freebsd-13-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());
200 for (auto I: HexagonMCInstrInfo::bundleInstructions(Instr)) {
302 auto BundleSize = HexagonMCInstrInfo::bundleSize(MCB);
306 HexagonMCInstrInfo::setInnerLoop(MCB);
308 HexagonMCInstrInfo::setOuterLoop(MCB);
313 CurrentExtender = HexagonMCInstrInfo::extenderForIndex(
314 MCB, HexagonMCInstrInfo
[all...]
/freebsd-13-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-13-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/AsmParser/
H A DHexagonAsmParser.cpp15 #include "MCTargetDesc/HexagonMCInstrInfo.h"
270 const MCExpr *myMCExpr = &HexagonMCInstrInfo::getExpr(*getImm());
271 if (HexagonMCInstrInfo::mustExtend(*Imm.Val) && !Extendable)
482 bool CheckOk = HexagonMCInstrInfo::canonicalizePacket(
486 if (HexagonMCInstrInfo::bundleSize(MCB) == 0) {
487 assert(!HexagonMCInstrInfo::isInnerLoop(MCB));
488 assert(!HexagonMCInstrInfo::isOuterLoop(MCB));
493 assert(HexagonMCInstrInfo::isBundle(MCB));
514 HexagonMCInstrInfo::setInnerLoop(MCB);
515 HexagonMCInstrInfo
[all...]

Completed in 212 milliseconds