#pragma once SgStatement* createStatFromExprs(const std::vector& exprs); void insertLoopTempalteDeclaration(SgFile* file, const DataDirective& dataDir, const std::vector& distrRules, const std::vector>& distrRulesSt, const DIST::Arrays& allArrays, const bool extractDir, const uint64_t regionId); void insertTempalteDeclarationToMainFile(SgFile* file, const DataDirective& dataDir, const std::map& templateDeclInIncludes, const std::vector& distrRules, const std::vector>& distrRulesSt, const DIST::Arrays& allArrays, const bool extractDir, const uint64_t regionId, const std::set& includedToThisFile); void insertDirectiveToFile(SgFile* file, const char* fin_name, const std::vector& toInsert, const bool extractDir, std::vector& messagesForFile); void insertDistributionToFile(SgFile* file, const char* fin_name, const DataDirective& dataDir, const std::set& distrArrays, const std::vector& distrRules, const std::vector>& distrRulesSt, const std::vector& alignRules, const std::map>& loopGraph, const DIST::Arrays& allArrays, DIST::GraphCSR& reducedG, std::map>>& commentsToInclude, std::map& templateDeclInIncludes, const bool extractDir, std::vector& messagesForFile, const std::map>& arrayLinksByFuncCalls, const std::map& funcsInFile, const uint64_t regionId, const std::set& allFileNames); void insertShadowSpecToFile(SgFile* file, const char* fin_name, const std::set& distrArrays, DIST::GraphCSR& reducedG, std::map>>& commentsToInclude, const bool extractDir, std::vector& messagesForFile, const std::map, std::pair>& declaredArrays); void insertDistributionToFile(const char* origFile, const char* outFile, const std::map>& commentsToInclude); void removeDvmDirectives(SgFile* file, const bool toComment); void insertDistributeDirsToParallelRegions(const std::vector* currLines, const std::vector& reDistrRulesBefore, const std::vector& reDistrRulesAfter, const std::vector& reAlignRules); void insertTemplateModuleUse(SgFile* file, const std::set& regNum, const std::map>& arrayLinksByFuncCalls); void removeStatementsFromAllproject(const std::set& variants); void correctTemplateModuleDeclaration(const std::string& folderName); void insertParallelDirs(SgFile* file, bool extract, std::vector& createdDirectives, std::vector& messages, std::map& templateDeclInIncludes, std::map>>& commentsToInclude, const std::vector& callGraph, const std::vector& parallelRegions, const std::map>& loopGraph, const std::set& allFileNames, const std::map>& arrayLinksByFuncCalls, const std::map, std::pair>& declaredArrays, const std::map>& tableOfUniqNamesByArray);