summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-01-21 08:18:03 +0000
committerOwen Anderson <resistor@mac.com>2009-01-21 08:18:03 +0000
commitfe48dfa0f21e4eb1e4414c6df2f95ea0cb3709df (patch)
treeb858351273d6a949da2c88a11acb12eddcf260a9 /llvm
parent3029b35faac0986a4b65229a1f1f1f235b1755f4 (diff)
downloadbcm5719-llvm-fe48dfa0f21e4eb1e4414c6df2f95ea0cb3709df.tar.gz
bcm5719-llvm-fe48dfa0f21e4eb1e4414c6df2f95ea0cb3709df.zip
I accidentally removed this check in an earlier commit, which cause breakage in the pre alloc splitter.
llvm-svn: 62678
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/CodeGen/PreAllocSplitting.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/PreAllocSplitting.cpp b/llvm/lib/CodeGen/PreAllocSplitting.cpp
index 3c8257f1dac..ca4f7ec6f2d 100644
--- a/llvm/lib/CodeGen/PreAllocSplitting.cpp
+++ b/llvm/lib/CodeGen/PreAllocSplitting.cpp
@@ -1219,6 +1219,10 @@ bool PreAllocSplitting::SplitRegLiveInterval(LiveInterval *LI) {
MachineInstr *DefMI = (ValNo->def != ~0U)
? LIs->getInstructionFromIndex(ValNo->def) : NULL;
+ // If this would create a new join point, do not split.
+ if (DefMI && createsNewJoin(LR, DefMI->getParent(), Barrier->getParent()))
+ return false;
+
// Find all references in the barrier mbb.
SmallPtrSet<MachineInstr*, 4> RefsInMBB;
for (MachineRegisterInfo::reg_iterator I = MRI->reg_begin(CurrLI->reg),
OpenPOWER on IntegriCloud