• Home
  • Raw
  • Download

Lines Matching refs:MachineInstr

121 inline static bool isLeaMem(const MachineInstr &MI, unsigned Op) {  in isLeaMem()
134 inline static bool isMem(const MachineInstr &MI, unsigned Op) { in isMem()
172 SmallVectorImpl<MachineInstr *> &CondBranches,
187 int getSPAdjust(const MachineInstr &MI) const override;
195 bool isCoalescableExtInstr(const MachineInstr &MI,
199 unsigned isLoadFromStackSlot(const MachineInstr &MI,
204 unsigned isLoadFromStackSlotPostFE(const MachineInstr &MI,
207 unsigned isStoreToStackSlot(const MachineInstr &MI,
212 unsigned isStoreToStackSlotPostFE(const MachineInstr &MI,
215 bool isReallyTriviallyReMaterializable(const MachineInstr &MI,
219 const MachineInstr &Orig,
230 bool classifyLEAReg(MachineInstr &MI, const MachineOperand &Src,
245 MachineInstr *convertToThreeAddress(MachineFunction::iterator &MFI,
246 MachineInstr &MI,
264 bool findCommutedOpIndices(MachineInstr &MI, unsigned &SrcOpIdx1,
289 bool findFMA3CommutedOpIndices(MachineInstr &MI, unsigned &SrcOpIdx1,
302 unsigned getFMA3OpcodeToCommuteOperands(MachineInstr &MI, unsigned SrcOpIdx1,
306 bool isUnpredicatedTerminator(const MachineInstr &MI) const override;
312 bool getMemOpBaseRegImmOfs(MachineInstr &LdSt, unsigned &BaseReg,
341 MachineInstr::mmo_iterator MMOBegin,
342 MachineInstr::mmo_iterator MMOEnd,
343 SmallVectorImpl<MachineInstr*> &NewMIs) const;
354 MachineInstr::mmo_iterator MMOBegin,
355 MachineInstr::mmo_iterator MMOEnd,
356 SmallVectorImpl<MachineInstr*> &NewMIs) const;
358 bool expandPostRAPseudo(MachineInstr &MI) const override;
366 MachineInstr *
367 foldMemoryOperandImpl(MachineFunction &MF, MachineInstr &MI,
375 MachineInstr *foldMemoryOperandImpl(
376 MachineFunction &MF, MachineInstr &MI, ArrayRef<unsigned> Ops,
377 MachineBasicBlock::iterator InsertPt, MachineInstr &LoadMI,
384 unfoldMemoryOperand(MachineFunction &MF, MachineInstr &MI, unsigned Reg,
386 SmallVectorImpl<MachineInstr *> &NewMIs) const override;
421 bool shouldScheduleAdjacent(MachineInstr &First,
422 MachineInstr &Second) const override;
442 bool hasLiveCondCodeDef(MachineInstr &MI) const;
451 getExecutionDomain(const MachineInstr &MI) const override;
453 void setExecutionDomain(MachineInstr &MI, unsigned Domain) const override;
456 getPartialRegUpdateClearance(const MachineInstr &MI, unsigned OpNum,
458 unsigned getUndefRegClearance(const MachineInstr &MI, unsigned &OpNum,
460 void breakPartialRegDependency(MachineInstr &MI, unsigned OpNum,
463 MachineInstr *foldMemoryOperandImpl(MachineFunction &MF, MachineInstr &MI,
482 const MachineInstr &DefMI, unsigned DefIdx,
483 const MachineInstr &UseMI,
490 bool isAssociativeAndCommutative(const MachineInstr &Inst) const override;
492 bool hasReassociableOperands(const MachineInstr &Inst,
495 void setSpecialOperandAttr(MachineInstr &OldMI1, MachineInstr &OldMI2,
496 MachineInstr &NewMI1,
497 MachineInstr &NewMI2) const override;
503 bool analyzeCompare(const MachineInstr &MI, unsigned &SrcReg,
510 bool optimizeCompareInstr(MachineInstr &CmpInstr, unsigned SrcReg,
521 MachineInstr *optimizeLoadInstr(MachineInstr &MI,
524 MachineInstr *&DefMI) const override;
544 MachineInstr *commuteInstructionImpl(MachineInstr &MI, bool NewMI,
549 MachineInstr *convertToThreeAddressWithLEA(unsigned MIOpc,
551 MachineInstr &MI,
556 MachineInstr *foldMemoryOperandCustom(MachineFunction &MF, MachineInstr &MI,
564 bool isFrameOperand(const MachineInstr &MI, unsigned int Op,