diff --git a/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp b/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp --- a/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp +++ b/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp @@ -327,8 +327,9 @@ // update max pressure MaxPressure = max(AtMIPressure, MaxPressure); - for (const auto &MO : MI.defs()) { - if (!MO.isReg() || !Register::isVirtualRegister(MO.getReg()) || MO.isDead()) + for (const auto &MO : MI.operands()) { + if (!MO.isReg() || !MO.isDef() || + !Register::isVirtualRegister(MO.getReg()) || MO.isDead()) continue; auto Reg = MO.getReg(); @@ -403,8 +404,8 @@ LastTrackedMI = &*NextMI++; // Add new registers or mask bits. - for (const auto &MO : LastTrackedMI->defs()) { - if (!MO.isReg()) + for (const auto &MO : LastTrackedMI->operands()) { + if (!MO.isReg() || !MO.isDef()) continue; Register Reg = MO.getReg(); if (!Register::isVirtualRegister(Reg))