summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_sim.h
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-07-17 19:37:23 -0800
committerTor Aamodt <[email protected]>2010-07-17 19:37:23 -0800
commit7e755bb656b68cfb628fcc0424b1325c32cb5d61 (patch)
treea054761e438c5d1f27ee9f2c92e76f476bdcbe31 /src/cuda-sim/ptx_sim.h
parent619c0c87fd18a9b34d2bbcf9eb2711bbe07b8d9a (diff)
- added *implied* local memory stack pointer for functional execution
(still need to determine framesize during parsing, and need to support alternate mode were stack pointer is explicit register a la zev...) - define local param mapping to local memory for functional execution [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6875]
Diffstat (limited to 'src/cuda-sim/ptx_sim.h')
-rw-r--r--src/cuda-sim/ptx_sim.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cuda-sim/ptx_sim.h b/src/cuda-sim/ptx_sim.h
index 8a74168..d4bdf48 100644
--- a/src/cuda-sim/ptx_sim.h
+++ b/src/cuda-sim/ptx_sim.h
@@ -424,6 +424,10 @@ public:
void enable_debug_trace() { m_enable_debug_trace = true; }
+ unsigned get_local_mem_stack_pointer() const { return m_local_mem_stack_pointer; }
+ void push_local_mem_stack();
+ void pop_local_mem_stack();
+
public:
addr_t m_last_effective_address;
bool m_branch_taken;
@@ -464,8 +468,8 @@ private:
function_info *m_func_info;
std::list<stack_entry> m_callstack;
+ unsigned m_local_mem_stack_pointer;
- // typedef std::unordered_map<std::string,ptx_reg_t> reg_map_t;
typedef std::unordered_map<const symbol*,ptx_reg_t> reg_map_t;
std::list<reg_map_t> m_regs;