[PATCH] D136860: [AMDGPU] Add EXPENSIVE_CHECK into GCNRPTracker::reset

Valery Pykhtin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 27 09:49:49 PDT 2022


vpykhtin created this revision.
vpykhtin added reviewers: rampitec, arsenm.
Herald added subscribers: kosarev, foad, kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, jvesely, kzhuravl.
Herald added a project: All.
vpykhtin requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

This would check if passed in live-ins registers match those calculated using LIS.

This check currently breaks 420 lit tests when enabled.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D136860

Files:
  llvm/lib/Target/AMDGPU/GCNRegPressure.cpp


Index: llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
+++ llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
@@ -260,6 +260,21 @@
   }
 
   MaxPressure = CurPressure = getRegPressure(*MRI, LiveRegs);
+
+  LLVM_DEBUG(dbgs() << "\nReset " << (After ? "after" : "before") << ": " << MI
+                    << print(LiveRegs, *MRI));
+#if defined(EXPENSIVE_CHECKS) && !defined(NDEBUG)
+  if (LiveRegsCopy) {
+    auto LISLRS =
+        After ? getLiveRegsAfter(MI, LIS) : getLiveRegsBefore(MI, LIS);
+    if (!isEqual(LISLRS, *LiveRegsCopy)) {
+      dbgs() << "RP mismatch: "
+             << reportMismatch(LISLRS, *LiveRegsCopy,
+                               MRI->getTargetRegisterInfo());
+      assert(false);
+    }
+  }
+#endif
 }
 
 void GCNUpwardRPTracker::reset(const MachineInstr &MI,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136860.471199.patch
Type: text/x-patch
Size: 895 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221027/33eccf90/attachment.bin>


More information about the llvm-commits mailing list