Files
SAPFOR/src/Utils/module_utils.h

16 lines
1.3 KiB
C
Raw Normal View History

2025-02-13 16:37:24 +03:00
#pragma once
2025-05-11 09:17:16 +03:00
std::string correctSymbolModuleName(const std::string& origFull);
2025-03-11 15:24:36 +03:00
const std::set<SgSymbol*>& getModuleSymbols(SgStatement* func);
2025-02-13 16:37:24 +03:00
void getModulesAndFunctions(SgFile* file, std::vector<SgStatement*>& modulesAndFunctions);
void findModulesInFile(SgFile* file, std::vector<SgStatement*>& modules);
std::map<std::string, std::set<std::string>> createMapOfModuleUses(SgFile* file);
void fillModuleUse(SgFile* file, std::map<std::string, std::set<std::string>>& moduleUses, std::map<std::string, std::string>& moduleDecls);
void filterModuleUse(std::map<std::string, std::set<std::string>>& moduleUses, std::map<std::string, std::string>& moduleDecls);
2025-02-18 18:57:05 +03:00
SgSymbol* getNameInLocation(SgStatement* func, const std::string& varName, const std::string& locName);
SgSymbol* getNameInLocation(SgSymbol* curr, SgStatement* location);
2025-02-13 16:37:24 +03:00
void fillUsedModulesInFunction(SgStatement* st, std::vector<SgStatement*>& useStats);
void fillUseStatement(SgStatement* st, std::set<std::string>& useMod, std::map<std::string, std::vector<std::pair<SgSymbol*, SgSymbol*>>>& modByUse, std::map<std::string, std::vector<std::pair<SgSymbol*, SgSymbol*>>>& modByUseOnly);
void fixUseOnlyStmt(SgFile* file, const std::vector<ParallelRegion*>& regs);
std::map<std::string, std::set<SgSymbol*>> moduleRefsByUseInFunction(SgStatement* stIn);