diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp b/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp index 3f013eb6024e..0e8e8338b46d 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp @@ -406,11 +406,10 @@ void ScheduleDAGInstrs::addVRegDefDeps(SUnit *SU, unsigned OperIdx) { // register in later operands. The lanes of other defs will now be live // after this instruction, so these should not be treated as killed by the // instruction even though they appear to be killed in this one operand. - for (int I = OperIdx + 1, E = MI->getNumOperands(); I != E; ++I) { - const MachineOperand &OtherMO = MI->getOperand(I); + for (const MachineOperand &OtherMO : + llvm::drop_begin(MI->operands(), OperIdx + 1)) if (OtherMO.isReg() && OtherMO.isDef() && OtherMO.getReg() == Reg) KillLaneMask &= ~getLaneMaskForMO(OtherMO); - } } // Clear undef flag, we'll re-add it later once we know which subregister |
