diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2009-11-07 04:07:30 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2009-11-07 04:07:30 +0000 |
| commit | 12749db1503c2beed58ddcfba5f1b323611fb2ce (patch) | |
| tree | 8488968a694d4fe7c28a2b5139982a4c103955cf /include | |
| parent | d457e6e9a5cd975baf4d1f0578382ab8373e6153 (diff) | |
| download | external_llvm-12749db1503c2beed58ddcfba5f1b323611fb2ce.zip external_llvm-12749db1503c2beed58ddcfba5f1b323611fb2ce.tar.gz external_llvm-12749db1503c2beed58ddcfba5f1b323611fb2ce.tar.bz2 | |
Missed this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86331 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
| -rw-r--r-- | include/llvm/Target/TargetInstrInfo.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h index 1d42c32..b16df5c 100644 --- a/include/llvm/Target/TargetInstrInfo.h +++ b/include/llvm/Target/TargetInstrInfo.h @@ -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; }; |
