ClearBlue
include
IR
SEG
SEGCastNode.h
1
/*
2
* SEGCastNode.h
3
*
4
* Qingkai
5
*
6
* This node is to model a cast operation.
7
*/
8
9
#ifndef IR_SEG_SEGCASTNODE_H
10
#define IR_SEG_SEGCASTNODE_H
11
12
#include <llvm/IR/BasicBlock.h>
13
14
#include "IR/SEG/SymbolicExprGraph.h"
15
16
using namespace
llvm;
17
18
class
SEGCastNode
:
public
SEGOpcodeNode
{
19
private
:
20
uint64_t OriginSize;
21
uint64_t TargetSize;
22
23
SEGCastNode
(
CodeKind
Opcode, Type *Ty,
SymbolicExprGraph
*SEG, BasicBlock *BB,
24
uint64_t OSz, uint64_t TSz,
bool
fromDisk);
25
26
friend
class
SymbolicExprGraph
;
27
28
public
:
29
virtual
~
SEGCastNode
();
30
31
virtual
void
dot
(raw_fd_ostream &O)
const
;
32
33
uint64_t getOriginSize()
const
;
34
35
uint64_t getTargetSize()
const
;
36
37
public
:
38
static
bool
classof(
const
SEGObject
*N) {
39
return
N->getKind() == SEGOBJK_Cast;
40
}
41
};
42
43
#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
SEGCastNode
Definition:
SEGCastNode.h:18
SymbolicExprGraph
Definition:
SymbolicExprGraph.h:708
SEGObject
Definition:
SymbolicExprGraph.h:76
SEGOpcodeNode
Definition:
SymbolicExprGraph.h:519
Generated by
1.8.17