summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/VirtRegMap.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-06 18:15:18 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-06 18:15:18 +0000
commitbb4bdd89122761b95f75f118acdada663c94f232 (patch)
tree8b1fd3806b9bc9665e8159c256284e1c9c4228e2 /llvm/lib/CodeGen/VirtRegMap.cpp
parent4aed470376b6e7448f830838b9e58fe8d91c2af2 (diff)
downloadbcm5719-llvm-bb4bdd89122761b95f75f118acdada663c94f232.tar.gz
bcm5719-llvm-bb4bdd89122761b95f75f118acdada663c94f232.zip
Handle overlapping regunit intervals in LiveIntervals::addKillFlags().
We will soon allow virtual register live ranges to overlap regunit live ranges when the physreg is defined as a copy of the virtreg: %EAX = COPY %vreg5 FOO %vreg5 BAR %EAX<kill> There is no real interference since %vreg5 and %EAX have the same value where they overlap. This patch prevents addKillFlags from adding virtreg kill flags to FOO where the assigned physreg is overlapping the virtual register live range. llvm-svn: 163335
Diffstat (limited to 'llvm/lib/CodeGen/VirtRegMap.cpp')
-rw-r--r--llvm/lib/CodeGen/VirtRegMap.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/VirtRegMap.cpp b/llvm/lib/CodeGen/VirtRegMap.cpp
index a1cac7c5b2a..6343e8a3529 100644
--- a/llvm/lib/CodeGen/VirtRegMap.cpp
+++ b/llvm/lib/CodeGen/VirtRegMap.cpp
@@ -200,7 +200,7 @@ bool VirtRegRewriter::runOnMachineFunction(MachineFunction &fn) {
DEBUG(VRM->dump());
// Add kill flags while we still have virtual registers.
- LIS->addKillFlags();
+ LIS->addKillFlags(VRM);
// Live-in lists on basic blocks are required for physregs.
addMBBLiveIns();
OpenPOWER on IntegriCloud