From bff810cc371a38f493d688c54f71013f5a7d53bf Mon Sep 17 00:00:00 2001 From: dhuth Date: Wed, 27 Aug 2014 09:52:06 -0600 Subject: Initial commit --- mem_mapping_utils.cc | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 mem_mapping_utils.cc (limited to 'mem_mapping_utils.cc') diff --git a/mem_mapping_utils.cc b/mem_mapping_utils.cc new file mode 100644 index 0000000..645fe59 --- /dev/null +++ b/mem_mapping_utils.cc @@ -0,0 +1,76 @@ +#include +#include +#include +#include "rose.h" +#include "mem_mapping_utils.hh" + +using namespace SageBuilder; +using namespace SageInterface; + +memory_mapping::memory_mapping (bool used, const char * array_name){ + this->mem_used = used; + this->add(array_name); +} + +texture_memory_mapping::texture_memory_mapping(bool used, const char* array_name) : memory_mapping(used, array_name) { } +constant_memory_mapping::constant_memory_mapping(bool used, const char* array_name) : memory_mapping(used, array_name) { } +//texture_memory_mapping::texture_memory_mapping (bool used, const char* array_name, int width, int height) { +// tex_mem_used = used; +// this->add(array_name, width, height); +//} + +void memory_mapping::add(const char * array_name) { + this->mapped_array_name.push_back(std::string(array_name)); + //std::vector ivec = std::vector(); + //dims[std::string(array_name)] = ivec; +} +//void texture_memory_mapping::add(const char* array_name, int width, int height) { +// tex_mapped_array_name.push_back(std::string(array_name)); +// std::vector ivec = std::vector(); +// ivec.push_back(width); +// ivec.push_back(height); +// dims[std::string(array_name)] = ivec; +//} + +bool memory_mapping::is_mem_used(){ + return this->mem_used; +} +bool memory_mapping::is_array_mapped(const char * array_name){ + + for( int i=0; imapped_symbol[std::string(array_name)] = sym; +} +void texture_memory_mapping::set_devptr_symbol(const char * array_name, SgVariableSymbol* sym) { + devptr_symbol[std::string(array_name)] = sym; +} +void memory_mapping::set_vardef(const char* array_name, VarDefs* vardef) { + this->vardefs[std::string(array_name)] = vardef; +} +SgVarRefExp* memory_mapping::get_mapped_symbol_exp(const char * array_name) { + return buildVarRefExp(this->mapped_symbol[std::string(array_name)]); +} +SgVarRefExp* texture_memory_mapping::get_devptr_symbol_exp(const char * array_name) { + return buildVarRefExp(devptr_symbol[std::string(array_name)]); +} +VarDefs* memory_mapping::get_vardef(const char* vardef_name) { + return this->vardefs[std::string(vardef_name)]; +} +//int texture_memory_mapping::get_dims(const char* array_name) { +// return (int)(dims[std::string(array_name)].size()); +//} +//int texture_memory_mapping::get_dim_length(const char* array_name, int dim) { +// return dims[std::string(array_name)][dim]; +//} +memory_mapping::memory_mapping() { + mem_used = false; +} +texture_memory_mapping::texture_memory_mapping() : memory_mapping() { } +constant_memory_mapping::constant_memory_mapping() : memory_mapping() { } + + -- cgit v1.2.3-70-g09d2