/builds/2mk6rsew/0/parcoach/parcoach/src/aSSA/Instrumentation.h
Line | Count | Source |
1 | | #pragma once |
2 | | |
3 | | #include "parcoach/CollListFunctionAnalysis.h" |
4 | | |
5 | | #include "llvm/Passes/PassBuilder.h" |
6 | | |
7 | | namespace llvm { |
8 | | class Function; |
9 | | } |
10 | | |
11 | | namespace parcoach { |
12 | | |
13 | | struct ParcoachInstrumentationPass |
14 | | : public llvm::PassInfoMixin<ParcoachInstrumentationPass> { |
15 | | static llvm::PreservedAnalyses run(llvm::Module &M, |
16 | | llvm::ModuleAnalysisManager &AM); |
17 | 5 | static bool isRequired() { return true; } |
18 | | }; |
19 | | |
20 | | struct CollectiveInstrumentation { |
21 | | CollectiveInstrumentation(WarningCollection const &); |
22 | | bool run(llvm::Function &F); |
23 | | |
24 | | private: |
25 | | WarningCollection const &Warnings; |
26 | | }; |
27 | | } // namespace parcoach |