Lines Matching refs:MachineInstr

185                            SmallVectorImpl<MachineInstr *> &NewMIs) const;
189 SmallVectorImpl<MachineInstr *> &NewMIs) const;
193 bool simplifyToLI(MachineInstr &MI, MachineInstr &DefMI,
194 unsigned OpNoForForwarding, MachineInstr **KilledDef) const;
197 bool transformToNewImmFormFedByAdd(MachineInstr &MI, MachineInstr &DefMI,
201 bool transformToImmFormFedByLI(MachineInstr &MI, const ImmInstrInfo &III,
203 MachineInstr &DefMI) const;
206 bool transformToImmFormFedByAdd(MachineInstr &MI, const ImmInstrInfo &III,
207 unsigned ConstantOpNo, MachineInstr &DefMI,
214 MachineInstr *getForwardingDefMI(MachineInstr &MI,
220 bool isUseMIElgibleForForwarding(MachineInstr &MI, const ImmInstrInfo &III,
222 bool isDefMIElgibleForForwarding(MachineInstr &DefMI,
227 const MachineInstr &DefMI,
232 const MachineInstr &DefMI,
233 const MachineInstr &MI, bool KillDefMI,
241 void reassociateFMA(MachineInstr &Root, unsigned Pattern,
242 SmallVectorImpl<MachineInstr *> &InsInstrs,
243 SmallVectorImpl<MachineInstr *> &DelInstrs,
246 generateLoadForNewConst(unsigned Idx, MachineInstr *MI, Type *Ty,
247 SmallVectorImpl<MachineInstr *> &InsInstrs) const;
261 MachineInstr *commuteInstructionImpl(MachineInstr &MI, bool NewMI,
268 bool isLoadFromConstantPool(MachineInstr *I) const;
269 const Constant *getConstantFromConstantPool(MachineInstr *I) const;
338 const MachineInstr &MI,
342 const MachineInstr &DefMI,
344 const MachineInstr &UseMI,
355 const MachineInstr &DefMI,
370 MachineInstr &Root, unsigned Pattern,
371 SmallVectorImpl<MachineInstr *> &InsInstrs,
372 SmallVectorImpl<MachineInstr *> &DelInstrs,
378 bool getFMAPatterns(MachineInstr &Root, SmallVectorImpl<unsigned> &Patterns,
386 bool getMachineCombinerPatterns(MachineInstr &Root,
401 finalizeInsInstrs(MachineInstr &Root, unsigned &Pattern,
402 SmallVectorImpl<MachineInstr *> &InsInstrs) const override;
404 bool isAssociativeAndCommutative(const MachineInstr &Inst,
420 void setSpecialOperandAttr(MachineInstr &MI, uint32_t Flags) const;
422 bool isCoalescableExtInstr(const MachineInstr &MI,
425 Register isLoadFromStackSlot(const MachineInstr &MI,
427 bool isReallyTriviallyReMaterializable(const MachineInstr &MI) const override;
428 Register isStoreToStackSlot(const MachineInstr &MI,
431 bool findCommutedOpIndices(const MachineInstr &MI, unsigned &SrcOpIdx1,
468 MachineInstr::MIFlag Flags = MachineInstr::NoFlags) const override;
483 MachineInstr::MIFlag Flags = MachineInstr::NoFlags) const override;
501 bool foldImmediate(MachineInstr &UseMI, MachineInstr &DefMI, Register Reg,
504 bool onlyFoldImmediate(MachineInstr &UseMI, MachineInstr &DefMI,
533 bool isPredicated(const MachineInstr &MI) const override;
535 bool isSchedulingBoundary(const MachineInstr &MI,
539 bool PredicateInstruction(MachineInstr &MI,
545 bool ClobbersPredicate(MachineInstr &MI, std::vector<MachineOperand> &Pred,
550 bool analyzeCompare(const MachineInstr &MI, Register &SrcReg,
554 bool optimizeCompareInstr(MachineInstr &CmpInstr, Register SrcReg,
562 bool getMemOperandWithOffsetWidth(const MachineInstr &LdSt,
567 bool optimizeCmpPostRA(MachineInstr &MI) const;
572 const MachineInstr &LdSt,
589 areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
590 const MachineInstr &MIb) const override;
595 unsigned getInstSizeInBytes(const MachineInstr &MI) const override;
606 bool expandVSXMemPseudo(MachineInstr &MI) const;
609 bool expandPostRAPseudo(MachineInstr &MI) const override;
614 bool isTOCSaveMI(const MachineInstr &MI) const;
636 bool convertToImmediateForm(MachineInstr &MI,
638 MachineInstr **KilledDef = nullptr) const;
639 bool foldFrameOffset(MachineInstr &MI) const;
640 bool combineRLWINM(MachineInstr &MI, MachineInstr **ToErase = nullptr) const;
641 bool isADDIInstrEligibleForFolding(MachineInstr &ADDIMI, int64_t &Imm) const;
642 bool isADDInstrEligibleForFolding(MachineInstr &ADDMI) const;
643 bool isImmInstrEligibleForFolding(MachineInstr &MI, unsigned &BaseReg,
647 bool isValidToBeChangedReg(MachineInstr *ADDMI, unsigned Index,
648 MachineInstr *&ADDIMI, int64_t &OffsetAddi,
651 void replaceInstrWithLI(MachineInstr &MI, const LoadImmediateInfo &LII) const;
652 void replaceInstrOperandWithImm(MachineInstr &MI, unsigned OpNo,
660 MachineInstr *getDefMIPostRA(unsigned Reg, MachineInstr &MI,
676 MachineInstr *