diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-08 23:44:04 +0000 | 
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-08 23:44:04 +0000 | 
| commit | 978c1280a5ae3262fd872dacfab07610b250a235 (patch) | |
| tree | ffd1d897b80d156208a919188c505fe392d26547 /llvm/lib/Target/PowerPC | |
| parent | f71bc7b26742424691f887d204fb80c09e7deba6 (diff) | |
| download | bcm5719-llvm-978c1280a5ae3262fd872dacfab07610b250a235.tar.gz bcm5719-llvm-978c1280a5ae3262fd872dacfab07610b250a235.zip  | |
Don't use getNextOperandForReg().
This way of using getNextOperandForReg() was unlikely to work as
intended. We don't give any guarantees about the order of operands in
the use-def chains, so looking only at operands following a given
operand in the chain doesn't make sense.
llvm-svn: 161542
Diffstat (limited to 'llvm/lib/Target/PowerPC')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCCTRLoops.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp index f50f9b5a33c..2a2abb171fb 100644 --- a/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp +++ b/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp @@ -337,7 +337,10 @@ CountValue *PPCCTRLoops::getTripCount(MachineLoop *L,      // can get a useful trip count.  The trip count can      // be either a register or an immediate.  The location      // of the value depends upon the type (reg or imm). -    while ((IV_Opnd = IV_Opnd->getNextOperandForReg())) { +    for (MachineRegisterInfo::reg_iterator +         RI = MRI->reg_begin(IV_Opnd->getReg()), RE = MRI->reg_end(); +         RI != RE; ++RI) { +      IV_Opnd = &RI.getOperand();        bool SignedCmp;        MachineInstr *MI = IV_Opnd->getParent();        if (L->contains(MI) && isCompareEqualsImm(MI, SignedCmp) &&  | 

