summaryrefslogtreecommitdiff
path: root/src/cuda-sim/instructions.cc
diff options
context:
space:
mode:
authorAmruth <[email protected]>2018-04-05 01:09:57 +0000
committerTor Aamodt <[email protected]>2018-04-05 01:09:57 +0000
commita17c466a9578f983c48704495566df5a373ff6ba (patch)
tree9856a74f2124d669bbd35daac4a346eacc526cd2 /src/cuda-sim/instructions.cc
parentdeee9038d3d67e60f106776be3dd0a846dd11df9 (diff)
parent69c57b077d6799f46ad43b99cc0e0049b7c43775 (diff)
Merged in amruth_s/apr2_gpgpusim (pull request #1)
Support for CDP
Diffstat (limited to 'src/cuda-sim/instructions.cc')
-rw-r--r--src/cuda-sim/instructions.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cuda-sim/instructions.cc b/src/cuda-sim/instructions.cc
index 5d97287..0025c52 100644
--- a/src/cuda-sim/instructions.cc
+++ b/src/cuda-sim/instructions.cc
@@ -1471,7 +1471,12 @@ void call_impl( const ptx_instruction *pI, ptx_thread_info *thread )
printf("GPGPU-Sim PTX: PDOM analysis already done for %s \n", target_func->get_name().c_str() );
} else {
printf("GPGPU-Sim PTX: finding reconvergence points for \'%s\'...\n", target_func->get_name().c_str() );
- target_func->do_pdom();
+ /*
+ * Some of the instructions like printf() gives the gpgpusim the wrong impression that it is a function call.
+ * As printf() doesnt have a body like functions do, doing pdom analysis for printf() causes a crash.
+ */
+ if (target_func->get_function_size() >0)
+ target_func->do_pdom();
target_func->set_pdom();
}