From 2e2f1c89a6b296c9cb28c8e8b0fabb670b4ba3f7 Mon Sep 17 00:00:00 2001 From: Davit Grigoryan Date: Mon, 27 Apr 2026 06:39:20 +0000 Subject: fix co-issue scheduling pc assertions --- src/abstract_hardware_model.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/abstract_hardware_model.h') diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h index 369459b..6ce1871 100644 --- a/src/abstract_hardware_model.h +++ b/src/abstract_hardware_model.h @@ -1508,6 +1508,18 @@ class warp_inst_t : public inst_t { unsigned get_schd_id() const { return m_scheduler_id; } active_mask_t get_warp_active_mask() const { return m_warp_active_mask; } + // Debug-only path tag for the pc==inst.pc assertion investigation. + // 0 = primary issue + // 1 = co-issue intra (same warp, sibling split) + // 2 = co-issue inter (different warp) + // 3 = co-issue MEM (mem-coissue path) + unsigned get_dbg_path() const { return m_dbg_path; } + void set_dbg_path(unsigned p) { m_dbg_path = p; } + int get_dbg_split_id() const { return m_dbg_split_id; } + void set_dbg_split_id(int s) { m_dbg_split_id = s; } + const void *get_dbg_source_inst() const { return m_dbg_source_inst; } + void set_dbg_source_inst(const void *p) { m_dbg_source_inst = p; } + protected: unsigned m_uid; unsigned long long m_streamID; @@ -1550,6 +1562,11 @@ class warp_inst_t : public inst_t { // SIMD lane partitioning data std::vector m_simd_sets; + // Debug-only fields for pc==inst.pc assertion investigation + unsigned m_dbg_path = 0; + int m_dbg_split_id = -1; + const void *m_dbg_source_inst = NULL; + // Jin: cdp support public: int m_is_cdp; -- cgit v1.3