Files
SAPFOR/src/ParallelizationRegions/uniq_name_creator.h

27 lines
747 B
C
Raw Normal View History

2026-04-19 20:25:20 +03:00
#pragma once
#include <map>
#include <set>
#include <string>
#include "GraphCall/graph_calls.h"
class UniqueNameCreator
{
std::map<std::string, std::vector<FuncInfo*>> funcInfo;
std::set<std::string> allDeclarations;
bool declarationsAnalyzed = false;
std::map<const DIST::Array*, std::pair<std::string, std::string>> generatedNames;
static void GetSymbolsRec(SgExpression* exp, std::set<std::string>& add_to);
void FillDeclarations();
public:
UniqueNameCreator(const std::map<std::string, std::vector<FuncInfo*>>& allFuncInfo)
{
declarationsAnalyzed = false;
funcInfo = allFuncInfo;
}
void GetUniqueName(DIST::Array* array, std::string& array_name, std::string& common_block_name);
};