9 #ifndef IR_SEG_SEGLOADMEMNODE_H
10 #define IR_SEG_SEGLOADMEMNODE_H
12 #include <llvm/IR/BasicBlock.h>
15 #include <unordered_map>
17 #include "IR/SEG/SymbolicExprGraph.h"
22 friend class SEGSerializer;
28 std::unordered_map<const SEGNodeBase *, SEGRegionNode *> MatchingConditions;
41 MatchingConditions[Node] = Cond;
46 auto It = MatchingConditions.find(Node);
47 if (It != MatchingConditions.end()) {
55 void dot(raw_fd_ostream &O)
const;
59 return N->getKind() == SEGOBJK_LoadMem;
void dot(const char *FileName) const
Dot this graph to a file with filename.
Definition: SymbolicExprGraph.cpp:881
Definition: SymbolicExprGraph.h:456
Definition: SymbolicExprGraph.h:708
void addMatchingCondition(const SEGNodeBase *Node, SEGRegionNode *Cond)
Definition: SEGLoadMemNode.h:40
SEGRegionNode * getMatchingCondition(const SEGNodeBase *Node) const
Get the condition of loaded value.
Definition: SEGLoadMemNode.h:45
Definition: SymbolicExprGraph.h:76
Definition: SEGRegionNode.h:34
Definition: SEGLoadMemNode.h:21
The node base of symbolic expression graph.
Definition: SymbolicExprGraph.h:244