summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/abstract_hardware_model.cc')
-rw-r--r--src/abstract_hardware_model.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.cc b/src/abstract_hardware_model.cc
index 86427ad..ed1be65 100644
--- a/src/abstract_hardware_model.cc
+++ b/src/abstract_hardware_model.cc
@@ -48,6 +48,8 @@ void mem_access_t::init(gpgpu_context *ctx) {
m_uid = ++(gpgpu_ctx->sm_next_access_uid);
m_addr = 0;
m_req_size = 0;
+ m_source_wid = (unsigned)-1;
+ m_source_split_id = (unsigned)-1;
}
void warp_inst_t::issue(const active_mask_t &mask, unsigned warp_id,
@@ -191,6 +193,14 @@ void warp_inst_t::set_source_inst_on_sets(const inst_t *src) {
}
}
+void warp_inst_t::set_split_id_on_sets(unsigned split_id) {
+ for (unsigned s = 0; s < m_simd_sets.size(); s++) {
+ if (m_simd_sets[s].valid) {
+ m_simd_sets[s].split_id = split_id;
+ }
+ }
+}
+
void warp_inst_t::merge_simd_sets(
const std::vector<simd_set_info> &other_sets) {
assert(m_simd_sets.size() == other_sets.size());