diff options
| author | Mengchi Zhang <[email protected]> | 2019-06-10 11:42:33 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-06-10 11:42:33 -0400 |
| commit | 87a7893b5280baa8c64964fe3e4aa9c75369ade0 (patch) | |
| tree | f270b9f1caab2c405224c0168a8388299374bf51 /src/cuda-sim/ptx_parser.h | |
| parent | 2ea18072618e7fe4e541f84de7d8575998299a1c (diff) | |
| parent | 6f634718f6e1ddff8a9ec9da5de74856870b23c7 (diff) | |
Merge pull request #12 from echoedit/dev
Dev
Diffstat (limited to 'src/cuda-sim/ptx_parser.h')
| -rw-r--r-- | src/cuda-sim/ptx_parser.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/cuda-sim/ptx_parser.h b/src/cuda-sim/ptx_parser.h index fb1b7f2..c52fe20 100644 --- a/src/cuda-sim/ptx_parser.h +++ b/src/cuda-sim/ptx_parser.h @@ -29,6 +29,7 @@ #define ptx_parser_INCLUDED #include "../abstract_hardware_model.h" +#include "ptx_ir.h" extern const char *g_filename; extern int g_error_detected; @@ -44,7 +45,20 @@ class ptx_recognizer { scanner = NULL; g_size = -1; g_add_identifier_cached__identifier = NULL; + g_alignment_spec = -1; + g_var_type = NULL; + g_opcode = -1; + g_space_spec = undefined_space; + g_ptr_spec = undefined_space; + g_scalar_type_spec = -1; + g_vector_spec = -1; + g_extern_spec = 0; + g_func_decl = 0; + g_ident_add_uid = 0; + g_const_alloc = 1; + g_max_regs_per_thread = 0; } + // global list yyscan_t scanner; #define LINEBUF_SIZE (4*1024) char linebuf[LINEBUF_SIZE]; @@ -53,7 +67,31 @@ class ptx_recognizer { char *g_add_identifier_cached__identifier; int g_add_identifier_cached__array_dim; int g_add_identifier_cached__array_ident; + int g_alignment_spec; + // variable declaration stuff: + type_info *g_var_type; + // instruction definition stuff: + const symbol *g_pred; + int g_neg_pred; + int g_pred_mod; + symbol *g_label; + int g_opcode; + std::list<operand_info> g_operands; + std::list<int> g_options; + std::list<int> g_wmma_options; + std::list<int> g_scalar_type; + // type specifier stuff: + memory_space_t g_space_spec; + memory_space_t g_ptr_spec; + int g_scalar_type_spec; + int g_vector_spec; + int g_extern_spec; + int g_func_decl; + int g_ident_add_uid; + unsigned g_const_alloc; + unsigned g_max_regs_per_thread; + // member function list void init_directive_state(); void init_instruction_state(); void start_function( int entry_point ); |
