parent
a8e8a7c976
commit
16e1c31da2
|
@ -21,7 +21,6 @@ namespace llvm {
|
|||
|
||||
class MCAsmInfo;
|
||||
class TargetRegisterClass;
|
||||
class TargetRegisterInfo;
|
||||
class LiveVariables;
|
||||
class CalleeSavedInfo;
|
||||
class SDNode;
|
||||
|
@ -226,6 +225,14 @@ public:
|
|||
virtual bool findCommutedOpIndices(MachineInstr *MI, unsigned &SrcOpIdx1,
|
||||
unsigned &SrcOpIdx2) const = 0;
|
||||
|
||||
/// isIdentical - Return true if two instructions are identical. This differs
|
||||
/// from MachineInstr::isIdenticalTo() in that it does not require the
|
||||
/// virtual destination registers to be the same. This is used by MachineLICM
|
||||
/// and other MI passes to perform CSE.
|
||||
virtual bool isIdentical(const MachineInstr *MI,
|
||||
const MachineInstr *Other,
|
||||
const MachineRegisterInfo *MRI) const = 0;
|
||||
|
||||
/// AnalyzeBranch - Analyze the branching code at the end of MBB, returning
|
||||
/// true if it cannot be understood (e.g. it's a switch dispatch or isn't
|
||||
/// implemented for a target). Upon success, this returns false and returns
|
||||
|
@ -510,6 +517,10 @@ public:
|
|||
MachineBasicBlock::iterator MI,
|
||||
unsigned DestReg, unsigned SubReg,
|
||||
const MachineInstr *Orig) const;
|
||||
virtual bool isIdentical(const MachineInstr *MI,
|
||||
const MachineInstr *Other,
|
||||
const MachineRegisterInfo *MRI) const;
|
||||
|
||||
virtual unsigned GetFunctionSizeInBytes(const MachineFunction &MF) const;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue