summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineRegisterInfo.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2014-12-10 01:12:10 +0000
committerMatthias Braun <matze@braunis.de>2014-12-10 01:12:10 +0000
commit3f1d8fdd33af8241bbd0ee0a2fa9d0d31eccd787 (patch)
tree67ffd6bed551e905735922c09ba298459cfd092c /llvm/lib/CodeGen/MachineRegisterInfo.cpp
parente62c2070927f1304d9bfa17fb5084b01acf5e68b (diff)
downloadbcm5719-llvm-3f1d8fdd33af8241bbd0ee0a2fa9d0d31eccd787.tar.gz
bcm5719-llvm-3f1d8fdd33af8241bbd0ee0a2fa9d0d31eccd787.zip
LiveInterval: Add support to track liveness of subregisters.
This code adds the required data structures. Algorithms to compute it follow. llvm-svn: 223877
Diffstat (limited to 'llvm/lib/CodeGen/MachineRegisterInfo.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineRegisterInfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineRegisterInfo.cpp b/llvm/lib/CodeGen/MachineRegisterInfo.cpp
index e9612f3cfde..c2fc4a7de46 100644
--- a/llvm/lib/CodeGen/MachineRegisterInfo.cpp
+++ b/llvm/lib/CodeGen/MachineRegisterInfo.cpp
@@ -391,6 +391,14 @@ MachineRegisterInfo::EmitLiveInCopies(MachineBasicBlock *EntryMBB,
}
}
+unsigned MachineRegisterInfo::getMaxLaneMaskForVReg(unsigned Reg) const
+{
+ // Lane masks are only defined for vregs.
+ assert(TargetRegisterInfo::isVirtualRegister(Reg));
+ const TargetRegisterClass &TRC = *getRegClass(Reg);
+ return TRC.getLaneMask();
+}
+
#ifndef NDEBUG
void MachineRegisterInfo::dumpUses(unsigned Reg) const {
for (MachineInstr &I : use_instructions(Reg))
OpenPOWER on IntegriCloud