aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/IfConversion.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-06-28 20:26:00 +0000
committerJim Grosbach <grosbach@apple.com>2010-06-28 20:26:00 +0000
commitd459f457b8c855030217d878988062918dc71e13 (patch)
treea81683ce7e76bfa130d98524780264a106288b39 /lib/CodeGen/IfConversion.cpp
parent5d30e9dc64c4f359a343ce4ded4d09047422a240 (diff)
downloadexternal_llvm-d459f457b8c855030217d878988062918dc71e13.zip
external_llvm-d459f457b8c855030217d878988062918dc71e13.tar.gz
external_llvm-d459f457b8c855030217d878988062918dc71e13.tar.bz2
new, no longer brain-dead, r106907
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107060 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IfConversion.cpp')
-rw-r--r--lib/CodeGen/IfConversion.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/CodeGen/IfConversion.cpp b/lib/CodeGen/IfConversion.cpp
index ea4e68d..819d473 100644
--- a/lib/CodeGen/IfConversion.cpp
+++ b/lib/CodeGen/IfConversion.cpp
@@ -1228,10 +1228,17 @@ bool IfConverter::IfConvertDiamond(BBInfo &BBI, IfcvtKind Kind,
++DI2;
BBI1->NonPredSize -= NumDups1;
BBI2->NonPredSize -= NumDups1;
+
+ // Skip past the dups on each side separately since there may be
+ // differing dbg_value entries.
+ for (unsigned i = 0; i < NumDups1; ++DI1) {
+ if (!DI1->isDebugValue())
+ ++i;
+ }
while (NumDups1 != 0) {
- ++DI1;
++DI2;
- --NumDups1;
+ if (!DI2->isDebugValue())
+ --NumDups1;
}
UpdatePredRedefs(BBI1->BB->begin(), DI1, Redefs, TRI);