#pragma once #include "ParRegions.h" #include "SgUtils.h" #include "errors.h" #include "graph_calls.h" void fillRegionIntervals(std::vector ®ions); void fillRegionArrays(std::vector ®ions, const std::map> &allFuncInfo, const std::map &commonBlocks); void fillRegionFunctions(std::vector ®ions, const std::map> &allFuncInfo); bool checkRegions(const std::vector ®ions, const std::map> &allFuncInfo, std::map> &SPF_messages); int printCheckRegions(const char *fileName, const std::vector ®ions, const std::map> &allFuncInfo); bool checkRegionsResolving(const std::vector ®ions, const std::map> &allFuncInfo, const std::map &commonBlocks, std::map> &SPF_messages, bool sharedMemoryParallelization); int resolveParRegions(std::vector& regions, const std::map>& allFuncInfo, std::map>& SPF_messages, bool sharedMemoryParallelization, std::map>>& copyDecls); void insertRealignsBeforeFragments(ParallelRegion* reg, SgFile* file, const std::set& distrArrays, const std::map>& arrayLinksByFuncCalls); std::pair copyArray(const std::pair& place, const DIST::Array* array, const std::vector& lines, const std::string& suffix, std::string& filename, std::map>>& newDeclsToInclude, std::map>>& copied);