Lines Matching refs:MachineInstr

48   unsigned GetInstSizeInBytes(const MachineInstr *MI) const;
50 bool isAsCheapAsAMove(const MachineInstr *MI) const override;
52 bool isCoalescableExtInstr(const MachineInstr &MI, unsigned &SrcReg,
56 areMemAccessesTriviallyDisjoint(MachineInstr *MIa, MachineInstr *MIb,
59 unsigned isLoadFromStackSlot(const MachineInstr *MI,
61 unsigned isStoreToStackSlot(const MachineInstr *MI,
66 bool hasShiftedReg(const MachineInstr *MI) const;
70 bool hasExtendedReg(const MachineInstr *MI) const;
73 bool isGPRZero(const MachineInstr *MI) const;
76 bool isGPRCopy(const MachineInstr *MI) const;
79 bool isFPRCopy(const MachineInstr *MI) const;
84 bool isScaledAddr(const MachineInstr *MI) const;
88 bool isLdStPairSuppressed(const MachineInstr *MI) const;
91 void suppressLdStPair(MachineInstr *MI) const;
93 bool getMemOpBaseRegImmOfs(MachineInstr *LdSt, unsigned &BaseReg,
97 bool getMemOpBaseRegImmOfsWidth(MachineInstr *LdSt, unsigned &BaseReg,
103 bool shouldClusterLoads(MachineInstr *FirstLdSt, MachineInstr *SecondLdSt,
106 bool shouldScheduleAdjacent(MachineInstr *First,
107 MachineInstr *Second) const override;
109 MachineInstr *emitFrameIndexDebugValue(MachineFunction &MF, int FrameIx,
132 MachineInstr *foldMemoryOperandImpl(MachineFunction &MF, MachineInstr *MI,
157 bool analyzeCompare(const MachineInstr *MI, unsigned &SrcReg,
162 bool optimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg,
165 bool optimizeCondBranch(MachineInstr *MI) const override;
169 bool getMachineCombinerPatterns(MachineInstr &Root,
176 MachineInstr &Root, MachineCombinerPattern Pattern,
177 SmallVectorImpl<MachineInstr *> &InsInstrs,
178 SmallVectorImpl<MachineInstr *> &DelInstrs,
205 MachineInstr::MIFlag = MachineInstr::NoFlags,
211 bool rewriteAArch64FrameIndex(MachineInstr &MI, unsigned FrameRegIdx,
236 int isAArch64FrameOffsetLegal(const MachineInstr &MI, int &Offset,