summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcuda/gpgpu_context.h2
-rw-r--r--src/cuda-sim/ptx_ir.cc3
-rw-r--r--src/cuda-sim/ptx_ir.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/libcuda/gpgpu_context.h b/libcuda/gpgpu_context.h
index e168850..ed4f746 100644
--- a/libcuda/gpgpu_context.h
+++ b/libcuda/gpgpu_context.h
@@ -19,6 +19,7 @@ class gpgpu_context {
g_num_ptx_inst_uid = 0;
g_ptx_cta_info_uid = 1;
symbol_sm_next_uid = 1;
+ function_info_sm_next_uid = 1;
api = new cuda_runtime_api(this);
ptxinfo = new ptxinfo_data(this);
ptx_parser = new ptx_recognizer(this);
@@ -37,6 +38,7 @@ class gpgpu_context {
unsigned g_num_ptx_inst_uid; //uid for ptx inst inside ptx_instruction
unsigned long long g_ptx_cta_info_uid;
unsigned symbol_sm_next_uid; //uid for symbol
+ unsigned function_info_sm_next_uid;
// objects pointers for each file
cuda_runtime_api* api;
ptxinfo_data* ptxinfo;
diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc
index 3719fb2..5fa9379 100644
--- a/src/cuda-sim/ptx_ir.cc
+++ b/src/cuda-sim/ptx_ir.cc
@@ -1374,12 +1374,11 @@ operand_info ptx_instruction::get_pred() const
return operand_info( m_pred, gpgpu_ctx);
}
-unsigned function_info::sm_next_uid = 1;
function_info::function_info(int entry_point, gpgpu_context* ctx )
{
gpgpu_ctx = ctx;
- m_uid = sm_next_uid++;
+ m_uid = (gpgpu_ctx->function_info_sm_next_uid)++;
m_entry_point = (entry_point==1)?true:false;
m_extern = (entry_point==2)?true:false;
num_reconvergence_pairs = 0;
diff --git a/src/cuda-sim/ptx_ir.h b/src/cuda-sim/ptx_ir.h
index 2fbda1c..8fc0a06 100644
--- a/src/cuda-sim/ptx_ir.h
+++ b/src/cuda-sim/ptx_ir.h
@@ -873,7 +873,6 @@ private:
bool m_is_return_var;
bool m_is_non_arch_reg;
- static unsigned sm_next_uid;
unsigned get_uid();
};
@@ -1438,7 +1437,6 @@ private:
symbol_table *m_symtab;
static std::vector<ptx_instruction*> s_g_pc_to_insn; // a direct mapping from PC to instruction
- static unsigned sm_next_uid;
//parameter size for device kernels
int m_args_aligned_size;