aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SimpleRegisterCoalescing.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-04-03 16:41:54 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-04-03 16:41:54 +0000
commit014c9ffceb8ec48f4b92828a0839d2a6e3edf6d8 (patch)
tree37826fa32ffa70f66afa38a74427f3fb999823e0 /lib/CodeGen/SimpleRegisterCoalescing.h
parenta31869970a34a76e43efff81fa863a6b250e9999 (diff)
downloadexternal_llvm-014c9ffceb8ec48f4b92828a0839d2a6e3edf6d8.tar.gz
external_llvm-014c9ffceb8ec48f4b92828a0839d2a6e3edf6d8.tar.bz2
external_llvm-014c9ffceb8ec48f4b92828a0839d2a6e3edf6d8.zip
- Turn copies of implicit_def into implicit_def instructions.
- Be smarter about coalescing copies from implicit_def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SimpleRegisterCoalescing.h')
-rw-r--r--lib/CodeGen/SimpleRegisterCoalescing.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/CodeGen/SimpleRegisterCoalescing.h b/lib/CodeGen/SimpleRegisterCoalescing.h
index cfac126607..453760a7e7 100644
--- a/lib/CodeGen/SimpleRegisterCoalescing.h
+++ b/lib/CodeGen/SimpleRegisterCoalescing.h
@@ -190,6 +190,12 @@ namespace llvm {
bool RemoveCopyByCommutingDef(LiveInterval &IntA, LiveInterval &IntB,
MachineInstr *CopyMI);
+ /// TurnCopyIntoImpDef - If source of the specified copy is an implicit def,
+ /// turn the copy into an implicit def.
+ bool TurnCopyIntoImpDef(MachineBasicBlock::iterator &I,
+ MachineBasicBlock *MBB,
+ unsigned DstReg, unsigned SrcReg);
+
/// isBackEdgeCopy - Returns true if CopyMI is a back edge copy.
///
bool isBackEdgeCopy(MachineInstr *CopyMI, unsigned DstReg);