aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/Thumb2InstrInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-06-09 19:26:01 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-06-09 19:26:01 +0000
commit68fc2daf8fa446be04d2ed2b3cbb1b00c382458f (patch)
tree3e12cca4516e458f6afad39bf57dd77f0e54a7d5 /lib/Target/ARM/Thumb2InstrInfo.h
parentd64ba3ee62cc854218d9b76b9420493d82313d06 (diff)
downloadexternal_llvm-68fc2daf8fa446be04d2ed2b3cbb1b00c382458f.zip
external_llvm-68fc2daf8fa446be04d2ed2b3cbb1b00c382458f.tar.gz
external_llvm-68fc2daf8fa446be04d2ed2b3cbb1b00c382458f.tar.bz2
Allow target to place 2-address pass inserted copies in better spots. Thumb2 will use this to try to avoid breaking up IT blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105745 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Thumb2InstrInfo.h')
-rw-r--r--lib/Target/ARM/Thumb2InstrInfo.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/Thumb2InstrInfo.h b/lib/Target/ARM/Thumb2InstrInfo.h
index 2948770..3f233c4 100644
--- a/lib/Target/ARM/Thumb2InstrInfo.h
+++ b/lib/Target/ARM/Thumb2InstrInfo.h
@@ -50,6 +50,11 @@ public:
const TargetRegisterClass *RC,
const TargetRegisterInfo *TRI) const;
+ /// scheduleTwoAddrSource - Schedule the copy / re-mat of the source of the
+ /// two-addrss instruction inserted by two-address pass.
+ void scheduleTwoAddrSource(MachineInstr *SrcMI, MachineInstr *UseMI,
+ const TargetRegisterInfo &TRI) const;
+
/// getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As
/// such, whenever a client has an instance of instruction info, it should
/// always be able to get register info as well (through this method).