summaryrefslogtreecommitdiff
path: root/src/cuda-sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuda-sim')
-rw-r--r--src/cuda-sim/ptx_loader.h2
-rw-r--r--src/cuda-sim/ptx_parser.cc3
-rw-r--r--src/cuda-sim/ptx_parser.h3
-rw-r--r--src/cuda-sim/ptxinfo.y5
4 files changed, 7 insertions, 6 deletions
diff --git a/src/cuda-sim/ptx_loader.h b/src/cuda-sim/ptx_loader.h
index ee09e16..77f27c8 100644
--- a/src/cuda-sim/ptx_loader.h
+++ b/src/cuda-sim/ptx_loader.h
@@ -37,7 +37,7 @@ class ptxinfo_data{
char linebuf[PTXINFO_LINEBUF_SIZE];
unsigned col;
const char *g_ptxinfo_filename;
-
+ void ptxinfo_addinfo();
};
diff --git a/src/cuda-sim/ptx_parser.cc b/src/cuda-sim/ptx_parser.cc
index 2872b84..9094ec3 100644
--- a/src/cuda-sim/ptx_parser.cc
+++ b/src/cuda-sim/ptx_parser.cc
@@ -48,7 +48,6 @@ void set_ptx_warp_size(const struct core_config * warp_size)
g_shader_core_config=warp_size;
}
-static bool g_debug_ir_generation=false;
const char *g_filename;
// the program intermediate representation...
@@ -70,7 +69,7 @@ const char *decode_token( int type )
return g_ptx_token_decode[type].c_str();
}
-void read_parser_environment_variables()
+void ptx_recognizer::read_parser_environment_variables()
{
g_filename = getenv("PTX_SIM_KERNELFILE");
char *dbg_level = getenv("PTX_SIM_DEBUG");
diff --git a/src/cuda-sim/ptx_parser.h b/src/cuda-sim/ptx_parser.h
index 25c01fe..bc9a872 100644
--- a/src/cuda-sim/ptx_parser.h
+++ b/src/cuda-sim/ptx_parser.h
@@ -62,6 +62,7 @@ class ptx_recognizer {
g_error_detected = 0;
g_entry_func_param_index=0;
g_func_info = NULL;
+ g_debug_ir_generation=false;
}
// global list
yyscan_t scanner;
@@ -103,6 +104,7 @@ class ptx_recognizer {
unsigned g_entry_func_param_index;
function_info *g_func_info;
operand_info g_return_var;
+ bool g_debug_ir_generation;
// member function list
void init_directive_state();
@@ -169,6 +171,7 @@ class ptx_recognizer {
void start_inst_group();
void end_inst_group();
bool check_for_duplicates( const char *identifier );
+ void read_parser_environment_variables();
};
diff --git a/src/cuda-sim/ptxinfo.y b/src/cuda-sim/ptxinfo.y
index 00c81e0..b303958 100644
--- a/src/cuda-sim/ptxinfo.y
+++ b/src/cuda-sim/ptxinfo.y
@@ -29,7 +29,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%{
typedef void * yyscan_t;
-class ptxinfo_data;
+#include "ptx_loader.h"
%}
%define api.pure full
@@ -79,7 +79,6 @@ class ptxinfo_data;
static unsigned g_system;
int ptxinfo_lex(YYSTYPE * yylval_param, yyscan_t yyscanner, ptxinfo_data* ptxinfo);
void yyerror(yyscan_t yyscanner, ptxinfo_data* ptxinfo, const char* msg);
- void ptxinfo_addinfo();
void ptxinfo_function(const char *fname );
void ptxinfo_regs( unsigned nregs );
void ptxinfo_lmem( unsigned declared, unsigned system );
@@ -104,7 +103,7 @@ line: HEADER INFO COLON line_info
;
line_info: function_name
- | function_info { ptxinfo_addinfo(); }
+ | function_info { ptxinfo->ptxinfo_addinfo(); }
| gmem_info
;