Coverage Report

Created: 2023-10-30 17:15

/builds/2mk6rsew/0/parcoach/parcoach/src/include/parcoach/CollListLoopAnalysis.h
Line
Count
Source
1
#pragma once
2
3
#include "parcoach/CFGVisitors.h"
4
5
#include "llvm/IR/PassManager.h"
6
#include "llvm/IR/ValueMap.h"
7
8
namespace llvm {
9
class Function;
10
}
11
12
class PTACallGraph;
13
14
namespace parcoach {
15
16
struct LoopCFGInfo {
17
  LoopAggretationInfo LAI;
18
  CollectiveList::CommToBBToCollListMap CommToBBToCollList;
19
#ifndef NDEBUG
20
  void dump() const;
21
#endif
22
};
23
24
struct CollListLoopAnalysis {
25
  CollListLoopAnalysis(PTACallGraph const &CG,
26
                       llvm::SmallPtrSetImpl<llvm::Value *> const &Comms)
27
1.76k
      : PTACG(CG), Communicators(Comms) {}
28
  PTACallGraph const &PTACG;
29
  llvm::SmallPtrSetImpl<llvm::Value *> const &Communicators;
30
  LoopCFGInfo run(llvm::Function &F, llvm::FunctionAnalysisManager &);
31
};
32
} // namespace parcoach