OSDN Git Service
(root)
/
android-x86
/
external-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cd8e66a
)
Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping.
author
Owen Anderson
<resistor@mac.com>
Tue, 11 Nov 2008 22:11:27 +0000
(22:11 +0000)
committer
Owen Anderson
<resistor@mac.com>
Tue, 11 Nov 2008 22:11:27 +0000
(22:11 +0000)
This lets several failing tests get farther along, but doesn't completely fix any of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59086
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/CodeGen/PreAllocSplitting.cpp
patch
|
blob
|
history
diff --git
a/lib/CodeGen/PreAllocSplitting.cpp
b/lib/CodeGen/PreAllocSplitting.cpp
index
09f002a
..
f7d8ab0
100644
(file)
--- a/
lib/CodeGen/PreAllocSplitting.cpp
+++ b/
lib/CodeGen/PreAllocSplitting.cpp
@@
-618,6
+618,8
@@
PreAllocSplitting::ShrinkWrapLiveInterval(VNInfo *ValNo, MachineBasicBlock *MBB,
// Pred is the def bb and the def reaches other val#s, we must
// allow the value to be live out of the bb.
continue;
+ if (!CurrLI->liveAt(LIs->getMBBEndIdx(Pred)-1))
+ return;
ShrinkWrapLiveInterval(ValNo, Pred, MBB, DefMBB, Visited,
Uses, UseMIs, UseMBBs);
}