mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161542 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4e6966266a
commit
0c5f5f4916
@ -328,7 +328,10 @@ CountValue *HexagonHardwareLoops::getTripCount(MachineLoop *L) const {
|
||||
// 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();
|
||||
const MachineInstr *MI = IV_Opnd->getParent();
|
||||
if (L->contains(MI) && isCompareEqualsImm(MI)) {
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
|
@ -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) &&
|
||||
|
Loading…
Reference in New Issue
Block a user