Lines Matching refs:MachineInstr
65 bool isTriviallyReMaterializable(const MachineInstr *MI,
80 virtual bool isReallyTriviallyReMaterializable(const MachineInstr *MI, in isReallyTriviallyReMaterializable()
91 bool isReallyTriviallyReMaterializableGeneric(const MachineInstr *MI,
110 virtual bool isCoalescableExtInstr(const MachineInstr &MI, in isCoalescableExtInstr()
121 virtual unsigned isLoadFromStackSlot(const MachineInstr *MI, in isLoadFromStackSlot()
129 virtual unsigned isLoadFromStackSlotPostFE(const MachineInstr *MI, in isLoadFromStackSlotPostFE()
141 virtual bool hasLoadFromStackSlot(const MachineInstr *MI, in hasLoadFromStackSlot()
152 virtual unsigned isStoreToStackSlot(const MachineInstr *MI, in isStoreToStackSlot()
160 virtual unsigned isStoreToStackSlotPostFE(const MachineInstr *MI, in isStoreToStackSlotPostFE()
171 virtual bool hasStoreToStackSlot(const MachineInstr *MI, in hasStoreToStackSlot()
185 const MachineInstr *Orig,
190 virtual void scheduleTwoAddrSource(MachineInstr *SrcMI, in scheduleTwoAddrSource()
191 MachineInstr *UseMI, in scheduleTwoAddrSource()
201 virtual MachineInstr *duplicate(MachineInstr *Orig,
214 virtual MachineInstr *
228 virtual MachineInstr *commuteInstruction(MachineInstr *MI,
234 virtual bool findCommutedOpIndices(MachineInstr *MI, unsigned &SrcOpIdx1,
242 virtual bool produceSameValue(const MachineInstr *MI0,
243 const MachineInstr *MI1,
424 virtual MachineInstr *emitFrameIndexDebugValue(MachineFunction &MF, in emitFrameIndexDebugValue()
438 MachineInstr* foldMemoryOperand(MachineBasicBlock::iterator MI,
445 MachineInstr* foldMemoryOperand(MachineBasicBlock::iterator MI,
447 MachineInstr* LoadMI) const;
453 virtual MachineInstr* foldMemoryOperandImpl(MachineFunction &MF, in foldMemoryOperandImpl()
454 MachineInstr* MI, in foldMemoryOperandImpl()
463 virtual MachineInstr* foldMemoryOperandImpl(MachineFunction &MF, in foldMemoryOperandImpl()
464 MachineInstr* MI, in foldMemoryOperandImpl()
466 MachineInstr* LoadMI) const { in foldMemoryOperandImpl()
474 bool canFoldMemoryOperand(const MachineInstr *MI,
480 virtual bool unfoldMemoryOperand(MachineFunction &MF, MachineInstr *MI, in unfoldMemoryOperand()
482 SmallVectorImpl<MachineInstr*> &NewMIs) const{ in unfoldMemoryOperand()
549 virtual bool isPredicated(const MachineInstr *MI) const { in isPredicated()
555 virtual bool isUnpredicatedTerminator(const MachineInstr *MI) const = 0;
560 bool PredicateInstruction(MachineInstr *MI,
574 virtual bool DefinesPredicate(MachineInstr *MI, in DefinesPredicate()
582 virtual bool isPredicable(MachineInstr *MI) const { in isPredicable()
595 virtual bool isSchedulingBoundary(const MachineInstr *MI,
621 virtual bool AnalyzeCompare(const MachineInstr *MI, in AnalyzeCompare()
629 virtual bool OptimizeCompareInstr(MachineInstr *CmpInstr, in OptimizeCompareInstr()
637 virtual bool FoldImmediate(MachineInstr *UseMI, MachineInstr *DefMI, in FoldImmediate()
645 const MachineInstr *MI) const;
661 const MachineInstr *DefMI, unsigned DefIdx,
662 const MachineInstr *UseMI, unsigned UseIdx) const;
672 const MachineInstr *DefMI, unsigned DefIdx, in getOutputLatency()
673 const MachineInstr *DepMI) const { in getOutputLatency()
681 const MachineInstr *MI,
699 const MachineInstr *DefMI, unsigned DefIdx, in hasHighOperandLatency()
700 const MachineInstr *UseMI, unsigned UseIdx) const { in hasHighOperandLatency()
708 const MachineInstr *DefMI, unsigned DefIdx) const;
712 bool verifyInstruction(const MachineInstr *MI, StringRef &ErrInfo) const { in verifyInstruction()
736 getExecutionDomain(const MachineInstr *MI) const { in getExecutionDomain()
745 virtual void setExecutionDomain(MachineInstr *MI, unsigned Domain) const {} in setExecutionDomain()
788 getPartialRegUpdateClearance(const MachineInstr *MI, unsigned OpNum, in getPartialRegUpdateClearance()
837 virtual MachineInstr *commuteInstruction(MachineInstr *MI,
839 virtual bool findCommutedOpIndices(MachineInstr *MI, unsigned &SrcOpIdx1,
841 virtual bool canFoldMemoryOperand(const MachineInstr *MI,
843 virtual bool hasLoadFromStackSlot(const MachineInstr *MI,
846 virtual bool hasStoreToStackSlot(const MachineInstr *MI,
849 virtual bool isUnpredicatedTerminator(const MachineInstr *MI) const;
850 virtual bool PredicateInstruction(MachineInstr *MI,
855 const MachineInstr *Orig,
857 virtual MachineInstr *duplicate(MachineInstr *Orig,
859 virtual bool produceSameValue(const MachineInstr *MI0,
860 const MachineInstr *MI1,
862 virtual bool isSchedulingBoundary(const MachineInstr *MI,