diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-06-07 21:28:55 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-06-07 21:28:55 +0000 |
commit | 66f360e990fd54ba1ea02e1ad66e2551cdb519af (patch) | |
tree | 8796800fdd9d32e2aaf7a00299807a48c0afb1b8 /lib/CodeGen/IfConversion.cpp | |
parent | 4d541e44242bbeb71d2a7f862f909a92ee15723d (diff) | |
download | external_llvm-66f360e990fd54ba1ea02e1ad66e2551cdb519af.zip external_llvm-66f360e990fd54ba1ea02e1ad66e2551cdb519af.tar.gz external_llvm-66f360e990fd54ba1ea02e1ad66e2551cdb519af.tar.bz2 |
Cleanup. Process the dbg_values separately
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105554 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/IfConversion.cpp')
-rw-r--r-- | lib/CodeGen/IfConversion.cpp | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/lib/CodeGen/IfConversion.cpp b/lib/CodeGen/IfConversion.cpp index 2e630f7..7fa07da 100644 --- a/lib/CodeGen/IfConversion.cpp +++ b/lib/CodeGen/IfConversion.cpp @@ -514,15 +514,14 @@ bool IfConverter::ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI, MachineBasicBlock::iterator TI = TrueBBI.BB->begin(); MachineBasicBlock::iterator FI = FalseBBI.BB->begin(); - while (1) { - if (TI == TrueBBI.BB->end() || FI == FalseBBI.BB->end()) - break; - // Skip dbg_value instructions - if (TI->isDebugValue()) - ++TI; - if (FI->isDebugValue()) - ++FI; - + MachineBasicBlock::iterator TIE = TrueBBI.BB->end(); + MachineBasicBlock::iterator FIE = FalseBBI.BB->end(); + // Skip dbg_value instructions + while (TI != TIE && TI->isDebugValue()) + ++TI; + while (FI != FIE && FI->isDebugValue()) + ++FI; + while (TI != TIE && FI != FIE) { if (!TI->isIdenticalTo(FI)) break; ++Dups1; @@ -532,15 +531,14 @@ bool IfConverter::ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI, TI = firstNonBranchInst(TrueBBI.BB, TII); FI = firstNonBranchInst(FalseBBI.BB, TII); - while (1) { - if (TI == TrueBBI.BB->begin() || FI == FalseBBI.BB->begin()) - break; - // Skip dbg_value instructions - if (TI->isDebugValue()) - --TI; - if (FI->isDebugValue()) - --FI; - + MachineBasicBlock::iterator TIB = TrueBBI.BB->begin(); + MachineBasicBlock::iterator FIB = FalseBBI.BB->begin(); + // Skip dbg_value instructions + while (TI != TIB && TI->isDebugValue()) + --TI; + while (FI != FIB && FI->isDebugValue()) + --FI; + while (TI != TIB && FI != FIB) { if (!TI->isIdenticalTo(FI)) break; ++Dups2; |