5 #ifndef CLEARBLUE_SEGMAPBASE_H
6 #define CLEARBLUE_SEGMAPBASE_H
8 #include <llvm/IR/Function.h>
9 #include <llvm/IR/Module.h>
10 #include <llvm/Support/raw_ostream.h>
12 #include <unordered_map>
14 #include "Analysis/CallGraph/CBCallGraph.h"
15 #include "IR/SEG/SymbolicExprGraph.h"
16 #include "Language/Spec/Memory.h"
20 class CBCallGraphWrapper;
25 std::unordered_map<const Function *, SymbolicExprGraph *>
SEGMap;
34 bool hasSEG(
const Function *F)
const;
37 bool isFuncBuildable(
const Function *F)
const;
41 std::unordered_map<const Function *, SymbolicExprGraph *>::iterator>
43 return {SEGMap.begin()};
48 std::unordered_map<const Function *, SymbolicExprGraph *>::iterator>
50 return {SEGMap.end()};
54 ExternalMemorySpec *MEM_SPEC =
nullptr;
55 CBCallGraphWrapper *CGWrapper =
nullptr;
58 #endif // CLEARBLUE_SEGMAPBASE_H
value_iterator< std::unordered_map< const Function *, SymbolicExprGraph * >::iterator > begin()
@iterating_object_class SymbolicExprGraph *
Definition: SEGMapBase.h:42
Definition: SEGMapBase.h:22
Definition: SymbolicExprGraph.h:710
value_iterator< std::unordered_map< const Function *, SymbolicExprGraph * >::iterator > end()
@iterating_object_class SymbolicExprGraph *
Definition: SEGMapBase.h:49
std::unordered_map< const Function *, SymbolicExprGraph * > SEGMap
SEG vector of functions.
Definition: SEGMapBase.h:25