diff options
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
-rw-r--r-- | llvm/lib/CodeGen/ModuloSchedule.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/ModuloSchedule.cpp b/llvm/lib/CodeGen/ModuloSchedule.cpp index af9fef0720f9..0bef513342ff 100644 --- a/llvm/lib/CodeGen/ModuloSchedule.cpp +++ b/llvm/lib/CodeGen/ModuloSchedule.cpp @@ -74,10 +74,7 @@ void ModuloScheduleExpander::expand() { // stage difference for each use. Keep the maximum value. for (MachineInstr *MI : Schedule.getInstructions()) { int DefStage = Schedule.getStage(MI); - for (const MachineOperand &Op : MI->operands()) { - if (!Op.isReg() || !Op.isDef()) - continue; - + for (const MachineOperand &Op : MI->all_defs()) { Register Reg = Op.getReg(); unsigned MaxDiff = 0; bool PhiIsSwapped = false; @@ -743,9 +740,7 @@ void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB, continue; } bool used = true; - for (const MachineOperand &MO : MI->operands()) { - if (!MO.isReg() || !MO.isDef()) - continue; + for (const MachineOperand &MO : MI->all_defs()) { Register reg = MO.getReg(); // Assume physical registers are used, unless they are marked dead. if (reg.isPhysical()) { |