#pragma once

#include <vector>
#include <map>
#include <set>

#include "range_structures.h"
#include "graph_loops.h"
#include "CFGraph/CFGraph.h"

int findPrivateArrays(std::map<std::string, std::vector<LoopGraph*>>& loopGraph, std::map<FuncInfo*, 
                      std::vector<SAPFOR::BasicBlock*>>& FullIR, std::set<SgStatement*>& insertedPrivates,
                      std::map<std::string, std::vector<Messages>>& SPF_messages,
                      const std::map<std::tuple<int, std::string, std::string>, std::pair<DIST::Array*, DIST::ArrayAccessInfo*>>& declaredArrays);
