diff options
| -rw-r--r-- | libcuda/Makefile | 4 | ||||
| -rw-r--r-- | libcuda/cuda_runtime_api.cc | 10 | ||||
| -rw-r--r-- | libcuda/cuobjdump.h | 22 | ||||
| -rw-r--r-- | libcuda/cuobjdump.l | 6 | ||||
| -rw-r--r-- | libcuda/cuobjdump.y | 8 | ||||
| -rw-r--r-- | src/gpgpu-sim/gpu-cache.h | 6 |
6 files changed, 27 insertions, 29 deletions
diff --git a/libcuda/Makefile b/libcuda/Makefile index c8ff2e3..13932e2 100644 --- a/libcuda/Makefile +++ b/libcuda/Makefile @@ -111,10 +111,10 @@ $(OUTPUT_DIR)/%.o: %.cc $(CPP) $(CXXFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@ $(OUTPUT_DIR)/%.o: %.c - $(CPP) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@ + $(CC) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@ $(OUTPUT_DIR)/%.o: $(OUTPUT_DIR)/%.c - $(CPP) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@ + $(CC) $(CCFLAGS) -I./ -I$(OUTPUT_DIR) -I$(CUDA_INSTALL_PATH)/include -c $< -o $@ $(OUTPUT_DIR)/cuobjdump_parser.c: cuobjdump.y $(YACC) $(YFLAGS) -p cuobjdump_ -o$@ $< --file-prefix=$(OUTPUT_DIR)/cuobjdump diff --git a/libcuda/cuda_runtime_api.cc b/libcuda/cuda_runtime_api.cc index 1d4e870..168c80f 100644 --- a/libcuda/cuda_runtime_api.cc +++ b/libcuda/cuda_runtime_api.cc @@ -1975,7 +1975,7 @@ typedef void * yyscan_t; #include "cuobjdump.h" extern int cuobjdump_lex_init(yyscan_t* scanner); extern void cuobjdump_set_in (FILE * _in_str ,yyscan_t yyscanner ); -extern int cuobjdump_parse(yyscan_t scanner, cuobjdump_parser* parser); +extern int cuobjdump_parse(yyscan_t scanner, struct cuobjdump_parser* parser); extern int cuobjdump_lex_destroy(yyscan_t scanner); //! Return the executable file of the process containing the PTX/SASS code @@ -2188,7 +2188,9 @@ void extract_code_using_cuobjdump(){ FILE *cuobjdump_in; cuobjdump_in = fopen(fname, "r"); - cuobjdump_parser parser; + struct cuobjdump_parser parser; + parser.elfserial = 1; + parser.ptxserial = 1; cuobjdump_lex_init(&(parser.scanner)); cuobjdump_set_in(cuobjdump_in, (parser.scanner)); cuobjdump_parse(parser.scanner, &parser); @@ -2242,7 +2244,9 @@ void extract_code_using_cuobjdump(){ std::cout << "Trying to parse " << libcodfn.str() << std::endl; FILE *cuobjdump_in; cuobjdump_in = fopen(libcodfn.str().c_str(), "r"); - cuobjdump_parser parser; + struct cuobjdump_parser parser; + parser.elfserial = 1; + parser.ptxserial = 1; cuobjdump_lex_init(&(parser.scanner)); cuobjdump_set_in(cuobjdump_in, (parser.scanner)); cuobjdump_parse(parser.scanner, &parser); diff --git a/libcuda/cuobjdump.h b/libcuda/cuobjdump.h index 61bf806..66cd736 100644 --- a/libcuda/cuobjdump.h +++ b/libcuda/cuobjdump.h @@ -1,18 +1,12 @@ #ifndef __cuobjdump_h__ #define __cuobjdump_h__ -class cuobjdump_parser { - - public: - yyscan_t scanner; - int elfserial; - int ptxserial; - FILE *ptxfile; - FILE *elffile; - FILE *sassfile; - char filename [1024]; - cuobjdump_parser() { - int elfserial = 1; - int ptxserial = 1; - } +struct cuobjdump_parser { + yyscan_t scanner; + int elfserial; + int ptxserial; + FILE *ptxfile; + FILE *elffile; + FILE *sassfile; + char filename [1024]; }; #endif /* __cuobjdump_h__ */ diff --git a/libcuda/cuobjdump.l b/libcuda/cuobjdump.l index 26fbb55..eccc1f2 100644 --- a/libcuda/cuobjdump.l +++ b/libcuda/cuobjdump.l @@ -39,9 +39,9 @@ #define YYDEBUG 1 -void cuobjdump_error(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg); +void cuobjdump_error(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg); #define YY_DECL int cuobjdump_lex \ - (YYSTYPE * yylval_param , yyscan_t yyscanner, cuobjdump_parser* parser) + (YYSTYPE * yylval_param , yyscan_t yyscanner, struct cuobjdump_parser* parser) %} %option stack @@ -159,7 +159,7 @@ newlines {newline}+ . cuobjdump_error(yyscanner, parser, "Invalid token"); %% -void cuobjdump_error(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg) +void cuobjdump_error(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; printf(" %s near \"%s\"",msg, yytext); diff --git a/libcuda/cuobjdump.y b/libcuda/cuobjdump.y index 9c0c28d..fcc863e 100644 --- a/libcuda/cuobjdump.y +++ b/libcuda/cuobjdump.y @@ -41,16 +41,16 @@ void setCuobjdumpsassfilename(const char* filename); %} %define api.pure full %parse-param {yyscan_t scanner} -%parse-param {cuobjdump_parser* parser} +%parse-param {struct cuobjdump_parser* parser} %lex-param {yyscan_t scanner} -%lex-param {cuobjdump_parser* parser} +%lex-param {struct cuobjdump_parser* parser} %union { char* string_value; } %{ -int yylex(YYSTYPE * yylval_param, yyscan_t yyscanner, cuobjdump_parser* parser); -void yyerror(yyscan_t yyscanner, cuobjdump_parser* parser, const char* msg); +int yylex(YYSTYPE * yylval_param, yyscan_t yyscanner, struct cuobjdump_parser* parser); +void yyerror(yyscan_t yyscanner, struct cuobjdump_parser* parser, const char* msg); %} %token <string_value> H_SEPARATOR H_ARCH H_CODEVERSION H_PRODUCER H_HOST H_COMPILESIZE H_IDENTIFIER H_UNKNOWN H_COMPRESSED %token <string_value> CODEVERSION diff --git a/src/gpgpu-sim/gpu-cache.h b/src/gpgpu-sim/gpu-cache.h index 85e534e..d11a7fd 100644 --- a/src/gpgpu-sim/gpu-cache.h +++ b/src/gpgpu-sim/gpu-cache.h @@ -681,15 +681,15 @@ public: // tag + index is required to check for hit/miss. Tag is now identical to the block address. //return addr >> (m_line_sz_log2+m_nset_log2); - return addr & ~(m_line_sz-1); + return addr & ~(new_addr_type)(m_line_sz-1); } new_addr_type block_addr( new_addr_type addr ) const { - return addr & ~(m_line_sz-1); + return addr & ~(new_addr_type)(m_line_sz-1); } new_addr_type mshr_addr( new_addr_type addr ) const { - return addr & ~(m_atom_sz-1); + return addr & ~(new_addr_type)(m_atom_sz-1); } enum mshr_config_t get_mshr_type() const { |
