SVF
Classes | Namespaces | Macros | Typedefs
SVFBasicTypes.h File Reference
#include <llvm/ADT/SparseBitVector.h>
#include <llvm/Support/raw_ostream.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/ADT/StringMap.h>
#include <vector>
#include <list>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <deque>

Go to the source code of this file.

Classes

struct  SVF::Hash< T >
 provide extra hash function for std::pair handling More...
 
struct  SVF::Hash< std::pair< S, T > >
 
struct  SVF::Hash< T >
 provide extra hash function for std::pair handling More...
 
class  SVF::SVFValue
 
struct  std::hash< SVF::SmallVector< T, N > >
 Specialise hash for SmallVectors. More...
 

Namespaces

 SVF
 for isBitcode
 

Macros

#define DBOUT(TYPE, X)   DEBUG_WITH_TYPE(TYPE, X)
 LLVM debug macros, define type of your DEBUG model of each pass. More...
 
#define DOSTAT(X)   X
 
#define DOTIMESTAT(X)   X
 
#define DGENERAL   "general"
 General debug flag is for each phase of a pass, it is often in a colorful output format. More...
 
#define DPAGBuild   "pag"
 
#define DMemModel   "mm"
 
#define DMemModelCE   "mmce"
 
#define DCOMModel   "comm"
 
#define DDDA   "dda"
 
#define DDumpPT   "dumppt"
 
#define DRefinePT   "sbpt"
 
#define DCache   "cache"
 
#define DWPA   "wpa"
 
#define DMSSA   "mssa"
 
#define DInstrument   "ins"
 
#define DAndersen   "ander"
 
#define DSaber   "saber"
 
#define DMTA   "mta"
 
#define DCHA   "cha"
 
#define TIMEINTERVAL   1000
 
#define CLOCK_IN_MS()   (clock() / (CLOCKS_PER_SEC / TIMEINTERVAL))
 

Typedefs

typedef unsigned SVF::u32_t
 
typedef unsigned long long SVF::u64_t
 
typedef signed SVF::s32_t
 
typedef signed long SVF::Size_t
 
typedef u32_t SVF::NodeID
 
typedef u32_t SVF::EdgeID
 
typedef unsigned SVF::SymID
 
typedef unsigned SVF::CallSiteID
 
typedef unsigned SVF::ThreadID
 
typedef unsigned SVF::Version
 
typedef llvm::SparseBitVector SVF::NodeBS
 
typedef NodeBS SVF::PointsTo
 
typedef PointsTo SVF::AliasSet
 
template<typename Key , typename Hash = Hash<Key>, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<Key>>
using SVF::Set = std::unordered_set< Key, Hash, KeyEqual, Allocator >
 
template<typename Key , typename Value , typename Hash = Hash<Key>, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>>
using SVF::Map = std::unordered_map< Key, Value, Hash, KeyEqual, Allocator >
 
template<typename Key , typename Compare = std::less<Key>, typename Allocator = std::allocator<Key>>
using SVF::OrderedSet = std::set< Key, Compare, Allocator >
 
template<typename Key , typename Value , typename Compare = std::less<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>>
using SVF::OrderedMap = std::map< Key, Value, Compare, Allocator >
 
template<typename T , unsigned N>
using SVF::SmallVector = llvm::SmallVector< T, N >
 
typedef std::pair< NodeID, NodeID > SVF::NodePair
 
typedef std::pair< NodeID, Version > SVF::VersionedVar
 
typedef OrderedSet< NodeID > SVF::OrderedNodeSet
 
typedef Set< NodeID > SVF::NodeSet
 
typedef Set< NodePair > SVF::NodePairSet
 
typedef Map< NodePair, NodeID > SVF::NodePairMap
 
typedef std::vector< NodeID > SVF::NodeVector
 
typedef std::vector< EdgeID > SVF::EdgeVector
 
typedef std::stack< NodeID > SVF::NodeStack
 
typedef std::list< NodeID > SVF::NodeList
 
typedef std::deque< NodeID > SVF::NodeDeque
 
typedef SmallVector< u32_t, 16 > SVF::SmallVector16
 
typedef SmallVector< u32_t, 8 > SVF::SmallVector8
 
typedef NodeSet SVF::EdgeSet
 
typedef SmallVector16 SVF::CallStrCxt
 
typedef llvm::StringMap< u32_t > SVF::StringMap
 

Macro Definition Documentation

◆ CLOCK_IN_MS

#define CLOCK_IN_MS ( )    (clock() / (CLOCKS_PER_SEC / TIMEINTERVAL))

Definition at line 156 of file SVFBasicTypes.h.

◆ DAndersen

#define DAndersen   "ander"

Definition at line 146 of file SVFBasicTypes.h.

◆ DBOUT

#define DBOUT (   TYPE,
 
)    DEBUG_WITH_TYPE(TYPE, X)

LLVM debug macros, define type of your DEBUG model of each pass.

Definition at line 128 of file SVFBasicTypes.h.

◆ DCache

#define DCache   "cache"

Definition at line 142 of file SVFBasicTypes.h.

◆ DCHA

#define DCHA   "cha"

Definition at line 149 of file SVFBasicTypes.h.

◆ DCOMModel

#define DCOMModel   "comm"

Definition at line 138 of file SVFBasicTypes.h.

◆ DDDA

#define DDDA   "dda"

Definition at line 139 of file SVFBasicTypes.h.

◆ DDumpPT

#define DDumpPT   "dumppt"

Definition at line 140 of file SVFBasicTypes.h.

◆ DGENERAL

#define DGENERAL   "general"

General debug flag is for each phase of a pass, it is often in a colorful output format.

Definition at line 133 of file SVFBasicTypes.h.

◆ DInstrument

#define DInstrument   "ins"

Definition at line 145 of file SVFBasicTypes.h.

◆ DMemModel

#define DMemModel   "mm"

Definition at line 136 of file SVFBasicTypes.h.

◆ DMemModelCE

#define DMemModelCE   "mmce"

Definition at line 137 of file SVFBasicTypes.h.

◆ DMSSA

#define DMSSA   "mssa"

Definition at line 144 of file SVFBasicTypes.h.

◆ DMTA

#define DMTA   "mta"

Definition at line 148 of file SVFBasicTypes.h.

◆ DOSTAT

#define DOSTAT (   X)    X

Definition at line 129 of file SVFBasicTypes.h.

◆ DOTIMESTAT

#define DOTIMESTAT (   X)    X

Definition at line 130 of file SVFBasicTypes.h.

◆ DPAGBuild

#define DPAGBuild   "pag"

Definition at line 135 of file SVFBasicTypes.h.

◆ DRefinePT

#define DRefinePT   "sbpt"

Definition at line 141 of file SVFBasicTypes.h.

◆ DSaber

#define DSaber   "saber"

Definition at line 147 of file SVFBasicTypes.h.

◆ DWPA

#define DWPA   "wpa"

Definition at line 143 of file SVFBasicTypes.h.

◆ TIMEINTERVAL

#define TIMEINTERVAL   1000

Definition at line 155 of file SVFBasicTypes.h.