ClearBlue
SEGBinaryWithIntConstNode.h
1 /*
2  * SEGBinaryWithIntNode.h
3  *
4  * Qingkai
5  *
6  * This node is to model a binary opcode, whose children are
7  * a seg operand node and a constant integer.
8  */
9 
10 #ifndef IR_SEG_SEGBINARYWITHINTCONSTNODE_H
11 #define IR_SEG_SEGBINARYWITHINTCONSTNODE_H
12 
13 #include <llvm/IR/BasicBlock.h>
14 
15 #include "IR/SEG/SymbolicExprGraph.h"
16 
17 using namespace llvm;
18 
20 private:
21  uint64_t IntConst;
22 
24  BasicBlock *BB, uint64_t Const, bool fromDisk);
25 
26  friend class SymbolicExprGraph;
27 
28 public:
29  virtual ~SEGBinaryWithIntConstNode();
30 
31  virtual void dot(raw_fd_ostream &O) const;
32 
33  uint64_t getIntConstant() const;
34 
35 public:
36  static bool classof(const SEGObject *N) {
37  return N->getKind() == SEGOBJK_BinaryWithIntConst;
38  }
39 };
40 
41 #endif
SymbolicExprGraph::dot
void dot(const char *FileName) const
Dot this graph to a file with filename.
Definition: SymbolicExprGraph.cpp:881
SEGOpcodeNode::CodeKind
CodeKind
Definition: SymbolicExprGraph.h:522
SymbolicExprGraph
Definition: SymbolicExprGraph.h:708
SEGObject
Definition: SymbolicExprGraph.h:76
SEGOpcodeNode
Definition: SymbolicExprGraph.h:519
SEGBinaryWithIntConstNode
Definition: SEGBinaryWithIntConstNode.h:19