diff options
| -rw-r--r-- | libcuda/gpgpu_context.h | 2 | ||||
| -rw-r--r-- | src/cuda-sim/ptx_ir.cc | 3 | ||||
| -rw-r--r-- | src/cuda-sim/ptx_ir.h | 2 |
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; |
