ClearBlue
SEGMapBase.h
1 //
2 // Created by sixiang on 7/22/24.
3 //
4 
5 #ifndef CLEARBLUE_SEGMAPBASE_H
6 #define CLEARBLUE_SEGMAPBASE_H
7 
8 #include <llvm/IR/Function.h>
9 #include <llvm/IR/Module.h>
10 #include <llvm/Support/raw_ostream.h>
11 
12 #include <unordered_map>
13 
14 #include "Analysis/CallGraph/CBCallGraph.h"
15 #include "IR/SEG/SymbolicExprGraph.h"
16 
17 using namespace llvm;
18 
19 class SEGMapBase {
20 public:
21  SEGMapBase();
22  ~SEGMapBase();
23 
24 public:
25  virtual SymbolicExprGraph *getSymbolicExprGraph(Function *F) = 0;
26  virtual SymbolicExprGraph *getSymbolicExprGraph(WrappedFunction *F) = 0;
27 
28 protected:
29  void buildLibraryCallGraph(Module &M, CBCallGraph &CBCG);
30 };
31 
32 #endif // CLEARBLUE_SEGMAPBASE_H
SEGMapBase
Definition: SEGMapBase.h:19
SymbolicExprGraph
Definition: SymbolicExprGraph.h:855