Commit 4332f1a4 authored by vpykhtin's avatar vpykhtin
Browse files

[AMDGPU] Fix GCN regpressure trackers for INLINEASM instructions.

Differential revision: https://reviews.llvm.org/D73338
parent af954e44
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -327,8 +327,9 @@ void GCNUpwardRPTracker::recede(const MachineInstr &MI) {
  // 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 @@ void GCNDownwardRPTracker::advanceToNext() {
  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))