diff options
author | Dale Johannesen <dalej@apple.com> | 2010-03-05 00:02:59 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2010-03-05 00:02:59 +0000 |
commit | 999c188203b1a2013ab6682b7d9fc0fb400ac16c (patch) | |
tree | 24518a64cc329d5dbb4ae5cd2e75d5ff7d7ab76c /lib/CodeGen/BranchFolding.cpp | |
parent | b158692a10262233677057d7dd8f3044e93ee3ee (diff) | |
download | external_llvm-999c188203b1a2013ab6682b7d9fc0fb400ac16c.zip external_llvm-999c188203b1a2013ab6682b7d9fc0fb400ac16c.tar.gz external_llvm-999c188203b1a2013ab6682b7d9fc0fb400ac16c.tar.bz2 |
Fix some more places where dbg_value affected codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97765 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/BranchFolding.cpp')
-rw-r--r-- | lib/CodeGen/BranchFolding.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp index faf4d95..d94729a 100644 --- a/lib/CodeGen/BranchFolding.cpp +++ b/lib/CodeGen/BranchFolding.cpp @@ -334,7 +334,9 @@ static unsigned ComputeCommonTailLength(MachineBasicBlock *MBB1, unsigned TailLen = 0; while (I1 != MBB1->begin() && I2 != MBB2->begin()) { --I1; --I2; - if (!I1->isIdenticalTo(I2) || + // Don't merge debugging pseudos. + if (I1->isDebugValue() || I2->isDebugValue() || + !I1->isIdenticalTo(I2) || // FIXME: This check is dubious. It's used to get around a problem where // people incorrectly expect inline asm directives to remain in the same // relative order. This is untenable because normal compiler @@ -412,6 +414,8 @@ static unsigned EstimateRuntime(MachineBasicBlock::iterator I, MachineBasicBlock::iterator E) { unsigned Time = 0; for (; I != E; ++I) { + if (I->isDebugValue()) + continue; const TargetInstrDesc &TID = I->getDesc(); if (TID.isCall()) Time += 10; |