summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_ir.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-11-30 02:15:16 -0800
committerTor Aamodt <[email protected]>2010-11-30 02:15:16 -0800
commit52a638e84693fff528defbcbd24ecb58216baaba (patch)
tree34449df36f63267119cd048508810a101618fd39 /src/cuda-sim/ptx_ir.cc
parent7a47f9cd62902d960a989a920d882f3b77fe7b2a (diff)
integrate changes (makes code more modular, i would argue)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8179]
Diffstat (limited to 'src/cuda-sim/ptx_ir.cc')
-rw-r--r--src/cuda-sim/ptx_ir.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc
index b98e774..e52fccd 100644
--- a/src/cuda-sim/ptx_ir.cc
+++ b/src/cuda-sim/ptx_ir.cc
@@ -756,6 +756,8 @@ void function_info::print_idominators()
unsigned function_info::get_num_reconvergence_pairs()
{
if (!num_reconvergence_pairs) {
+ if( m_basic_blocks.size() == 0 )
+ return 0;
for (unsigned i=0; i< (m_basic_blocks.size()-1); i++) { //last basic block containing exit obviously won't have a pair
if (m_basic_blocks[i]->ptx_end->get_opcode() == BRA_OP) {
num_reconvergence_pairs++;
@@ -768,6 +770,8 @@ unsigned function_info::get_num_reconvergence_pairs()
void function_info::get_reconvergence_pairs(gpgpu_recon_t* recon_points)
{
unsigned idx=0; //array index
+ if( m_basic_blocks.size() == 0 )
+ return;
for (unsigned i=0; i< (m_basic_blocks.size()-1); i++) { //last basic block containing exit obviously won't have a pair
#ifdef DEBUG_GET_RECONVERG_PAIRS
printf("i=%d\n", i); fflush(stdout);