diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-01-20 06:44:16 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-01-20 06:44:16 +0000 |
commit | e08eb9ca1dc832e0c8b460459fe218622f231898 (patch) | |
tree | ffa96a8fb5144c5bb6d00d857b15fb38e54a17cc /lib/CodeGen/SimpleRegisterCoalescing.h | |
parent | 20394494cc2ab9a08afc85a490523c50c388e8b3 (diff) | |
download | external_llvm-e08eb9ca1dc832e0c8b460459fe218622f231898.zip external_llvm-e08eb9ca1dc832e0c8b460459fe218622f231898.tar.gz external_llvm-e08eb9ca1dc832e0c8b460459fe218622f231898.tar.bz2 |
Refactor code. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SimpleRegisterCoalescing.h')
-rw-r--r-- | lib/CodeGen/SimpleRegisterCoalescing.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/CodeGen/SimpleRegisterCoalescing.h b/lib/CodeGen/SimpleRegisterCoalescing.h index 71a64a2..a4f0fa3 100644 --- a/lib/CodeGen/SimpleRegisterCoalescing.h +++ b/lib/CodeGen/SimpleRegisterCoalescing.h @@ -232,6 +232,20 @@ namespace llvm { bool HasIncompatibleSubRegDefUse(MachineInstr *CopyMI, unsigned VirtReg, unsigned PhysReg); + /// CanJoinExtractSubRegToPhysReg - Return true if it's possible to coalesce + /// an extract_subreg where dst is a physical register, e.g. + /// cl = EXTRACT_SUBREG reg1024, 1 + bool CanJoinExtractSubRegToPhysReg(MachineInstr *CopyMI, + unsigned DstReg, unsigned SrcReg, + unsigned SubIdx, unsigned &RealDstReg); + + /// CanJoinInsertSubRegToPhysReg - Return true if it's possible to coalesce + /// an insert_subreg where src is a physical register, e.g. + /// reg1024 = INSERT_SUBREG reg1024, c1, 0 + bool CanJoinInsertSubRegToPhysReg(MachineInstr *CopyMI, + unsigned DstReg, unsigned SrcReg, + unsigned SubIdx, unsigned &RealDstReg); + /// RangeIsDefinedByCopyFromReg - Return true if the specified live range of /// the specified live interval is defined by a copy from the specified /// register. |