summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_ir.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2012-07-18 13:10:00 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:33 -0700
commit896e5c9a34e1b1230a67fb714d8290cd6f7f979b (patch)
tree801c1e79f99388d9715f82992550eeba49f516cb /src/cuda-sim/ptx_ir.cc
parent9d4be38c4ef49b344e539bcd1f4ec1273d1d7759 (diff)
- print out instructions at branch divergence/reconvergence points (more informative)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13399]
Diffstat (limited to 'src/cuda-sim/ptx_ir.cc')
-rw-r--r--src/cuda-sim/ptx_ir.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc
index 50669b6..102ae40 100644
--- a/src/cuda-sim/ptx_ir.cc
+++ b/src/cuda-sim/ptx_ir.cc
@@ -783,14 +783,17 @@ void function_info::get_reconvergence_pairs(gpgpu_recon_t* recon_points)
fflush(stdout);
#endif
recon_points[idx].source_pc = m_basic_blocks[i]->ptx_end->get_PC();
+ recon_points[idx].source_inst = m_basic_blocks[i]->ptx_end;
#ifdef DEBUG_GET_RECONVERG_PAIRS
printf("\trecon_points[idx].source_pc=%d\n", recon_points[idx].source_pc);
#endif
if( m_basic_blocks[m_basic_blocks[i]->immediatepostdominator_id]->ptx_begin ) {
recon_points[idx].target_pc = m_basic_blocks[m_basic_blocks[i]->immediatepostdominator_id]->ptx_begin->get_PC();
+ recon_points[idx].target_inst = m_basic_blocks[m_basic_blocks[i]->immediatepostdominator_id]->ptx_begin;
} else {
// reconverge after function return
recon_points[idx].target_pc = -2;
+ recon_points[idx].target_inst = NULL;
}
#ifdef DEBUG_GET_RECONVERG_PAIRS
m_basic_blocks[m_basic_blocks[i]->immediatepostdominator_id]->ptx_begin->print_insn();