#include <PTAType.h>
Definition at line 189 of file PTAType.h.
◆ const_iterator
◆ iterator
◆ TypeToVarsMapTy
◆ VarToTypeSetMapTy
◆ TypeSystem()
SVF::TypeSystem::TypeSystem |
( |
const PAG * |
pag | ) |
|
|
inline |
Constructor.
Definition at line 221 of file PTAType.h.
void translateLLVMTypeToPTAType(const PAG *pag)
◆ addTypeForVar() [1/2]
bool SVF::TypeSystem::addTypeForVar |
( |
NodeID |
var, |
|
|
const PTAType & |
type |
|
) |
| |
|
inline |
Add a ptatype for a var Return true if the ptatype is new for this var
Definition at line 243 of file PTAType.h.
248 TypeSet *typeSet = it->second;
249 return typeSet->addType(type);
253 TypeSet *typeSet =
new TypeSet;
254 typeSet->addType(type);
VarToTypeSetMapTy::iterator iterator
VarToTypeSetMapTy VarToTypeSetMap
◆ addTypeForVar() [2/2]
bool SVF::TypeSystem::addTypeForVar |
( |
NodeID |
var, |
|
|
const Type * |
type |
|
) |
| |
|
inline |
Add a ptatype for a var Return true if the ptatype is new for this var
Definition at line 262 of file PTAType.h.
bool addTypeForVar(NodeID var, const PTAType &type)
◆ addVarForType() [1/2]
void SVF::TypeSystem::addVarForType |
( |
NodeID |
var, |
|
|
const PTAType & |
type |
|
) |
| |
|
inline |
Definition at line 268 of file PTAType.h.
279 NodeBS &nodes = it->second;
TypeToVarsMapTy typeToVarsMap
llvm::SparseBitVector NodeBS
◆ addVarForType() [2/2]
void SVF::TypeSystem::addVarForType |
( |
NodeID |
var, |
|
|
const Type * |
type |
|
) |
| |
|
inline |
Definition at line 284 of file PTAType.h.
void addVarForType(NodeID var, const PTAType &type)
◆ begin() [1/2]
Iterators.
Definition at line 202 of file PTAType.h.
VarToTypeSetMapTy VarToTypeSetMap
◆ begin() [2/2]
Definition at line 210 of file PTAType.h.
VarToTypeSetMapTy VarToTypeSetMap
◆ end() [1/2]
Definition at line 206 of file PTAType.h.
VarToTypeSetMapTy VarToTypeSetMap
◆ end() [2/2]
Definition at line 214 of file PTAType.h.
VarToTypeSetMapTy VarToTypeSetMap
◆ getTypeSet()
Get a var's typeset.
Definition at line 234 of file PTAType.h.
VarToTypeSetMapTy::const_iterator const_iterator
VarToTypeSetMapTy VarToTypeSetMap
◆ getVarsForType()
Definition at line 296 of file PTAType.h.
TypeToVarsMapTy typeToVarsMap
◆ hasTypeSet()
bool SVF::TypeSystem::hasTypeSet |
( |
NodeID |
var | ) |
const |
|
inline |
Has typeset or not.
Definition at line 227 of file PTAType.h.
VarToTypeSetMapTy::const_iterator const_iterator
VarToTypeSetMapTy VarToTypeSetMap
◆ hasVarsForType()
bool SVF::TypeSystem::hasVarsForType |
( |
const PTAType & |
type | ) |
const |
|
inline |
Definition at line 290 of file PTAType.h.
292 TypeToVarsMapTy::const_iterator it =
typeToVarsMap.find(type);
TypeToVarsMapTy typeToVarsMap
◆ printTypeSystem()
void SVF::TypeSystem::printTypeSystem |
( |
| ) |
const |
|
inline |
Print each var's id and all its types.
Definition at line 306 of file PTAType.h.
313 const TypeSet *typeSet = it->second;
314 typeSet->dumpTypes();
VarToTypeSetMapTy::const_iterator const_iterator
raw_ostream & errs()
Overwrite llvm::errs()
VarToTypeSetMapTy VarToTypeSetMap
◆ translateLLVMTypeToPTAType()
void SVF::TypeSystem::translateLLVMTypeToPTAType |
( |
const PAG * |
pag | ) |
|
|
inlineprivate |
Definition at line 330 of file PTAType.h.
334 const PAGNode *pagNode = it->second;
335 if (pagNode->hasValue() ==
false)
338 const Value *value = pagNode->getValue();
339 const Type *valType = value->getType();
341 const Type *nodeType = valType;
343 if (
const GepValPN *gepvalnode = SVFUtil::dyn_cast<GepValPN>(pagNode))
345 nodeType = gepvalnode->getType();
347 else if (SVFUtil::isa<RetPN>(pagNode))
351 nodeType = funTy->getReturnType();
354 PTAType ptaType(nodeType);
bool addTypeForVar(NodeID var, const PTAType &type)
llvm::FunctionType FunctionType
llvm::PointerType PointerType
IDToNodeMapTy::const_iterator const_iterator
void addVarForType(NodeID var, const PTAType &type)
LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)
◆ allPTATypes
◆ typeToVarsMap
◆ VarToTypeSetMap
The documentation for this class was generated from the following file:
- /home/runner/work/SVF-1/SVF-1/include/MemoryModel/PTAType.h