• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/

Lines Matching refs:MCInst

9 // Utility functions for Hexagon specific MCInst queries
19 #include "llvm/MC/MCInst.h"
46 MCInst::const_iterator BundleCurrent;
47 MCInst::const_iterator BundleEnd;
48 MCInst::const_iterator DuplexCurrent;
49 MCInst::const_iterator DuplexEnd;
52 PacketIterator(MCInstrInfo const &MCII, MCInst const &Inst);
53 PacketIterator(MCInstrInfo const &MCII, MCInst const &Inst, std::nullptr_t);
56 MCInst const &operator*() const;
80 void addConstant(MCInst &MI, uint64_t Value, MCContext &Context);
81 void addConstExtender(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
82 MCInst const &MCI);
86 bundleInstructions(MCInstrInfo const &MCII, MCInst const &MCI);
87 iterator_range<MCInst::const_iterator> bundleInstructions(MCInst const &MCI);
90 size_t bundleSize(MCInst const &MCI);
94 MCContext &Context, MCInst &MCB,
99 MCInst *deriveDuplex(MCContext &Context, unsigned iClass, MCInst const &inst0,
100 MCInst const &inst1);
101 MCInst deriveExtender(MCInstrInfo const &MCII, MCInst const &Inst,
105 MCInst deriveSubInst(MCInst const &Inst);
108 MCInst const *extenderForIndex(MCInst const &MCB, size_t Index);
109 void extendIfNeeded(MCContext &Context, MCInstrInfo const &MCII, MCInst &MCB,
110 MCInst const &MCI);
113 unsigned getMemAccessSize(MCInstrInfo const &MCII, MCInst const &MCI);
116 unsigned getAddrMode(MCInstrInfo const &MCII, MCInst const &MCI);
118 MCInstrDesc const &getDesc(MCInstrInfo const &MCII, MCInst const &MCI);
121 unsigned getDuplexCandidateGroup(MCInst const &MI);
126 MCInst const &MCB);
132 unsigned short getExtendableOp(MCInstrInfo const &MCII, MCInst const &MCI);
136 MCInst const &MCI);
139 unsigned getExtentAlignment(MCInstrInfo const &MCII, MCInst const &MCI);
142 unsigned getExtentBits(MCInstrInfo const &MCII, MCInst const &MCI);
145 bool isExtentSigned(MCInstrInfo const &MCII, MCInst const &MCI);
149 int getMaxValue(MCInstrInfo const &MCII, MCInst const &MCI);
153 int getMinValue(MCInstrInfo const &MCII, MCInst const &MCI);
156 StringRef getName(MCInstrInfo const &MCII, MCInst const &MCI);
159 unsigned short getNewValueOp(MCInstrInfo const &MCII, MCInst const &MCI);
162 MCOperand const &getNewValueOperand(MCInstrInfo const &MCII, MCInst const &MCI);
163 unsigned short getNewValueOp2(MCInstrInfo const &MCII, MCInst const &MCI);
165 MCInst const &MCI);
168 unsigned getType(MCInstrInfo const &MCII, MCInst const &MCI);
173 MCInst const &MCI);
177 MCInst const &MCI);
179 MCSubtargetInfo const &STI, MCInst const &MCI);
180 bool hasDuplex(MCInstrInfo const &MCII, MCInst const &MCI);
183 bool hasExtenderForIndex(MCInst const &MCB, size_t Index);
185 bool hasImmExt(MCInst const &MCI);
188 bool hasNewValue(MCInstrInfo const &MCII, MCInst const &MCI);
189 bool hasNewValue2(MCInstrInfo const &MCII, MCInst const &MCI);
190 bool hasTmpDst(MCInstrInfo const &MCII, MCInst const &MCI);
193 int64_t minConstant(MCInst const &MCI, size_t Index);
195 bool inRange(MCInst const &MCI, size_t Index) {
199 bool inSRange(MCInst const &MCI, size_t Index) {
202 template <unsigned N> bool inRange(MCInst const &MCI, size_t Index) {
207 MCInst const &instruction(MCInst const &MCB, size_t Index);
208 bool isAccumulator(MCInstrInfo const &MCII, MCInst const &MCI);
210 // Returns whether this MCInst is a wellformed bundle
211 bool isBundle(MCInst const &MCI);
214 bool isCanon(MCInstrInfo const &MCII, MCInst const &MCI);
215 bool isCofMax1(MCInstrInfo const &MCII, MCInst const &MCI);
216 bool isCofRelax1(MCInstrInfo const &MCII, MCInst const &MCI);
217 bool isCofRelax2(MCInstrInfo const &MCII, MCInst const &MCI);
218 bool isCompound(MCInstrInfo const &MCII, MCInst const &MCI);
221 bool isConstExtended(MCInstrInfo const &MCII, MCInst const &MCI);
222 bool isCVINew(MCInstrInfo const &MCII, MCInst const &MCI);
228 bool isDuplex(MCInstrInfo const &MCII, MCInst const &MCI);
231 bool isDuplexPair(MCInst const &MIa, MCInst const &MIb);
237 bool isExtendable(MCInstrInfo const &MCII, MCInst const &MCI);
240 bool isExtended(MCInstrInfo const &MCII, MCInst const &MCI);
243 bool isFloat(MCInstrInfo const &MCII, MCInst const &MCI);
245 bool isHVX(MCInstrInfo const &MCII, MCInst const &MCI);
248 bool isImmext(MCInst const &MCI);
251 bool isInnerLoop(MCInst const &MCI);
258 bool isMemReorderDisabled(MCInst const &MCI);
261 bool isNewValue(MCInstrInfo const &MCII, MCInst const &MCI);
263 bool isNewValueStore(MCInstrInfo const &MCII, MCInst const &MCI);
264 bool isOpExtendable(MCInstrInfo const &MCII, MCInst const &MCI, unsigned short);
267 bool isOrderedDuplexPair(MCInstrInfo const &MCII, MCInst const &MIa,
268 bool ExtendedA, MCInst const &MIb, bool ExtendedB,
272 bool isOuterLoop(MCInst const &MCI);
275 bool isPredicated(MCInstrInfo const &MCII, MCInst const &MCI);
276 bool isPredicateLate(MCInstrInfo const &MCII, MCInst const &MCI);
277 bool isPredicatedNew(MCInstrInfo const &MCII, MCInst const &MCI);
280 bool isPredicatedTrue(MCInstrInfo const &MCII, MCInst const &MCI);
286 bool isPredRegister(MCInstrInfo const &MCII, MCInst const &Inst, unsigned I);
289 bool isPrefix(MCInstrInfo const &MCII, MCInst const &MCI);
292 bool isSolo(MCInstrInfo const &MCII, MCInst const &MCI);
295 bool isSoloAX(MCInstrInfo const &MCII, MCInst const &MCI);
298 bool isRestrictSlot1AOK(MCInstrInfo const &MCII, MCInst const &MCI);
299 bool isRestrictNoSlot1Store(MCInstrInfo const &MCII, MCInst const &MCI);
300 bool isSubInstruction(MCInst const &MCI);
301 bool isVector(MCInstrInfo const &MCII, MCInst const &MCI);
306 bool requiresSlot(MCSubtargetInfo const &STI, MCInst const &MCI);
317 MCInst const &MCI);
321 void padEndloop(MCInst &MCI, MCContext &Context);
332 PredicateInfo predicateInfo(MCInstrInfo const &MCII, MCInst const &MCI);
333 bool prefersSlot3(MCInstrInfo const &MCII, MCInst const &MCI);
336 void replaceDuplex(MCContext &Context, MCInst &MCI, DuplexCandidate Candidate);
340 void setInnerLoop(MCInst &MCI);
341 void setMemReorderDisabled(MCInst &MCI);
347 void setOuterLoop(MCInst &MCI);
350 bool subInstWouldBeExtended(MCInst const &potentialDuplex);
366 MCContext &Context, MCInst &MCI);